Skip to content
CVE Tracker
  • Newest CVEsPage
  • Recently added to KEVPage
  • Rising exploitation (EPSS)Page
  • Weekly digestPage
  • StatisticsPage
  • WatchlistPage
  • API documentationPage
  • MCP serverPage
  • Data sourcesPage
  • ChangelogPage
  • AboutPage
  • How it's builtPage

CVE Tracker MCP server

CVE Tracker is also a Model Context Protocol server, so an AI assistant can look up CVEs itself instead of guessing from what it remembers. It reads the same data as the site and the JSON API, refreshed every few minutes. It is free and read-only, with no key and no account.

https://api.trackcve.app/v1/mcp

Connect a client

The server speaks Streamable HTTP, so a client needs only the address above.

Claude Code

claude mcp add --transport http cve-tracker https://api.trackcve.app/v1/mcp

Claude and Claude Desktop: under Settings, Connectors, add a custom connector with the address above.

Cursor, in ~/.cursor/mcp.json:

{
    "mcpServers": {
        "cve-tracker": { "url": "https://api.trackcve.app/v1/mcp" }
    }
}

VS Code, in .vscode/mcp.json:

{
    "servers": {
        "cve-tracker": { "type": "http", "url": "https://api.trackcve.app/v1/mcp" }
    }
}

Any other client: give it the address, with no authentication. To try the tools by hand, run the MCP Inspector:

npx @modelcontextprotocol/inspector

What to ask

  • "Is CVE-2021-44228 known to be exploited, and which versions are affected?"
  • "Which critical CVEs were published in the last 7 days for Microsoft products?"
  • "Which CVEs affecting npm packages have the highest EPSS?"
  • "How has the number of SQL injection CVEs changed over the years?"
  • "What did CISA add to KEV this week?"

Tools

Every tool only reads. Each answers JSON in the shapes of the JSON API. The filter is the same as the API's filter parameters.

ToolWhat it answersInput
search_cvesOne page of CVEs for a filter, with the totalThe filter, sort, dir, page, pageSize (default 20, up to 100)
get_cveOne CVE in full; affected products, packages and references are cut to the first 25, with their totalid
get_epss_historyA CVE's EPSS day by day over the last monthid
get_timelineHow many CVEs of a filter were published per hour, day, week, month or year, by severityThe filter
get_summaryThe headline counts, and when each source was last readNone
get_vendorOne vendor's or product's CVEs by severity and year, its top products and weaknessesvendor, product
get_weaknessOne weakness's CVEs by severity and year, and the vendors it comes up for mostcwe
get_weekly_digestOne ISO week: counts, the most severe, additions to KEV, top vendors and weaknessesweek (default the last complete week)
get_statsSeverity, the top weaknesses, vendors and CNAs of a recent windowrange: 7d, 30d (default), 90d, 12m
get_epss_moversThe CVEs whose EPSS rose the mostwindow: 1d, 7d (default), 30d
find_filter_valuesHow a vendor, product or CNA is spelled; which weaknesses and ecosystems exist, with their countskind: vendor, product, assigner, cwe, ecosystem; q; vendor

A value a tool cannot read is answered with the problem instead of being dropped, unlike the API's lenient default: a typo never widens the result to every CVE.

Good to know

  • Fair use. Each message to the server is one request. It counts against the rate limit of the API and against 60 requests a minute per address for this server, with 1,200 a minute for all callers together. The RateLimit-* headers report your share per address. Over any of the limits, the HTTP answer is 429 with Retry-After.
  • Busy is normal. The site comes first: agents share one query at a time, and a few more may wait. Beyond that, a tool answers The server is busy; try again shortly, so retry after a moment.
  • No open connections. Every call is one request and one answer. The tools do not change while the server runs, so change notifications are not offered.
  • Text from third parties. Titles, descriptions and references are written by the CNAs that publish the records. A client should treat them as data, never as instructions; the server tells it so.
  • Not a scanner. It shows public data as published, without warranty. It knows nothing about your systems, so check the primary source before acting on an answer.
  • In the browser. The site's pages also offer WebMCP tools to an agent running in the browser. Those can also move the page. This server is for every other client.
  • Calls from web pages. A request with an Origin header the server does not know is refused with 403. Programs send no such header.

Self-hosting

The server is part of the backend: POST /v1/mcp on your own API host. Both the 2026-07-28 protocol revision and the 2025 ones are served, without sessions.

VariableDefaultMeaning
MCP_ENABLEDtruefalse answers 404 at /v1/mcp; the rest of the API is untouched
RATE_LIMIT_MCP_PER_MINUTE60Requests per caller per minute, on top of the general limit
RATE_LIMIT_MCP_TOTAL_PER_MINUTE1200Requests per minute for all callers together