MCP Server
Your agent guesses when it answers "is this package safe?" — its training data is months old
and it cannot run a package resolver. This endpoint gives it our data instead: grades from
live registry metadata, dependency counts from real npm install resolution, and
KEV/EPSS exploitation signals. Free, no key, read-only.
Install
Claude Code:
claude mcp add --transport http vulnrable https://vulnrable.com/api/mcp Or add to .mcp.json / claude_desktop_config.json:
{
"mcpServers": {
"vulnrable": {
"type": "http",
"url": "https://vulnrable.com/api/mcp"
}
}
} Tools
check_package- Security assessment of one npm or PyPI package: letter grade, findings, known vulnerabilities, deprecation status, and — for MCP servers in our directory — the real resolved dependency count. Use before recommending or installing a package.
list_mcp_servers- The MCP server directory with real resolved dependency counts. Use when recommending an MCP server, or to compare how much third-party code candidates pull into the agent. For a graded security assessment of one server, call check_package.
check_cve- Details for one CVE or GHSA identifier, including whether CISA lists it as actively exploited (KEV) and its EPSS exploitation probability. Use to judge real-world urgency.
latest_vulns- Recently published vulnerabilities from the tracked pool, ranked KEV-first then by EPSS. Use for "what should I worry about this week".
What it will and won't tell you
- Grades derive from metadata the package owner published and from public advisories — an automated scan, not a code audit.
- A grade of ? means the registry lookup failed and nothing was assessed. It is never a pass.
- Dependency counts come from real resolver output and are null when we have not resolved that package. The server never estimates a count.
- Every response carries the date its data was gathered. A package fixed after that date still reports its earlier grade.
Your config stays on your machine
There is deliberately no tool that accepts your .mcp.json. Sending it here would
transmit whatever secrets sit in its env block to our server. Agents read the
config locally and call check_package per package instead — same result, nothing
leaves your machine. To grade a whole config in your browser, use
the config checker.
Stateless JSON-RPC 2.0 over HTTP POST, protocol version 2025-06-18. Rate limited to 30 requests per minute per IP. Something wrong? Get in touch.