io.github.oscal-compass/compliance-trestle-mcp

Official registry Productivity

An MCP server that provides tools to author OSCAL security compliance documentation

What can you do with io.github.oscal-compass/compliance-trestle-mcp?

  • trestle_init: Initialize a trestle workspace
  • trestle_import: Import OSCAL models (Catalog/Profile/etc.) from a file or URL
  • trestle_author_catalog_generate: Generate markdown controls from a catalog
  • trestle_author_profile_generate: Generate markdown for profiles
  • trestle_author_profile_resolve: Resolve profile to catalog
  • trestle_author_profile_assemble: Assemble markdown controls into profile JSON
  • trestle_task_csv_to_oscal_cd: Convert a CSV mapping file into an OSCAL component definition
  • trestle_task_xlsx_to_oscal_poam: Convert a FedRAMP-format XLSX spreadsheet into an OSCAL Plan of Action and Milestones (POA&M)

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package compliance-trestle-mcp
Claude Code
claude mcp add compliance-trestle-mcp -- uvx compliance-trestle-mcp==0.1.2
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "compliance-trestle-mcp": {
            "command": "uvx",
            "args": [
                "compliance-trestle-mcp==0.1.2"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Trestle MCP
  2. Getting Started
  3. Usage from RooCode
  4. Usage from CLI (MCP Client)
  5. Tool List & Quick Reference
  6. Troubleshooting & Help

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:

Choose the option that best fits your workflow.

Usage from RooCode

  1. Add the following JSON to .roo/mcp.json (Roo workspace):
      {
          "mcpServers": {
              "trestle": {
                  "command": "uvx",
                  "args": ["--from", "compliance-trestle-mcp", "trestle-mcp"]
              }
          }
      }
  2. Open Roo, confirm trestle tools 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 workspace
  • trestle_import: Import OSCAL models (Catalog/Profile/etc.) from a file or URL
  • trestle_author_catalog_generate: Generate markdown controls from a catalog
  • trestle_author_profile_generate: Generate markdown for profiles
  • trestle_author_profile_resolve: Resolve profile to catalog
  • trestle_author_profile_assemble: Assemble markdown controls into profile JSON
  • trestle_task_csv_to_oscal_cd: Convert a CSV mapping file into an OSCAL component definition
  • trestle_task_xlsx_to_oscal_poam: Convert a FedRAMP-format XLSX spreadsheet into an OSCAL Plan of Action and Milestones (POA&M)
  • trestle_validate: Validate a standalone OSCAL file (any top-level model, e.g. POA&M) against the OSCAL schema (and trestle's semantic checks)

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.json is correct.

We are a Cloud Native Computing Foundation sandbox project.

The Linux Foundation® (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see Trademark Usage.

OSCAL Compass is an independent open source project. It is not affiliated with, endorsed by, or sponsored by the National Institute of Standards and Technology (NIST) or any other government agency.

OSCAL Compass was originally contributed by IBM.

Frequently asked questions

What is io.github.oscal-compass/compliance-trestle-mcp?

An MCP server that provides tools to author OSCAL security compliance documentation

How do I install io.github.oscal-compass/compliance-trestle-mcp?

It runs on your machine. In Claude Code: claude mcp add compliance-trestle-mcp -- uvx compliance-trestle-mcp==0.1.2. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.oscal-compass/compliance-trestle-mcp need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.oscal-compass/compliance-trestle-mcp open source?

Yes. Its code is on GitHub under the Apache-2.0 license.

Who maintains io.github.oscal-compass/compliance-trestle-mcp?

It is published by oscal-compass. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.