使用说明

项目简介

OSV-MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供访问 OSV (Open Source Vulnerability) 数据库的能力。通过此服务器,LLM 可以查询软件包的已知漏洞 (CVE) 信息,以及特定 CVE 影响的版本和修复版本,从而增强 LLM 在软件安全领域的应用能力。

主要功能点

  • 查询软件包CVE列表: 根据软件包名称(及可选的版本、生态系统)查询并返回与之相关的CVE漏洞ID列表。
  • 查询CVE影响版本: 根据CVE漏洞ID查询并返回受该漏洞影响的软件包版本列表。
  • 查询CVE修复版本: 根据CVE漏洞ID查询并返回修复该漏洞的软件包版本列表。

安装步骤

  1. 安装 Python 3.11 或更高版本 确保您的系统已安装 Python 3.11 或更高版本。您可以通过以下命令检查 Python 版本:

    python --version

    如果版本低于 3.11,请先升级 Python。

  2. 安装 uv uv 是一个快速的 Python 包安装器和解析器。使用 pip 或 Homebrew 安装 uv:

    pip install uv

    或者使用 Homebrew:

    brew install uv
  3. 获取项目代码 从 GitHub 克隆或下载 OSV-MCP 仓库代码到本地。

  4. 运行服务器 打开终端,导航到项目代码根目录,并使用 uv 运行服务器脚本:

    uv run src/main.py

    您应该看到 "Starting OSV MCP server!" 的输出,表明服务器已成功启动。

服务器配置

对于 MCP 客户端(例如 Cursor),您需要配置服务器连接信息。以下是一个 Cursor 客户端的配置示例,您需要根据实际情况调整 'command' 和 'args' 中的路径:

{
  "mcpServers": {
    "osv-mcp": {
      "command": "uv",
      "args": ["--directory", "/path/to/OSV-MCP", "run", "src/main.py"],
      "env": {}
    }
  }
}

配置参数说明:

  • server name: 'osv-mcp' (服务器名称,客户端用于识别和调用)
  • command: 'uv' (启动服务器的命令,这里使用 uv 运行 Python 脚本)
  • args: 启动命令的参数列表
    • '--directory': '/path/to/OSV-MCP' [请替换为您的OSV-MCP项目代码的实际本地路径],指定 uv 运行的目录。
    • 'run': uv 的子命令,用于运行 Python 模块或脚本。
    • 'src/main.py': 服务器主程序入口脚本路径。
  • env: '{}' (环境变量,当前示例为空)

注意: 请务必将 '/path/to/OSV-MCP' 替换为您本地 OSV-MCP 项目代码的实际路径。

基本使用方法

配置完成后,MCP 客户端可以通过 JSON-RPC 协议与 OSV-MCP 服务器通信,并调用以下工具:

  • query_package_cve: 查询软件包CVE列表
    • 参数:
      • 'package' (string, 必需): 软件包名称
      • 'version' (string, 可选): 软件包版本
      • 'ecosystem' (string, 可选): 软件包生态系统 (默认为 "PyPI" )
  • query_for_cve_affected: 查询CVE影响版本
    • 参数:
      • 'cve' (string, 必需): CVE 漏洞 ID (例如 "CVE-2018-1000805")
  • query_for_cve_fix_versions: 查询CVE修复版本
    • 参数:
      • 'cve' (string, 必需): CVE 漏洞 ID (例如 "CVE-2018-1000805")

LLM 客户端可以根据这些工具描述和参数,构建 JSON-RPC 请求发送给 OSV-MCP 服务器,获取相应的漏洞信息。

信息

分类

网页与API