A Model Context Protocol (MCP) server for managing NIST 800-53 security controls and System Security Plans (SSPs) in OSCAL format.
This server provides a standardized interface for:
- Accessing NIST 800-53 security control information
- Creating and managing System Security Plans (SSPs)
- Implementing security controls within SSPs
- Validating control implementations
- Exporting OSCAL-formatted documents
- Control Information Retrieval: Search, filter, and retrieve NIST 800-53 control details
- SSP Management: Create, read, update, and delete System Security Plans
- Control Implementation: Define and document control implementations
- Validation: Validate SSPs against baselines and implementation requirements
- OSCAL Format Support: Work with OSCAL-formatted security documentation
- MCP Integration: Seamless integration with Claude and other AI assistants
- Node.js 16+
- Git
-
Clone the repository:
git clone https://github.com/your-organization/nist-800-53-oscal-server.git cd nist-800-53-oscal-server -
Install dependencies:
npm install -
Generate test data:
npm run setup-test-data -
Run the server:
./scripts/run-mcp-server.sh
The server implements the Model Context Protocol (MCP) for integrating with Claude and other AI assistants. It uses standard JSON-RPC over stdin/stdout for communication.
getControl: Get details about a specific NIST 800-53 controlsearchControls: Search for controls by family, query, or baselinegetControlFamilies: Get all NIST 800-53 control families
createSSP: Create a new System Security PlangetSSP: Get a System Security Plan by IDlistSSPs: List all System Security Plans
addControlImplementation: Add a control implementation to an SSPgetControlImplementation: Get a control implementation from an SSPlistControlImplementations: List all control implementations for an SSP
validateSSP: Validate an SSP against its baseline
{
"jsonrpc": "2.0",
"method": "getControlFamilies",
"id": 1
}{
"jsonrpc": "2.0",
"result": [
{"id": "AC", "title": "Access Control"},
{"id": "AT", "title": "Awareness and Training"},
/* ... other families ... */
],
"id": 1
}# Run in development mode with auto-reload
npm run dev
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run format