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