Skip to main content

MCP server for compliance-trestle OSCAL framework

Project description

Trestle MCP

MCP server to easily use compliance-trestle (OSCAL tool) from Claude, Roo, or any MCP-compliant client.

Getting Started

  1. Prerequisite

  2. Clone the repository

    git clone https://github.com/oscal-compass/proposal-20260204.git
    

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", "./trestle-mcp-tmp", "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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compliance_trestle_mcp-0.1.0.tar.gz (40.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

compliance_trestle_mcp-0.1.0-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file compliance_trestle_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: compliance_trestle_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 40.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for compliance_trestle_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2e45c60298b2d0edc9da2252f8a589638ca1a799e22b35af044e5ac54cc52751
MD5 e164be2d48720d1b2e80a8f251642d85
BLAKE2b-256 3bd446363f8c7cf870ea2f0058546e679fd1be7d1b6a9b1d02ff6ebf99f6b0d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for compliance_trestle_mcp-0.1.0.tar.gz:

Publisher: publish.yml on oscal-compass/compliance-trestle-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file compliance_trestle_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for compliance_trestle_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2857b234a8f7a2ccec7c4d74db7672d00569ebde29f62dc91b5c3e306b400462
MD5 185e55a5c622e156684c7578faac0e17
BLAKE2b-256 3b3f3e46bed23423236c304aa1f310ae699f7ad502abd2dca072686740d16d31

See more details on using hashes here.

Provenance

The following attestation bundles were made for compliance_trestle_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on oscal-compass/compliance-trestle-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page