使用说明
OSV MCP服务器(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). - 明确模式和验证以指导LLM(提交XOR版本、檩条规则、分页)。
快速开始
要求:面包。
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客户端设置
- 克劳德代码CLI:
claude mcp add --transport http mcp-osv http://localhost:3000/mcp - VS代码:
code --add-mcp "{\"name\":\"mcp-osv\",\"type\":\"http\",\"url\":\"http://localhost:3000/mcp\"}" - MCP检查员:
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"
}
规则:
- 使用 提交 异或 版本 (一个或另一个,永远不要两者兼而有之)。
- 如果
version存在,package是必需的。 package必须是purl或 (name+ecosystem).- 如果
version存在和package.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:
{"package":{"name":"@nestjs/core","ecosystem":"npm"},"version":"10.2.10"} - 提交查找:
{"commit":"<sha>","package":{"ecosystem":"Go","name":"github.com/foo/bar"}}
调试
- 服务器日志:
OSV MCP server listening on http://<host>:<port>/mcp - 卷曲初始化:
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许可证。看 许可证.
