Token导航 LogoToken导航TokenDH.com
MCP Nvd logo
搜索检索stdio官方级别未说明来源级核验

MCP Nvd

MCP Server

@modelcontextprotocol/inspector

An MCP server to query the NIST National Vulnerability Database (NVD)

工具数

0

提示词数

0

GitHub Stars

14

资源数

0
安全工具PythonClaude实时通信Claude DesktopClaude

安装说明

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

作者 / 组织

marcoeg

提供方

marcoeg

最后核验

2026/5/18 03:27

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector uv \

详细介绍

NVD数据库MCP服务器

](https://pypi.org/project/mcp-nvd)

A. 模型上下文协议 服务器实现,通过其API查询NIST国家漏洞数据库(NVD)。 https://nvd.nist.gov/

作为先决条件,需要NVD API密钥。 (在这里申请).

状态

与Claude Desktop应用程序和其他兼容MCP的主机和客户端一起使用 stdiosse 运输。

特性

  • 通过ID查询特定的CVE,并提供详细的漏洞数据。
  • 使用可定制的结果选项按关键字搜索NVD数据库。
  • 支持服务器发送事件(SSE)传输以进行实时通信。
  • 与Claude Desktop等MCP兼容的客户端兼容。

工具

服务器实现了以下工具来查询NVD数据库:

  • get_cve:

- 描述:通过CVE记录的ID检索CVE记录。 - 参数: - cve_id (str):CVE ID(例如。, CVE-2019-1010218). - concise (bool,默认值 False):如果 True,返回较短的格式。 - 退货:详细的CVE信息,包括分数、弱点和参考文献。

  • search_cve:

- 描述:按关键字搜索NVD数据库。 - 参数: - keyword (str):搜索词(例如。, Red Hat). - exact_match (bool,默认值 False):如果 True,需要精确的短语匹配。 - concise (bool,默认值 False):如果 True,返回较短的CVE记录。 - results (int,默认值 10):CVE记录的最大数量(1-2000)。 - 退货:具有总计数的匹配CVE列表。

配置

  1. 创建或编辑位于以下位置的Claude Desktop配置文件:

- 在 macOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json - 在Windows上: %APPDATA%/Claude/claude_desktop_config.json

  1. 添加以下内容:
{
  "mcpServers": {
    "mcp-nvd": {
      "command": "/path/to/uvx",
      "args": ["mcp-nvd"],
      "env": {
        "NVD_API_KEY": "your-api-key"
      }
    }
  }
}
  1. 替换 /path/to/uvx 通过绝对路径 uvx 可执行。找到路径 which uvx 在终端中执行命令。这确保了正确的版本 uvx 启动服务器时使用。
  1. 重新启动Claude Desktop以应用更改。

发展

设置

  1. 先决条件:

- Python 3.10或更高版本。 - NVD API密钥(在这里请求). - uv 包管理器(安装).

  1. 克隆存储库:
git clone https://github.com/marcoeg/mcp-nvd
cd mcp-nvd
  1. 设置环境变量:

- 创建一个 .env 项目根目录中的文件:

     NVD_API_KEY=your-api-key

- 替换 your-api-key 使用您的NVD API密钥。

  1. 再进行:
uv sync
uv pip install -e .

使用MCP检查器运行

cd /path/to/the/repo
source .env

npx @modelcontextprotocol/inspector uv \
    --directory /path/to/repo/mcp-nvd run mcp-nvd

然后打开浏览器到MCP检查器指示的URL,通常 http://localhost:8077?proxyPort=8078

在以下之间自由切换 stdiosse 检查员中的运输类型。

使用SSE客户端进行测试

运行服务器:

cd /path/to/the/repo
source .env

uv run mcp-nvd --transport sse --port 9090
  • 在港口使用SSE运输 9090 默认情况下。

运行客户端:

测试 get_cve:

uv run client.py http://localhost:9090/sse CVE-2019-1010218

测试 search_cve (默认10个结果):

uv run client.py http://localhost:9090/sse "search:Red Hat"

测试 search_cve (完全匹配,5个结果):

uv run client.py http://localhost:9090/sse "search:Microsoft Windows:exact:5"

Docker设置

构建

docker build -t mcp-nvd:latest .

随着 .env:

docker run -d -p 9090:9090 -v /path/to/.env:/app/.env mcp-nvd:latest

使用env变量:

docker run -d -p 9090:9090 -e NVD_API_KEY="your-key" mcp-nvd:latest

自定义端口:

docker run -d -p 8080:8080 -v /path/to/.env:/app/.env mcp-nvd:latest uv run mcp-nvd --transport sse --port 8080 --host 0.0.0.0

验证

docker logs 
# Expect: INFO: Uvicorn running on http://0.0.0.0:9090

测试:

uv run client.py http://localhost:9090/sse CVE-2019-1010218

备注

  • 确保 .envNVD_API_KEY=your-key 或使用 -e.
  • 默认端口: 9090.

______________________________________________________________________

以下是代码块中Markdown注释格式的摘要,适合包含在文件中,如 docker-compose.yamlREADME.md:

使用Docker Compose进行测试

docker-compose.yaml,位于 tests/ 目录,定义了一个使用预构建的Docker映像测试MCP-NVD服务器的服务。它是为测试用例而设计的,类似于独立服务,如 clickhouse,并假设图像是预先构建的,而不是每次重建。

假设

  • 预构建图像:该服务使用标记为的预构建图像 mcp-nvd:test,可在本地或注册表中获取。该图像基于 Dockerfile 在父目录中,该目录用于设置MCP-NVD服务器 uv 并在端口9090上以SSE模式运行它。

如何塑造形象

要创建 mcp-nvd:test 图片:

  1. 导航到项目根目录:
   cd ./mcp-nvd
  1. 使用Dockerfile构建镜像:
   docker build -t mcp-nvd:test .

- 这将构建具有以下所有依赖项的映像 pyproject.toml 和那个 mcp_nvd/ 模块,设置运行服务器的默认命令。

运行服务

tests/ 目录:

cd tests
docker-compose up
  • 访问:服务器运行在 http://localhost:9090.
  • 停止: docker-compose down.
  • 环境:确保 NVD_API_KEY 在...里 ../.env 或使用 docker-compose --env-file ../.env up.

跑步 test_tools.py 在Docker Compose场景中

运行单元测试(test_tools.py)在Docker环境中:

  1. 启动服务:确保 mcp-nvd 服务正在通过运行 docker-compose up.
  2. 执行到容器中:

- 识别容器名称(例如。, mcp-nvd-mcp-nvd-1)与:

     docker ps

- 在容器内运行测试:

     docker exec -it mcp-nvd-mcp-nvd-1 python /app/tests/test_tools.py

- 备注:假设 test_tools.py 被复制到图像中 /app/tests/。如果没有,请修改Dockerfile以包含:

     COPY tests/ ./tests/

然后使用以下命令重建图像 docker build -t mcp-nvd:test . 从根。

  1. 替代:对容器化服务在本地运行测试:
   cd tests
   python test_tools.py

- 此测试针对 http://localhost:9090 当服务运行时。

关键细节

  • 端口:9090暴露在SSE访问中。
  • 日志:存储在a中 log-data 音量(可选)。
  • 图像:必须构建一次并标记为 mcp-nvd:test 跑步前 docker-compose.

______________________________________________________________________

把归 @西达斯拉赫拉姆 对于其基于SSE的MCP客户端和服务器的工作模式:

目录标签

目录标签

安全工具PythonClaude实时通信research-and-data漏洞管理本地部署数据库查询MCP协议

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiononeremote-capable

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

安装前确认

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

来源信息

继续浏览同类 MCP