一个用于查询美国国家标准与技术研究院(NIST)国家漏洞数据库(NVD)API端点的模型上下文协议(MCP)服务器。
此MCP服务器提供了工具来查询NVD/CVE REST API,并通过MCP协议返回适合LLM消费的格式化文本结果。它包括自动查询分块以处理大日期范围以及并行处理以提高性能的功能。
基础API文档:https://nvd.nist.gov/developers/vulnerabilities
get_temporal_context - 获取当前日期和时间相关的查询的时间上下文
search_cves - 根据关键词搜索CVE描述,并支持灵活的日期过滤
keyword,resultsPerPage(默认值:20),startIndex(默认值:0),last_days(recent_days已弃用),start_date,end_datestart_date和end_date参数进行绝对日期范围查询start_date/end_date → last_days → 默认30天get_cve_by_id - 根据特定CVE ID检索详细信息
cve_idcves_by_cpe - 列出与通用平台枚举(CPE)关联的CVE
cpe_name(需要完整的CPE 2.3格式),is_vulnerable(可选)kevs_between - 查找在指定日期范围内添加到CISA KEV目录中的CVE
kevStartDate,kevEndDate,resultsPerPage(默认值:20),startIndex(默认值:0)cve_change_history - 检索CVE的变更历史
cve_id 或 (changeStartDate + changeEndDate),resultsPerPage(默认值:20),startIndex(默认值:0)get_temporal_context工具用于准确的时间相关查询last_days)和绝对日期(start_date/end_date)范围services.nvd.nist.gov)# 克隆并构建
git clone https://github.com/HaroldFinchIFT/vuln-nist-mcp-server
cd vuln-nist-mcp-server
docker build -t vuln-nist-mcp-server .
# 运行
docker run --rm -it vuln-nist-mcp-server
环境变量:
NVD_BASE_URL:NVD API的基础URL(默认值:https://services.nvd.nist.gov/rest/json)NVD_VERSION:API版本(默认值:/2.0)NVD_API_TIMEOUT:请求超时时间(秒)(默认值:10)获取时间相关的查询的时间上下文:
工具:get_temporal_context
参数:{}
搜索最近的CVE(相对时间):
工具:search_cves
参数:{
"keyword": "Microsoft Exchange",
"resultsPerPage": 10,
"last_days": 7
}
根据绝对日期范围搜索CVE:
工具:search_cves
参数:{
"keyword": "缓冲区溢出",
"start_date": "2024-01-01T00:00:00",
"end_date": "2024-03-31T23:59:59"
}
搜索“今年”的CVE(先获取时间上下文):
# 首先,获取时间上下文
工具:get_temporal_context
# 然后使用提供的日期映射
工具:search_cves
参数:{
"keyword": "远程代码执行",
"start_date": "2025-01-01T00:00:00",
"end_date": "2025-09-17T12:00:00"
}
获取CVE详情:
工具:get_cve_by_id
参数:{"cve_id": "CVE-2_2024-21413"}
检查CPE漏洞:
工具:cves_by_cpe
参数:{
"cpe_name": "cpe:2.3:a:microsoft:exchange_server:2019:*:*:*:*:*:*:*",
"is_vulnerable": "true"
}
查找最近的KEV添加项:
工具:kevs_between
参数:{
"kevStartDate": "2024-01-01T00:00:00.000Z",
"kevEndDate": "2024-03-31T23:59:59.000Z"
}
vuln-nist-mcp-server/
├── Dockerfile
├── glama.json
├── LICENSE
├── nvd_logo.png
├── README.md
├── requirements.txt
├── SECURITY.md
└── vuln_nist_mcp_server.py
mcpuser)运行MIT - 详见LICENSE文件
get_temporal_context工具以实现时间感知和时间相关查询search_cves现在支持使用start_date和end_date参数进行绝对日期范围查询search_cves中的recent_days参数(改为使用last_days)