Skip to main content
Glama

first-epss-mcp-server

Epss Query Threshold

epss_query_threshold
Read-onlyIdempotent

Discover 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 ordered by EPSS descending. 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.

Input Schema

NameRequiredDescriptionDefault
dateNoUTC date YYYY-MM-DD from 2021-04-14 through today; omitted or blank selects latest available data.
yearNoExact CVE year from 1999 through the current UTC year; candidate pages may contain no matches.
limitNoRequested candidates per page; positive safe integers above 10000 are clamped to 10000 before exact-year filtering.
offsetNoCandidate-space offset; use returned nextOffset for continuation.
maxEpssNoInclusive maximum EPSS probability.
minEpssNoInclusive minimum EPSS probability.
maxPercentileNoInclusive maximum population percentile rank.
minPercentileNoInclusive minimum population percentile rank.
addedWithinDaysNoDataset-addition recency relative to upstream present, independent of historical date.

Output Schema

NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
noticeNoMissing-data, deferred-work or model-metadata caveats.
scoresNoRetained records from this candidate page.
filtersNoApplied filters; combine with provenance scoreDates to pin continuation.
paginationNoCandidate pagination accounting.
provenanceNoSnapshot source and model metadata, including dates from filtered-out candidates.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the readOnly/idempotent/openWorld annotations: it discloses the 65536-byte response cap, the budgetLimited and withheldCount fields, nextOffset pointing at the first withheld match, empty pages under year filtering, and the broad-query nature of candidateTotal. That is exactly the operational context an agent cannot get from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose and the filter-intersection rule, then moves to paging and caveats. Dense and every sentence carries information, though the phrasing is packed tightly enough to require a re-read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter filtered/paginated tool with an output schema, it covers the pieces the schema cannot: pagination continuation protocol, byte-budget truncation signals, and the year-filter empty-page trap. An agent can call and page it correctly from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns more by explaining cross-parameter behavior the schema cannot: filters intersect, at least one is required, limit clamping above 10000 happens before year filtering, and offset must come from nextOffset.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Discover CVEs' with inclusive EPSS/percentile bounds, year, or recency filters. It is clearly a threshold-based discovery tool, distinguishable from get_scores/timeseries/prioritize siblings by implication, though it never names them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a real selection rule — filters intersect and at least one is required — plus continuation instructions. But it never says when to reach for this instead of epss_get_scores or epss_prioritize_cves, leaving the sibling choice to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.