使用说明

项目简介

这是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于从 MITRE 的 CVE API 获取和提供详细的公共漏洞和暴露 (CVE) 信息。它将 CVE 查询能力封装为一个可供 MCP 客户端调用的工具。

主要功能点

  • CVE 信息查询: 获取特定 CVE ID 的详细漏洞数据,包括描述、相关的 CWE 分类、CVSS 评分、受影响产品等。
  • MCP 工具暴露: 将 CVE 查询功能注册为 MCP 工具,使能支持 MCP 协议的客户端(如 LLM 应用或集成开发环境扩展)直接调用。
  • 标准协议支持: 支持 StdIO 等标准的 MCP 传输协议,便于集成。
  • 易于部署: 提供 Python 脚本直接运行和 Docker 容器化部署方式。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/jgamblin/CVE-MCP.git
    cd CVE-MCP
  2. 安装依赖: 建议在 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,并将格式化后的漏洞信息作为工具调用的结果返回给客户端。

信息

分类

开发者工具