Compliance Trestle Mcp

io.github.oscal-compassPublished by GitHub account oscal-compassv0.1.2Updated Oct 27, 2026

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

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Local MCP server that lets an assistant author, import, convert and validate OSCAL security compliance documentation through compliance-trestle.

What you can do
  • Initialize a trestle workspace and import existing OSCAL models from a file or URL
  • Generate markdown control documentation from catalogs and profiles, resolve profiles to catalogs, and assemble markdown back into profile JSON
  • Convert a CSV mapping file into an OSCAL component definition and a FedRAMP-format XLSX spreadsheet into a Plan of Action and Milestones
  • Validate a standalone OSCAL file against the OSCAL schema and trestle's semantic checks
When to use it
Useful when you maintain OSCAL-based security compliance artifacts and want an assistant to scaffold a trestle workspace, turn catalogs or profiles into editable markdown, convert spreadsheets into OSCAL models, or check files for schema validity.
Requirements
Runs as a local stdio process installed from the PyPI package compliance-trestle-mcp; the README launches it with uvx, so uv/uvx must be installed and on the PATH. No authentication, environment variables or headers are declared. Desktop client only.
Before you install
Tools write into the working directory: initializing a workspace creates trestle folders, and import, generate, assemble and convert tools create or overwrite files there. Import can fetch OSCAL models from a URL, so remote content is pulled in. Review generated or converted compliance documents before relying on them.

Installation

In SourceWeft

  1. Open Compliance Trestle Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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:

Choose the option that best fits your workflow.

Usage from RooCode

  1. Add the following JSON to .roo/mcp.json (Roo workspace):

    json
    {    "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
json
{    "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-plansassessment-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.

[Image]

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.

Source: README.md at commit 2639553

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts