返回市场
麦克佩斯操作系统验证服务器

麦克佩斯操作系统验证服务器

作者:kodustech2 星标更新:2025-11-21

项目介绍

OSV MCP Server (Bun)

这是一个远程模型上下文协议(MCP)HTTP服务器,它封装了OSV v1 API,用于按需查询开源漏洞(示例源:https://osv.dev/list?q=%40NESTJS%2FCORE&ecosystem=npm)。作为MCP工具导出,以便代理可以直接查询OSV。

功能

  • 可流式传输的HTTP MCP端点位于 /mcp
  • 工具:osv_query(单个目标)和 osv_query_batch(多个目标)。
  • 可配置的基础URL(OSV_API_URL,默认值为 https://api.osv.dev/v1)。
  • 清晰的模式和验证规则以指导LLMs(提交或版本,purl规则,分页)。

快速开始

需求:Bun。

bun install
PORT=3000 HOST=0.0.0.0 OSV_API_URL=https://api.osv.dev/v1 bun run index.ts

MCP端点:http://<host>:<port>/mcp

环境变量:

  • PORT / HOST:HTTP绑定(默认 3000 / 0.0.0.0)。
  • OSV_API_URL:覆盖OSV基础URL。

MCP客户端设置

  • Claude Code CLI:claude mcp add --transport http mcp-osv http://localhost:3000/mcp
  • VS Code:code --add-mcp "{\"name\":\"mcp-osv\",\"type\":\"http\",\"url\":\"http://localhost:3000/mcp\"}"
  • MCP Inspector:npx @modelcontextprotocol/inspector -> 连接到 http://localhost:3000/mcp 如果远程访问,请替换 localhost 为您自己的主机/端口。

工具和参数

osv_query

{
  "commit": "sha 或",
  "version": "版本字符串 或",
  "package": {
    "name": "如果未使用purl,则需要与ecosystem一起使用",
    "ecosystem": "如果未使用purl,则需要与name一起使用",
    "purl": "pkg:pypi/jinja2 // purl 或 name+ecosystem; 如果存在version,则此处省略 @version"
  },
  "pageToken": "来自上一个OSV响应的可选分页标记"
}

规则:

  • 使用 commitversion(两者之一,但不能同时使用)。
  • 如果存在 version,则 package 是必需的。
  • package 必须是 purl (name + ecosystem)。
  • 如果存在 version 并且使用了 package.purl,则在 purl 中省略 @version

osv_query_batch

{
  "queries": [
    {
      "commit": "sha 或",
      "version": "版本字符串 或",
      "package": {
        "name": "包名",
        "ecosystem": "生态系统",
        "purl": "pkg:ecosys/name"
      },
      "pageToken": "可选"
    }
  ]
}

规则:每个项目遵循与 osv_query 相同的规则。

示例调用

  • PyPI 版本:{"package":{"purl":"pkg:pypi/jinja2"},"version":"3.1.4"}
  • npm 使用 name+ecosystem:{"package":{"name":"@nestjs/core","ecosystem":"npm"},"version":"1.2.3"}
  • 提交查询:{"commit":"<sha>","package":{"ecosystem":"Go","name":"github.com/foo/bar"}}

调试

  • 服务器日志:OSV MCP 服务器正在监听 http://<host>:<port>/mcp
  • Curl 初始化:curl -H "content-type: application/json" -H "accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","clientInfo":{"name":"curl","version":"0.0.0"},"capabilities":{}}}' http://localhost:3000/mcp
  • 列出工具:使用相同端点并传递 {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}

许可证

MIT 许可证。参见 LICENSE