使用说明
项目简介
这是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于从 MITRE 的 CVE API 获取和提供详细的公共漏洞和暴露 (CVE) 信息。它将 CVE 查询能力封装为一个可供 MCP 客户端调用的工具。
主要功能点
- CVE 信息查询: 获取特定 CVE ID 的详细漏洞数据,包括描述、相关的 CWE 分类、CVSS 评分、受影响产品等。
- MCP 工具暴露: 将 CVE 查询功能注册为 MCP 工具,使能支持 MCP 协议的客户端(如 LLM 应用或集成开发环境扩展)直接调用。
- 标准协议支持: 支持 StdIO 等标准的 MCP 传输协议,便于集成。
- 易于部署: 提供 Python 脚本直接运行和 Docker 容器化部署方式。
安装步骤
- 克隆仓库:
git clone https://github.com/jgamblin/CVE-MCP.git cd CVE-MCP - 安装依赖:
建议在 Python 虚拟环境中安装所需库:
# 可选:创建并激活虚拟环境 # python -m venv .venv # source .venv/bin/activate # Linux/macOS # .venv\Scripts\activate # Windows pip install -r requirements.txt
服务器配置
MCP 服务器主要供 MCP 客户端使用。MCP 客户端需要知道如何启动和连接到这个服务器。典型的 MCP 客户端配置会包含以下信息来定义一个服务器连接:
- 服务器名称 (name): 用于标识这个服务器,例如 'CVE-MCP'。
- 传输类型 (type): 指定客户端与服务器通信的方式,本服务器默认支持 'stdio'。
- 启动命令 (command): 运行服务器脚本所需的命令,例如 'python'。
- 启动参数 (args): 传递给启动命令的参数,通常是服务器主脚本的路径,例如 '/path/to/your/cloned/repo/CVE_MCP.py'。
MCP 客户端(如 VS Code 的 MCP 支持)会读取这些配置,并根据需要启动服务器进程并通过指定的传输协议进行通信。
基本使用方法
服务器启动后(例如通过运行 'python CVE_MCP.py' 或由 MCP 客户端自动启动),支持 MCP 协议的客户端可以连接到它。客户端可以发现服务器暴露的工具列表。本服务器提供了一个名为 'get_cve_info' 的工具。
客户端可以通过 MCP 协议调用 'get_cve_info' 工具,并传入一个 CVE ID 字符串作为参数(例如 '"CVE-2023-23397"')。服务器接收请求后,会调用内部逻辑查询 CVE API,并将格式化后的漏洞信息作为工具调用的结果返回给客户端。
信息
分类
开发者工具