Skip to main content

first-epss-mcp-server

io.github.cyanheads/first-epss-mcp-serverVersion 0.2.0

Look up FIRST EPSS scores and daily history, find CVEs by threshold, and prioritize them with CVSS.

Status

Responds547 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:48 UTC
Latency
547 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://first-epss.caseyjhand.com/mcpResponds547 ms
No sign-in

Claude Code

claude mcp add --transport http first-epss-mcp-server https://first-epss.caseyjhand.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: first-epss-mcp-server
Remote MCP server URL: https://first-epss.caseyjhand.com/mcp

Cursor

{
  "mcpServers": {
    "first-epss-mcp-server": {
      "url": "https://first-epss.caseyjhand.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"first-epss-mcp-server","type":"http","url":"https://first-epss.caseyjhand.com/mcp"}'
Streamable HTTP
npm: @cyanheads/first-epss-mcp-server 0.2.0
Package only

npm (npx)

claude mcp add first-epss-mcp-server -- npx -y @cyanheads/first-epss-mcp-server@0.2.0
Streamable HTTP
npm: @cyanheads/first-epss-mcp-server 0.2.0
Package only

npm (npx)

claude mcp add first-epss-mcp-server -- npx -y @cyanheads/first-epss-mcp-server@0.2.0

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

5 tools

Tools of first-epss-mcp-server
Read-only
Idempotent
Open world
epss_get_scoresRetrieve latest available or historically dated FIRST EPSS probability and percentile for supplied CVEs. Process up to 500 unique entries from batchOffset; response byte limits can return fewer whole entries. Resume with nextBatchOffset as batchOffset, the original cves and returned score date as date. deferredCves were not queried; withheldCves were processed but omitted, and either list can be a declared preview. Missing scores remain unknown; use epss_list_reference for coverage and interpretation.Not declaredYesYesYes
epss_get_timeseriesRetrieve an EPSS anchor and up to 30 preceding daily observations for up to 50 unique CVEs from batchOffset. Response byte limits retain whole history items. Resume CVE batches with nextBatchOffset as batchOffset, the original cves and returned score date as date; withheldCves were processed, deferredCves were not queried, and lists can be declared previews. Exact 7-day and 30-day deltas require their calendar baselines; gaps remain unknown. Model boundaries do not explain score movement. Re-anchor using previousAnchorDate for the preceding history window; that snapshot may be unavailable.Not declaredYesYesYes
epss_list_referenceExplain FIRST EPSS interpretation, model publishing dates, lookup coverage and transparent prioritization policy. Use this static reference before interpreting missing scores, score movement or probability versus percentile thresholds.Not declaredYesYesNo
epss_prioritize_cvesAssign remediation tiers using latest or dated EPSS and caller-supplied CVSS base severity. Defaults are severity >= 7 and EPSS probability >= 0.10; select percentile explicitly for population rank. Missing severity stays in epssOnly and missing EPSS stays unscored. Thresholds are policy conventions, not FIRST guidance. Process up to 500 unique entries from batchOffset, returning whole entries within the byte budget. Resume using nextBatchOffset as batchOffset, the original cves with original cvssBaseScore values, returned score date as date, and the same severityThreshold and likelihood. Deferred lists may be declared previews; withheldCves were already processed.Not declaredYesYesYes
epss_query_thresholdDiscover CVEs using inclusive EPSS or percentile bounds, CVE year or dataset-addition recency; filters intersect and at least one is required. Examine one candidate page in the upstream FIRST order, which is not ranked by EPSS, so the first page does not hold the highest scores. Each serialized response surface fits 65536 UTF-8 bytes; budgetLimited and withheldCount disclose whole matches withheld, with nextOffset at the first withheld match. Year filtering can return an empty page with nextOffset; candidateTotal is a broad-query total, not an exact-year total. Continue with the same filters, limit, returned score date and nextOffset.Not declaredYesYesYes

Details

Registry status
Active
Published
Oct 29, 2026
Updated
Oct 29, 2026
Website
Not given
Categories (suggested)
SecuritySuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing