NIST MCP Server
Provides comprehensive access to NIST cybersecurity frameworks and controls, enabling AI assistants and applications to query, analyze, and manage NIST security controls through a standardized interface.
README
NIST MCP Server
A professional Model Context Protocol (MCP) server providing comprehensive access to NIST cybersecurity frameworks and controls. Enables AI assistants and applications to query, analyze, and manage NIST security controls through a standardized, secure interface.
š Quick Start
Get started with NIST's complete control catalog in minutes:
# Install and run
git clone https://github.com/your-username/nist-mcp.git
cd nist-mcp
./scripts/install.sh
python -m nist_mcp.server
That's it! Your MCP server is now running with access to 1,196+ NIST security controls.
š§ What You Can Do
Core Control Operations
- Browse all NIST SP 800-53 controls (1,196 total: base controls + enhancements)
- Get detailed control information with implementation guidance
- Search by keywords, families, or baseline levels
- Map controls to Cybersecurity Framework subcategories
Enterprise Compliance Support
- CMMC 2.0 assessments across all 5 maturity levels
- FedRAMP readiness for Low/Moderate/High impact systems
- SP 800-171 CUI baseline for protecting sensitive information
- NIST Cybersecurity Framework alignment and mapping
Advanced Analysis
- Gap analysis against baseline requirements
- Coverage assessments across control families
- Compliance mapping to other frameworks (SOC2, ISO27001)
- Risk evaluation of control implementations
š Installation & Setup
One-Command Setup (Recommended)
git clone https://github.com/your-username/nist-mcp.git
cd nist-mcp
./scripts/install.sh
python -m nist_mcp.server
That's it! Your NIST MCP server is now running with 1,196+ controls.
Manual Setup
# 1. Clone and install
git clone https://github.com/your-username/nist-mcp.git
cd nist-mcp
pip install -e ".[dev]"
# 2. Download NIST data
python scripts/download_nist_data.py
# 3. Start server
python -m nist_mcp.server
Prerequisites
- Python 3.10+
- uv package manager (optional, but recommended)
š ļø Practical Examples
Here are real examples of how to use the NIST MCP tools:
Basic Control Lookup
"What does AC-1 say?"
// Call: get_control("AC-1")
{
"id": "ac-1",
"title": "Policy and Procedures",
"class": "SP800-53",
"family": "AC",
"parts": [
{
"name": "statement",
"prose": "The organization develops and maintains a comprehensive security policy..."
}
],
"links": [...]
}
"Show me all Access Control family controls"
// Call: get_control_family("AC")
{
"family": "AC",
"name": "Access Control",
"description": "The AC family contains controls...",
"total_controls": 57,
"base_controls": 25,
"enhancements": 32,
"controls": [...]
}
Compliance Analysis
"Do we meet Moderate baseline requirements?"
// Call: gap_analysis(implemented_controls=["AC-1", "AU-1"], target_baseline="moderate")
{
"total_required": 177,
"implemented_count": 2,
"missing_count": 175,
"compliance_percentage": 1.13,
"critical_gaps": ["Risk Assessment", "Configuration Management"],
"next_priorities": ["AC-2", "IA-2", "AU-2"]
}
"What's our CMMC Level 2 readiness?"
// Call: cmmc_compliance_assessment(implemented_controls=["AC-1", "IA-2"], target_level=2)
{
"current_level": 1,
"target_level": 2,
"achieved_domains": ["AC", "IA"],
"missing_domains": ["CM", "CP", "IR"],
"progress_percentage": 23.5,
"next_steps": ["Implement CM-2", "Add CP-9 controls"]
}
Risk Assessments
"How risky is our current access control implementation?"
// Call: risk_assessment_helper(control_ids=["AC-1", "AC-2", "IA-3"])
{
"overall_risk_score": 7.3,
"critical_gaps": ["AC-6 (Least Privilege)", "AC-18 (Wireless Access)"],
"recommendations": [
"Implement multi-factor authentication (IA-3)",
"Review access control policies (AC-1)",
"Add session timeout controls"
]
}
Enterprise Framework Alignment
"Map our controls to NIST CSF functions"
// Call: get_control_mappings("AC-1")
{
"control_id": "AC-1",
"csf_mappings": ["PR.IP-1", "PR.IP-6"],
"functions": ["Protect"],
"categories": ["Identity Management"],
"rationale": "Policy framework supports identity protection"
}
"Prepare for FedRAMP Moderate authorization"
// Call: get_baseline_controls("moderate")
{
"baseline": "Moderate",
"total_controls": 177,
"required_families": {
"AC": 12, "AU": 9, "CA": 5,
"CM": 10, "IA": 8, "IR": 6,
"MP": 4, "PE": 8, "PS": 3,
"RA": 5, "SC": 45, "SI": 16,
"SA": 6, "AT": 1, "PL": 2
},
"implementation_timeline": "12-18 months"
}
š MCP Tool Reference
Core Control Operations
list_controls()- Browse all 1,196 NIST controlsget_control("AC-1")- Get detailed control info with implementation guidancesearch_controls("access", "AC", 10)- Search controls by keyword within familiesget_control_family("AC")- Get complete access control family (57 total controls)
Framework & Compliance
get_baseline_controls("moderate")- NIST baselines for system categorizationcmmc_compliance_assessment(current_controls, 3)- CMMC readiness assessmentfedramp_readiness_assessment(controls, "saas")- FedRAMP cloud readinessget_sp800171_baseline()- CUI protection baseline (DOD contractors)
Advanced Analysis
gap_analysis(implemented, "high")- Identify missing controls against baselinesanalyze_control_coverage(["AC-1", "AU-1"])- Assess control family coveragecompliance_mapping("ISO27001", controls)- Cross-framework mapping
Cybersecurity Framework
get_csf_framework()- Complete NIST CSF 2.0 with all functionssearch_csf_subcategories("multi-factor")- Find relevant CSF subcategoriescsf_to_controls_mapping("PR.AC-1")- Map CSF requirements to controls
Project Structure
nist-mcp/
āāā src/nist_mcp/ # Main package
ā āāā server.py # MCP server implementation
ā āāā data/ # Data loading and caching
ā ā āāā loader.py # NIST data loader
ā āāā tools/ # MCP tools (future expansion)
ā āāā utils/ # Utility functions
āāā data/ # NIST data sources
ā āāā nist-sources/ # Official NIST data
ā ā āāā sp800-53/ # SP 800-53 controls and baselines
ā ā āāā sp800-171/ # SP 800-171 CUI baseline profiles
ā ā āāā cmmc/ # CMMC framework and maturity levels
ā ā āāā fedramp/ # FedRAMP framework and impact levels
ā ā āāā csf/ # Cybersecurity Framework data
ā ā āāā mappings/ # Control-to-CSF mappings
ā āāā oscal-schemas/ # OSCAL JSON schemas
ā āāā examples/ # Example OSCAL documents
āāā scripts/ # Utility scripts
ā āāā download_nist_data.py # Data download script and framework creation
āāā tools/ # Additional control tools
ā āāā control_tools.py # Control management utilities
āāā tests/ # Test suite
š Important Notes
Data Sources
Uses official public domain NIST data:
- SP 800-53 Rev 5 (1,196 controls)
- Cybersecurity Framework 2.0
- OSCAL schemas for document validation
Development & Testing
uv sync --dev # Install dev tools
make test # Run full test suite
make test-security # Security testing only
python -m nist_mcp.server # Start server
License
- MIT License (code)
- Public Domain (NIST data)
- Apache 2.0 (OSCAL schemas)
Support
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.