Kodus OSV
Open source vulnerability lookup via osv_query/osv_query_batch tools.
OSV MCP Server (Bun)
Remote Model Context Protocol (MCP) HTTP server that wraps the OSV v1 API for on-demand open-source vulnerability lookups (example feed: https://osv.dev/list?q=%40NESTJS%2FCORE&ecosystem=npm). Exported as MCP tools so agents can query OSV directly.
Features
- Streamable HTTP MCP endpoint at
/mcp. - Tools:
osv_query(single target) andosv_query_batch(multiple). - Configurable base URL (
OSV_API_URL, defaults tohttps://api.osv.dev/v1). - Clear schemas and validation to guide LLMs (commit XOR version, purl rules, pagination).
Quick start
Requirements: Bun.
bun install
PORT=3000 HOST=0.0.0.0 OSV_API_URL=https://api.osv.dev/v1 bun run index.ts
MCP endpoint: http://<host>:<port>/mcp.
Env vars:
PORT/HOST: HTTP bind (default3000/0.0.0.0).OSV_API_URL: override OSV base URL.
MCP client setup
- 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-> connect tohttp://localhost:3000/mcpReplacelocalhostwith your host/port if remote.
Tools and parameters
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"
}
Rules:
- Use commit XOR version (one or the other, never both).
- If
versionis present,packageis required. packagemust be eitherpurlor (name+ecosystem).- If
versionexists andpackage.purlis used, omit@versionin the purl.
osv_query_batch
{
"queries": [
{
"commit": "sha OR",
"version": "version string OR",
"package": {
"name": "pkg name",
"ecosystem": "ecosystem",
"purl": "pkg:ecosys/name"
},
"pageToken": "optional"
}
]
}
Rules: each item follows the same rules as osv_query.
Example calls
- PyPI version:
{"package":{"purl":"pkg:pypi/jinja2"},"version":"3.1.4"} - npm with name+ecosystem:
{"package":{"name":"@nestjs/core","ecosystem":"npm"},"version":"10.2.10"} - Commit lookup:
{"commit":"<sha>","package":{"ecosystem":"Go","name":"github.com/foo/bar"}}
Debugging
- Server log:
OSV MCP server listening on http://<host>:<port>/mcp - Curl init:
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 - List tools: same endpoint with
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
License
MIT License. See LICENSE.
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Figma
Access and interact with Figma files and prototypes directly from AI agents.
ReAPI OpenAPI
Serves multiple OpenAPI specifications to enable LLM-powered IDE integrations.
Ollama MCP Bridge
A bridge API service connecting Ollama with Model Context Protocol (MCP) servers.
Buildkite
Integrate with the Buildkite API to search and manage CI/CD pipelines.
mcpproxy-go
Open-source local MCP proxy server. Routes multiple MCP servers through a single endpoint with BM25 tool filtering, quarantine security, activity logging, and web UI.
MCP Code Crosscheck
A server for bias-resistant AI code review using cross-model evaluation.
Tinyman MCP
An MCP server for the Tinyman protocol on the Algorand blockchain, offering tools for swaps, liquidity provision, and pool management.
Smart AI Bridge
Intelligent Al routing and integration platform for seamless provider switching
Linkinator
A Model Context Protocol (MCP) server that provides link checking capabilities using linkinator. This allows AI assistants like Claude to scan webpages and local files for broken links.
Jupyter Earth MCP Server
Provides tools for geospatial analysis within Jupyter notebooks.