mcpField
K
Kodus OSV

Kodus OSV

本地服务
github.com/kodustech安全249 周前更新

关于 Kodus OSV

Kodus OSV 是一个远程 MCP HTTP 服务,为 Agent 提供 OSV v1 开源软件漏洞查询。其单项和批量工具支持按软件包或提交查询,并校验参数。

主要功能

  1. 01在 `/mcp` 提供流式 HTTP 端点
  2. 02使用 `osv_query` 单项查询
  3. 03使用 `osv_query_batch` 批量查询
  4. 04可配置 OSV API 基础 URL
  5. 05校验查询参数结构

适用场景

  1. 01检查软件包版本是否存在已知漏洞
  2. 02按提交记录查询漏洞
  3. 03在一次请求中查询多个软件包

MCP 相关

该远程 MCP 服务向 MCP 客户端提供 `osv_query` 和 `osv_query_batch` 工具,用于查询 OSV v1 API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

OSV MCP 服务(Bun)

远程 Model Context Protocol(MCP)HTTP 服务,封装 OSV v1 API,可按需查询开源漏洞(示例源:https://osv.dev/list?q=%40NESTJS%2FCORE&ecosystem=npm)。将其导出为 MCP 工具,供 Agent 直接查询 OSV。

功能

  • 位于 /mcp 的可流式 HTTP MCP 端点。
  • 工具:osv_query(单个目标)和 osv_query_batch(多个目标)。
  • 可配置基础 URL(OSV_API_URL,默认为 https://api.osv.dev/v1)。
  • 清晰的架构和验证规则,为大模型提供指引(commit 与 version 二选一、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 OR",
  "version": "version string OR",
  "package": {
    "name": "required with ecosystem if not using purl",
    "ecosystem": "required with name if not using purl",
    "purl": "pkg:pypi/jinja2 // purl OR name+ecosystem; if version is present, omit @version here"
  },
  "pageToken": "optional pagination token from previous OSV response"
}

规则:

  • 使用 commit 或 version,二者必须且只能提供一个。
  • 如果提供了 version,则必须提供 package。
  • package 必须是 purl,或由 name 和 ecosystem 组成。
  • 如果提供了 version 并使用 package.purl,请在 purl 中省略 @version。

osv_query_batch

{
  "queries": [
    {
      "commit": "sha OR",
      "version": "version string OR",
      "package": {
        "name": "pkg name",
        "ecosystem": "ecosystem",
        "purl": "pkg:ecosys/name"
      },
      "pageToken": "optional"
    }
  ]
}

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

调用示例

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

调试

  • 服务日志:OSV MCP server listening on 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。参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。