使用说明
CVE MCP 服务器
一个模型上下文协议(MCP)服务器,利用国家漏洞数据库(NVD)提供CVE漏洞查询和搜索功能。
特点
- CVE查询通过CVE ID获取特定CVE的详细信息
- CVE 搜索通过描述中的关键词搜索CVE(通用漏洞和披露)
- NVD 集成使用官方NVD API获取最新的漏洞数据
- CVSS评分提供CVSS v2和v3评分及严重性等级
先决条件
- Python 3.13+(或 Python 3.13及以上版本)
- 紫外线 包管理器
- NVD API密钥(可选,但建议使用以提高速率限制)
安装
本地安装
-
克隆项目或导航至项目目录:
cd /path/to/cve-mcp-server -
安装依赖项:
uv sync -
设置NVD API密钥(可选):
export NVD_API_KEY="your_nvd_api_key_here"
运行服务器
本地安装
# Direct execution
uv run python server.py
MCP客户端配置
对于Claude Desktop
{
"mcpServers": {
"cve-lookup": {
"command": "uv",
"args": ["run", "--directory", "/path/to/cve-mcp-server", "python", "server.py"],
"env": {
"NVD_API_KEY": "your_nvd_api_key_here"
}
}
}
}
可用工具
获取CVE信息(cve_id: 字符串)
检索特定CVE的详细信息。
参数:
cve_idCVE标识符(例如,“CVE-2021-44228”)
返回值:
- CVE ID(通用漏洞和暴露标识符)、描述、发布日期、CVSS评分、严重程度、CWE(常见弱点枚举)以及参考文献
搜索CVE(Common Vulnerability and Exposure,通用漏洞和披露)信息,参数为关键字(keyword: str,字符串类型)和限制数量(limit: int,默认为10)
根据描述中的关键词搜索CVE。
参数:
keyword在CVE描述中搜索的术语limit最大结果数量(默认10,最大50)
返回值:
- 包含ID、描述、严重程度、评分和发布日期的匹配CVE列表
使用示例
一旦MCP服务器运行并连接到您的客户端:
- “查看 CVE-2021-44228”(Log4Shell 漏洞)
- “搜索与Apache Log4j相关的CVE(通用漏洞和披露)”
- “在WordPress中查找漏洞”
- “获取CVE-2023-1234的详细信息”
故障排除
服务器未启动(红点)
-
检查依赖项:
uv sync -
手动测试服务器:
uv run python server.py -
验证Python路径:
which python3 -
检查MCP配置语法 在你的配置文件中
常见问题
- **ModuleNotFoundError(模块未找到错误)**跑
uv sync安装依赖项 - 权限被拒绝检查文件权限和Python路径
- 连接失败重启您的MCP客户端(Claude桌面版)
- API速率限制设置NVD API密钥以提高限制
配置提示
- 在MCP配置中使用绝对路径
- 确保工作目录正确
- 正确设置环境变量
- 配置更改后重启MCP客户端
依赖项
mcp[cli]>=1.16.0- 模型上下文协议框架nvdlib>=0.8.3NVD API 客户端库requests>=2.32.5- HTTP请求库
API密钥设置
-
获取NVD API密钥:
- 访问:https://nvd.nist.gov/developers/request-an-api-key
- 注册一个免费的API密钥
-
设置环境变量:
export NVD_API_KEY="your_api_key_here" -
更新MCP配置: 将API密钥添加到您的MCP服务器环境变量中
测试
本地测试
# Test server imports
uv run python -c "import server; print('Server imports successfully')"
# Test server execution
uv run python server.py
许可证
这个项目是开源的。请参阅项目文件以获取具体的许可信息。