loading…
Search for a command to run...
loading…
Provides structured access to the full NIST cybersecurity catalog, including SP 800/1800 publications, security controls, CSF 2.0, and the NVD database. It enab
Provides structured access to the full NIST cybersecurity catalog, including SP 800/1800 publications, security controls, CSF 2.0, and the NVD database. It enables AI assistants to search and retrieve cybersecurity standards, CVEs, and compliance guidance directly from a local SQLite index.
A small Model Context Protocol (MCP) server that gives AI assistants structured access to the NIST cybersecurity catalog: publications, SP 800-53 Rev 5 controls, CSF 2.0, CMVP modules, NCP checklists, glossary terms, NICE work roles, and live NVD CVE/CPE data. Local NIST data is served from a SQLite index that builds automatically on first use by downloading structured data directly from NIST.
Install directly from GitHub:
pipx install git+https://github.com/ball2jh/nist-mcp.git
# or
pip install git+https://github.com/ball2jh/nist-mcp.git
For local development:
git clone https://github.com/ball2jh/nist-mcp.git
cd nist-mcp
pip install -e ".[dev,scraper]"
| Variable | Default | Description |
|---|---|---|
NIST_MCP_DATA_DIR |
~/.nist-mcp |
Directory for the local database and cached documents |
NIST_MCP_NVD_API_KEY |
(none) | Optional NVD API key for higher rate limits (recommended) |
NIST_MCP_UPDATE_INTERVAL |
604800 |
Seconds between background database rebuilds (default: 7 days) |
Create ~/.nist-mcp/config.toml (or $NIST_MCP_DATA_DIR/config.toml) for persistent settings:
nvd_api_key = "your-api-key-here"
update_interval = 43200 # 12 hours
Environment variables take precedence over the config file.
Add to your MCP client's server list (e.g. Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"nist": {
"command": "nist-mcp",
"env": {
"NIST_MCP_NVD_API_KEY": "your-api-key-here"
}
}
}
}
On first run, the server builds a local database by downloading structured data from NIST (~2 seconds). The database is cached and rebuilt automatically when stale (default: every 7 days).
This server is intended to run as a local stdio MCP server. It does not expose an HTTP listener, so access is limited to the MCP client process that launches it. Logs are written through Python logging, which writes to stderr by default and does not corrupt stdio JSON-RPC traffic.
Tool schemas constrain common option sets and result sizes. Document downloads are limited to HTTPS URLs from known NIST publication hosts, redirects are revalidated, filenames are sanitized before writing to the local cache, and page extraction is capped at 50 pages per request. Tools that download, cache, or rebuild local data are annotated as non-destructive but not purely read-only so clients can present appropriate confirmation UI.
| Tool | Description |
|---|---|
search_nist |
Search local NIST catalog data across publications, controls, CSF, glossary, CMVP, checklists, and NICE |
get_nist_record |
Fetch a single local NIST record by source and ID |
read_publication |
Download/cache and read publication content as Markdown; returns a PDF TOC by default |
search_nvd |
Search live NVD CVE or CPE data |
get_cve |
Fetch one CVE with CVSS, weaknesses, references, KEV status, and optional change history |
database_status |
Show database build date, size, freshness, and file path |
update_database |
Rebuild the local NIST index by downloading fresh data from NIST sources |
| URI | Description |
|---|---|
nist://about |
Server version, database freshness, and quick-start tool guide |
search_nist("zero trust architecture")
search_nist("zero trust", source="publications")
get_nist_record(source="publications", record_id="SP.800-207")
search_nist("account management", source="controls", detail="standard")
get_nist_record(source="controls", record_id="AC-2")
get_cve("CVE-2021-44228")
search_nist("OpenSSL", source="cmvp")
search_nist("incident response", source="csf")
MIT license. Note that pymupdf4llm, used for PDF-to-Markdown conversion, is licensed under AGPL-3.0.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"nist-mcp": {
"command": "npx",
"args": []
}
}
}Query your database in natural language
Read-only database access with schema inspection.
Interact with Redis key-value stores.
Database interaction and business intelligence capabilities.