Trestle MCP
MCP server to easily use compliance-trestle for OSCAL compliance workflows from any MCP-compliant client.
README
Trestle MCP
MCP server to easily use compliance-trestle (OSCAL tool) from Claude, Roo, or any MCP-compliant client.
mcp-name: io.github.oscal-compass/compliance-trestle-mcp
Getting Started
This project can be used in the following two ways:
- Usage from Coding Agent (Roo Code): Use Trestle-MCP from Roo Code via MCP.
- Usage from CLI (MCP Client): Invoke Trestle-MCP directly using an MCP CLI client.
Choose the option that best fits your workflow.
Usage from RooCode
-
Add the following JSON to
.roo/mcp.json(Roo workspace):{ "mcpServers": { "trestle": { "command": "uvx", "args": ["--from", "compliance-trestle-mcp", "trestle-mcp"] } } } -
Open Roo, confirm
trestletools are listed in the MCP panel, and execute as needed.https://github.com/user-attachments/assets/59215549-cad9-4101-baa4-ecba77ac3904
Usage from CLI (MCP Client)
Step 1: Write your mcp.json config
{
"mcpServers": {
"trestle": {
"command": "uvx",
"args": ["--from", "./trestle-mcp-tmp", "trestle-mcp"]
}
}
}
Save this as mcp.json in your current directory.
Step 2: List Available Tools
uvx mcp-cli tools --config-file mcp.json
Sample output (tools available):
6 Available Tools
┌─────────┬─────────────────────────────────┬───────────────────────────────────────────────────────────────────┐
│ Server │ Tool │ Description │
├─────────┼─────────────────────────────────┼───────────────────────────────────────────────────────────────────┤
│ trestle │ trestle_init │ Initialize a trestle working directory. │
│ trestle │ trestle_import │ Import an existing OSCAL model into the trestle workspace. │
│ trestle │ trestle_author_catalog_generate │ Generate Catalog controls in markdown form from a catalog │
│ trestle │ trestle_author_profile_generate │ Generate markdown documentation set for controls defined in profile│
│ trestle │ trestle_author_profile_resolve │ Resolve an OSCAL profile to a resolved profile catalog. │
│ trestle │ trestle_author_profile_assemble │ Assemble markdown controls into a Profile JSON file. │
└─────────┴─────────────────────────────────┴───────────────────────────────────────────────────────────────────┘
Step 3: Execute a Tool (e.g., trestle_init)
Start MCP interactive shell:
uvx mcp-cli interactive --config-file mcp.json
Then run, for example:
> execute trestle_init '{"params": {}}'
Typical result:
✓ ✅ Tool executed successfully
{
"result": {
...
"content": [
{
"type": "text",
"text": "✅ Trestle workspace initialized successfully"
}
]
}
}
You'll see folders as follows:
assessment-plans catalogs plan-of-action-and-milestones system-security-plans
assessment-results component-definitions profiles
Tool List & Quick Reference
trestle_init: Initialize a trestle workspacetrestle_import: Import OSCAL models (Catalog/Profile/etc.) from a file or URLtrestle_author_catalog_generate: Generate markdown controls from a catalogtrestle_author_profile_generate: Generate markdown for profilestrestle_author_profile_resolve: Resolve profile to catalogtrestle_author_profile_assemble: Assemble markdown controls into profile JSON
For advanced use, refer to official compliance-trestle docs or developer documents in this repo.
Troubleshooting & Help
- Make sure uvx is installed and on your PATH.
- If you see command/module errors, check the MCP server path in
mcp.jsonis correct.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.