first-epss-mcp-server
io.github.cyanheads/first-epss-mcp-serverVersion 0.2.0Look up FIRST EPSS scores and daily history, find CVEs by threshold, and prioritize them with CVSS.
Status
Responds547 msAnswered our handshake without sign-in.- 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 msNo sign-in
Claude Code
claude mcp add --transport http first-epss-mcp-server https://first-epss.caseyjhand.com/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: first-epss-mcp-server
Remote MCP server URL: https://first-epss.caseyjhand.com/mcpCursor
{
"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.0Package only
npm (npx)
claude mcp add first-epss-mcp-server -- npx -y @cyanheads/first-epss-mcp-server@0.2.0Streamable HTTP
npm: @cyanheads/first-epss-mcp-server 0.2.0Package only
npm (npx)
claude mcp add first-epss-mcp-server -- npx -y @cyanheads/first-epss-mcp-server@0.2.0Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
5 tools
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 declared | Yes | Yes | Yes |
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 declared | Yes | Yes | Yes |
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 declared | Yes | Yes | No |
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 declared | Yes | Yes | Yes |
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 declared | Yes | Yes | Yes |
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