Token导航 LogoToken导航TokenDH.com
Vuln Nist MCP Server logo
安全风控stdio官方级别未说明来源级核验

Vuln Nist MCP Server

MCP Server

一个用于查询NIST国家漏洞数据库(NVD)API端点的模型上下文协议(MCP)服务器,提供时间感知查询、并行处理和灵活的日期过滤功能。

工具数

6

提示词数

0

GitHub Stars

11

资源数

0
PythonClaude安全Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

HaroldFinchIFT

提供方

HaroldFinchIFT

最后核验

2026/5/17 20:19

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -it vuln-nist-mcp-server

详细介绍

vuln-nist-mcp-server 翻译为中文是:“NIST MCP 服务器漏洞”

一个用于查询NIST国家漏洞数据库(NVD)API端点的模型上下文协议(MCP)服务器。

目的

这个MCP服务器提供了工具来查询NVD/CVE REST API,并通过MCP协议返回适合LLM消费的格式化文本结果。它包括对大日期范围的自动查询分块以及并行处理以提高性能。

基础API文档:https://nvd.nist.gov/developers/vulnerabilities

特点/特性

可用工具

  • get_temporal_context - 获取当前日期和时间上下文,以用于时间相关的查询

- 对于“今年”、“去年”、“6个月前”等查询至关重要 - 提供当前日期映射及日期参数构建示例 - 使用方法/用途当用户提出与时间相关的问题时,首先调用这个工具

  • search_cves - 通过关键词搜索CVE描述,并支持灵活的日期过滤

- 参数: keywordresultsPerPage (默认:20), startIndex (默认:0), last_daysrecent_days 已被弃用), start_dateend_date - v1.1.0 新增功能支持绝对日期范围的 start_date 并且 end_date 参数 - 日期过滤优先级start_date/end_datelast_days → 默认30天 - 将超过120天的自动分块查询转换为并行请求 - 按发布日期排序的结果(最新优先)

  • get_cve_by_id - 获取特定CVE的详细信息

- 参数: cve_id - 返回内容:CVE 详情、参考信息、标签和发布日期

  • cves_by_cpe - 列出与通用平台枚举(CPE)相关联的CVE(通用漏洞和暴露)

- 参数: cpe_name (需提供完整的CPE 2.3格式), is_vulnerable (可选) - 在查询前验证CPE格式

  • kevs_between - 查找在特定日期范围内添加到CISA KEV目录中的CVE(常见漏洞和暴露)

- 参数: kevStartDatekevEndDateresultsPerPage (默认:20), startIndex (默认:0) - 将超过90天的自动分块查询转换为并行请求 - 按发布日期排序的结果(最新优先)

  • cve_change_history - 获取CVE(通用漏洞和暴露)的变更历史记录

- 参数: cve_id 或(changeStartDate + changeEndDateresultsPerPage (默认值:20), startIndex (默认:0) - 将超过120天的日期范围查询自动拆分为并行请求 - 结果按更改创建日期排序(最新在前)

主要特点

  • 时间意识get_temporal_context 用于精确时间相关查询的工具
  • 灵活的日期过滤支持相对(last_days)和绝对(start_date/end_date日期范围
  • 改进的结果排序所有结果按时间顺序排序(最新在前),以提高相关性
  • 并行处理大的日期范围会自动被拆分成多个部分,并并发处理
  • 输入验证CPE格式验证、日期解析、参数清理
  • 表情符号指示器清晰的视觉反馈(✅ 成功,❌ 错误,⚠️ 警告,🔍 搜索,🔥 关键事件列表(KEV),🌐 受感染的计算机(CPE),🌙 历史记录,📅 时间线)
  • 全面日志记录详细的错误输出日志记录,用于调试
  • 错误处理优雅地处理API错误、超时和格式错误的响应

先决条件

  • Docker(推荐)或 Python 3.11+
  • 访问NVD端点的网络连接(services.nvd.nist.gov
  • MCP兼容客户端(例如,Claude Desktop)

快速入门

使用 Docker(推荐)

# Clone and build
git clone https://github.com/HaroldFinchIFT/vuln-nist-mcp-server
cd vuln-nist-mcp-server
docker build -t vuln-nist-mcp-server .

# Run
docker run --rm -it vuln-nist-mcp-server

配置

环境变量:

  • NVD_BASE_URLNVD API的基础URL(默认: https://services.nvd.nist.gov/rest/json
  • NVD_VERSIONAPI版本(默认: /2.0)
  • NVD_API_TIMEOUT请求超时时间(以秒为单位)(默认: 10)

使用示例

使用Claude Desktop或MCP客户端

为时间相关查询获取时间上下文:

Tool: get_temporal_context
Params: {}

搜索最近的CVE(相对时间):

Tool: search_cves
Params: {
  "keyword": "Microsoft Exchange",
  "resultsPerPage": 10,
  "last_days": 7
}

按绝对日期范围搜索CVE(通用漏洞和披露)条目:

Tool: search_cves
Params: {
  "keyword": "buffer overflow",
  "start_date": "2024-01-01T00:00:00",
  "end_date": "2024-03-31T23:59:59"
}

搜索“今年”的CVE(首先使用get_temporal_context):

# First, get temporal context
Tool: get_temporal_context

# Then use the provided date mappings
Tool: search_cves
Params: {
  "keyword": "remote code execution",
  "start_date": "2025-01-01T00:00:00",
  "end_date": "2025-09-17T12:00:00"
}

获取CVE详情:

Tool: get_cve_by_id
Params: {"cve_id": "CVE-2024-21413"}

检查CPE(客户驻地设备)漏洞:

Tool: cves_by_cpe
Params: {
  "cpe_name": "cpe:2.3:a:microsoft:exchange_server:2019:*:*:*:*:*:*:*",
  "is_vulnerable": "true"
}

查找最近的KEV(关键事件/漏洞)新增内容:

Tool: kevs_between
Params: {
  "kevStartDate": "2024-01-01T00:00:00.000Z",
  "kevEndDate": "2024-03-31T23:59:59.000Z"
}

性能说明

  • 查询日期范围超过90-120天的查询会自动分块处理,以提高性能
  • 并行处理减少了大日期范围的总查询时间
  • 结果会自动按发布日期(最新优先)对所有片段进行排序

发展

文件结构

vuln-nist-mcp-server/
├── Dockerfile
├── glama.json
├── LICENSE
├── nvd_logo.png
├── README.md
├── requirements.txt
├── SECURITY.md 
└── vuln_nist_mcp_server.py

安全考量

  • 无需API密钥(公共NVD端点)
  • 容器以非root用户身份运行(mcpuser)
  • 输入验证可防止注入攻击
  • 不持久存储敏感数据
  • 仅在需要时通过Docker标志添加网络功能

做出贡献

  1. 为仓库创建分支(或:克隆仓库)
  2. 创建一个特性分支
  3. 做出你的更改
  4. 在本地测试
  5. 提交一个拉取请求

许可证

麻省理工学院(MIT)- 详见LICENSE文件

更新日志

v1.1.0

  • 已添加 get_temporal_context 用于时间感知和时间相关查询的工具
  • 增强的search_cves 现在支持使用绝对日期范围 start_date 并且 end_date 参数
  • 增强的改进了日期过滤逻辑,优先级顺序为:绝对日期 → 相对天数 → 默认30天
  • 增强的所有工具现在均返回按时间顺序(最新优先)排列的结果,以提高相关性
  • 改进的改进ISO-8601日期解析的错误处理
  • 已弃用recent_days 参数在 search_cves (使用 last_days (相反)
  • 已更新标志和视觉效果的改进

版本1.0.0

  • 首次发布
  • 支持所有主要的NVD API终端节点
  • 自动查询分块与并行处理
  • CPE格式验证
  • 全面的错误处理

目录标签

目录标签

PythonClaude安全漏洞管理本地部署安全查询NVDAPI时间感知并行处理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP