CVE Tracker
Server Details
Search and filter public CVEs and read any of them in full, with CVSS scores, CISA KEV and EPSS, and profile vendors. Read-only, free and open source, no API key needed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 11 tools
Each tool targets a distinct facet: single CVE detail, EPSS history/movers, filter discovery, vendor/weakness rollups, timeline, search. The only soft overlap is between get_summary, get_stats, get_timeline and get_weekly_digest, which all report aggregate counts, though the descriptions distinguish headline totals vs. severity distribution vs. time buckets vs. a fixed weekly digest.
All names are snake_case verb_noun, dominated by a uniform get_* prefix with sensible discovery verbs (find_filter_values, search_cves). No camelCase or stylistic mixing, and the noun clearly identifies the resource or aggregation.
11 tools is well within the ideal range for a read-only CVE intelligence server, and each one covers a distinct query shape (detail, search, EPSS, aggregation, digest, filter lookup) without filler.
Coverage is strong for exploration and analysis: discovery, search with totals, detail, EPSS trends, vendor/weakness rollups, timelines and digests. Minor gaps exist—search is capped at 10,000 results and there is no explicit package/CPE-centric query or saved-watchlist workflow—but agents can work around these with narrower filters and get_timeline.
Available Tools
11 toolsfind_filter_valuesFind filter valuesBRead-onlyIdempotentInspect
The values a filter knows, with how many CVEs each has: how a vendor, product or CNA is spelled, which weaknesses or package ecosystems exist.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Part of the name to look for. Not used for ecosystem. | |
| kind | Yes | Which filter to list the values of. | |
| vendor | No | For kind "product": only the products of this vendor. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so safety is covered. The description adds that each value is returned with its CVE count, which is useful result context, but says nothing about result size, ordering, or truncation for large enumerations such as products.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the return shape (values plus CVE counts) and then the kinds. The trailing clause is slightly compressed, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only enumeration tool with full schema coverage and no output schema, the description covers what it returns and what kinds exist. It leaves out practical concerns an agent needs—roughly how many values come back, whether q paginates, and what to do with the counts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is documented, including that q is ignored for ecosystem and that vendor only applies to kind "product". The description adds the entity classes (vendor, product, CNA spelling, weaknesses, package ecosystems) but no further parameter behavior, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource—the distinct values a filter accepts—and names the kinds (vendor, product, CNA, weakness, ecosystem), which maps directly to the kind enum. It distinguishes itself from lookup siblings like get_vendor or get_weakness, though it doesn't explicitly say those tools fetch entity details rather than the value list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent must infer this is the discovery/autocomplete step before calling search_cves with a vendor, product, or CWE value. There is no explicit when-to-use statement, no mention of the alternative lookups, and no guidance on when to omit q or supply vendor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cveGet a CVEARead-onlyIdempotentInspect
Everything known about one CVE: description, dates, every CVSS score, CWE, CISA KEV entry, EPSS, SSVC, affected products and packages, solutions, references and links to the primary sources. Affected products, packages and references are cut to the first 25, with their total.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A CVE id, e.g. CVE-2021-44228. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile needs no repetition. The description adds a genuinely non-obvious trait: affected products, packages and references are truncated to 25 with totals reported, which tells the agent results may be incomplete. Auth, rate limits, and not-found behavior are still unstated, keeping it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core promise, followed immediately by the truncation caveat. The enumeration is dense but each item maps to a real payload category, so nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing the return payload, and it does so by enumerating field groups plus the 25-item truncation rule. It stops short of covering error/not-found behavior and whether truncated lists can be retrieved in full, which an agent calling this would benefit from knowing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter at 100% schema description coverage, with a regex pattern and an example already in the schema, so the baseline is 3. The description adds nothing about the id beyond that, but it also has no gap to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Everything known about one CVE" states a specific verb-equivalent (retrieve full detail), a specific resource (a single CVE), and enumerates the payload categories (CVSS, CWE, KEV, EPSS, SSVC, affected products, references). It is clearly distinguishable from the sibling search_cves by being a single-record deep lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: "one CVE" plus a required id conveys a point lookup, and the enumerated scope hints this is the deep-detail call rather than a search. However, it never says when to use this instead of search_cves, nor states a prerequisite such as "you must already have a valid CVE id."
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_epss_historyGet the EPSS history of a CVEARead-onlyIdempotentInspect
A CVE's EPSS (the probability of exploitation in the next 30 days) day by day over the last month, from FIRST.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A CVE id, e.g. CVE-2021-44228. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and closed-world, so the safety profile is covered. The description adds real behavioral context beyond that: the fixed one-month window, daily granularity, and the upstream source (FIRST). It omits what happens for CVEs with no EPSS data and does not mention pagination or result size, which for a daily series would be useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with zero filler, front-loading the resource and the time scope before the parenthetical definition. It reads as a fragment rather than a sentence, and 'last month' is slightly ambiguous relative to a caller's current date, but no wording is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with no output schema, the description tells the agent what the response represents (daily EPSS probability over the previous month) and where it comes from. Missing only edge-case behavior for CVEs lacking EPSS history and confirmation that the window is fixed rather than caller-controlled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage, including a regex pattern and an example, the schema fully carries parameter semantics. The description adds nothing about the id beyond what the schema states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: retrieves a CVE's EPSS score history, day by day, over the last month, and even defines EPSS inline. It does not, however, distinguish itself from the nearest sibling get_epss_movers, leaving the agent to infer which one gives a per-CVE trend versus an aggregate ranking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is for inspecting one CVE's exploitation-probability trend over time. There is no explicit when-to-use framing, no mention of prerequisites (e.g. whether EPSS data exists for older CVEs), and no naming of get_epss_movers or get_timeline as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_epss_moversFind rising exploitationARead-onlyIdempotentInspect
The CVEs whose EPSS rose the most over a day, a week or a month: up to 50, the largest rise first.
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | Today's scores against those of this long ago. | 7d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, closed-world behavior, so the bar is lower. The description adds the 50-result cap and the ordering (largest rise first), which are genuinely useful behavioral facts, but says nothing about tie-breaking, the baseline comparison mechanics, or whether CVEs with no prior score are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the resource, then the ranking, then the cap and sort order. Nothing is redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter ranked-list tool with no output schema, the essentials (what, cap, ordering) are present. It is silent on the shape of returned fields and on the 'rising exploitation' framing, which risks an agent over-reading EPSS movement as exploitation evidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the enum plus default are documented in the schema; the description only restates the three window options. It adds no extra meaning such as how a missing prior score affects a 30d comparison.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (CVEs) and a specific ranking operation (largest EPSS rise), with the window enumerated as day/week/month. It doesn't explicitly distinguish itself from the sibling get_epss_history, which an agent might read as overlapping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use is implied by 'rising exploitation' — a ranking/digest use case — but there is no explicit when-to-use or when-to-prefer-get_epss_history guidance, and no mention of whether rising EPSS implies actual exploitation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statsGet statisticsBRead-onlyIdempotentInspect
Severity, the most common weaknesses, vendors and CNAs of the CVEs published in a recent window.
| Name | Required | Description | Default |
|---|---|---|---|
| range | No | The window, ending now. | 30d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the description does not need to restate safety. It adds that the aggregate is over a recent window of published CVEs, but it does not disclose top-N limits, aggregation method, or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence fragment lists the returned dimensions without filler and is front-loaded with the core content. The fragmentary form is acceptable for a simple stats tool but leaves no verb framing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter aggregate tool with no output schema, naming the dimensions is useful, but the definition does not explain result structure, how many vendors or weaknesses are returned, or how it differs from close siblings. That leaves material ambiguity for invocation and result interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single range parameter has full schema coverage including enum values and its own description, so the schema carries most parameter meaning. The description's 'recent window' only loosely echoes the range parameter and adds no enum or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource (CVEs published in a recent window) and enumerates four aggregate dimensions, so an agent knows it returns aggregate statistics rather than individual CVEs. It does not distinguish itself from close siblings such as get_summary or get_weekly_digest, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no named alternative despite get_summary and get_weekly_digest covering adjacent aggregate or reporting use cases. The publication-window phrase implies a reporting use case but does not help an agent choose among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_summaryGet the overviewARead-onlyIdempotentInspect
The headline numbers (all CVEs, rejected, the last 24 hours, 7 and 30 days, critical in 30 days, known exploited) and when each data source was last read.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered and the description adds genuine content: the exact metric set returned and the inclusion of last-read timestamps per data source. It does not state refresh cadence or whether figures are live versus cached, so a small behavioral gap remains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the parenthetical metric enumeration is justified because no output schema exists to convey the return shape. It is slightly dense and could be split, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input parameters and no output schema, the description carries the whole burden of telling the agent what comes back, and it lists the metric families plus data-source freshness adequately. Return structure (keys, nesting, formatting) is unspecified, which is the only meaningful omission for a zero-argument overview tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline applies. It correctly avoids inventing parameter-like options (date ranges, filters) that an agent might otherwise expect from a stats tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource clearly ('headline numbers') and enumerates the exact metrics covered plus data-source read freshness, so an agent knows this returns an overview snapshot rather than a queryable list. It does not explicitly distinguish itself from similar-looking siblings like get_stats, get_timeline, or get_weekly_digest, which keeps it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the top-level orientation call before drilling into get_cve, get_stats, or search_cves, but the description never says when to prefer it over those siblings or what it is not for. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timelineCount CVEs over timeARead-onlyIdempotentInspect
How many CVEs matching a filter were published per hour, day, week, month or year (the bucket follows the period), split by severity. Use it for trends and exact counts.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | A CVE id or its start (CVE-2024-3), or words to find in the title, description, vendor and product. | |
| to | No | Last day (YYYY-MM-DD, UTC, inclusive) of a custom range. | |
| cwe | No | Only CVEs with this weakness, e.g. "CWE-79" (cross-site scripting). | |
| kev | No | Only CVEs in the CISA Known Exploited Vulnerabilities catalog. | |
| from | No | First day (YYYY-MM-DD, UTC, inclusive) of a custom range. | |
| range | No | When it was published. Default "all". "custom" uses from and to. | |
| vendor | No | Only CVEs whose record lists this vendor as affected, any case, e.g. "Microsoft". | |
| product | No | Only CVEs affecting this product (of the vendor, when one is given). | |
| assigner | No | Only CVEs assigned by this CNA, by its short name, any case, e.g. "GitHub_M". | |
| severity | No | Only these severities. NONE is a CVSS score of 0, UNKNOWN is not scored yet. | |
| ecosystem | No | Only CVEs with a reviewed GitHub advisory for a package of this ecosystem. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the bucket granularity follows the selected period and results are split by severity, which tells the agent what shape of answer to expect. It stops short of describing pagination or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the core question first and the granularity parenthetical immediately after; nothing is wasted. The parenthetical is slightly dense but still readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 optional parameters and no output schema, the description should say more about the returned structure (e.g. a series of buckets each with per-severity counts). It conveys the split and granularity but leaves the exact response shape and empty-bucket behavior to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 11 parameters is already documented in the schema. The description only alludes to 'a filter' generically and adds no syntax or interaction detail (e.g. how range interacts with from/to) beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('How many CVEs ... were published') plus the aggregation granularity (hour/day/week/month/year) and the severity split, which clearly separates it from a plain search or stats tool. It does not name a sibling tool explicitly, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use it for trends and exact counts' gives a hint about intent, but there is no explicit when-not guidance and no mention of alternatives such as get_stats or search_cves. Usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vendorProfile a vendor or productARead-onlyIdempotentInspect
One vendor's or product's CVEs: how many and how severe, per year, how many are known exploited, the top products and weaknesses, the newest and the known exploited ones.
| Name | Required | Description | Default |
|---|---|---|---|
| vendor | Yes | The vendor, any case, e.g. "Microsoft". | |
| product | No | A product of the vendor, for that product alone. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety and determinism are covered structurally. The description adds useful context by disclosing what the returned profile is composed of (yearly severity breakdown, exploited counts, top products/weaknesses). It does not state behavior for unmatched vendors, coverage ranges, or result size, so it earns only a moderate score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with no filler, and the resource ('One vendor's or product's CVEs') is front-loaded. The list-of-contents phrasing is slightly awkward and reads as a run-on, but every clause conveys a distinct piece of return-value information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry the return-value burden, and it does so by enumerating each component of the profile. Combined with fully documented parameters and safety annotations, an agent has enough to call this correctly; only edge-case behavior (unknown vendor, empty results) is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented there, including that product scopes to a single product of the vendor. The description's phrase 'One vendor's or product's' reinforces the optional product scoping but adds no syntax, matching rules, or case-handling detail beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — one vendor's or product's CVE profile — and enumerates its contents (counts, severity, yearly breakdown, known-exploited counts, top products/weaknesses, newest items). An agent can tell this is an aggregate profile rather than a raw CVE lookup. It does not explicitly contrast itself with siblings like get_summary, get_stats, or search_cves, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the enumerations suggest this is the tool for a vendor-level overview rather than per-CVE detail. There is no explicit when-to-use statement, no mention of when to prefer search_cves or get_cve instead, and no note on what happens for unknown vendors or partial product names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weaknessProfile a weaknessBRead-onlyIdempotentInspect
The CVEs of one weakness (CWE): how many and how severe, per year, the vendors it comes up for most, the newest and the known exploited ones.
| Name | Required | Description | Default |
|---|---|---|---|
| cwe | Yes | A CWE id, e.g. "CWE-79". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is fully covered. The description adds useful detail about what the response contains (per-year counts, vendor ranking, known-exploited flag), which matters since there is no output schema. It says nothing about pagination, result limits, or behavior on an unknown CWE id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that packs in the key scope and the returned facets without padding. Slightly awkward phrasing ('the vendors it comes up for most') costs a bit of polish but not comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, single-parameter, read-only lookup with full annotation coverage and full schema coverage, the description supplies an adequate picture of the returned data. Only missing pieces are routing guidance versus siblings and any limits on the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter and 100% schema description coverage (including a regex pattern and an example), the schema carries the semantics. The description only reinforces that the parameter identifies one weakness; no additional format or normalization guidance is offered. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource precisely — the CVEs associated with a single CWE — and enumerates the facets returned (counts and severity per year, top vendors, newest, known-exploited). That distinguishes it from siblings like get_cve (one CVE) or get_vendor. It lacks an explicit action verb, but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative. An agent must infer from the wording that this is the aggregate/rollup view of a weakness class rather than a single-record lookup. Given ten sibling tools, some explicit routing would have been valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weekly_digestGet a weekly digestARead-onlyIdempotentInspect
One ISO week of CVEs: counts by severity, the most severe, the additions to KEV, the top vendors and weaknesses.
| Name | Required | Description | Default |
|---|---|---|---|
| week | No | An ISO week, e.g. "2026-W45" (Monday to Sunday, UTC). Defaults to the last complete week. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as a safe, read-only, idempotent, non-destructive operation, so the safety profile is covered. The description adds useful context about what the digest contains, but it does not describe return format, aggregation behavior, or limitations beyond that content list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler. Every clause identifies part of the digest content, and there is no unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with no output schema, the description adequately communicates the digest contents. It could be stronger by clarifying the format or limits of the aggregated results, but it is sufficient for an agent to understand what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema fully documents the optional week parameter including format, UTC Monday-to-Sunday span, and default behavior. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource and scope: one ISO week of CVEs with severity counts, most severe CVE, KEV additions, top vendors, and weaknesses. It does not explicitly differentiate itself from siblings such as get_summary or get_stats, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the weekly-digest framing, but the description gives no explicit guidance on when to use this tool versus get_summary, get_stats, or get_timeline. There are no exclusions or alternative-routing instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cvesSearch CVEsBRead-onlyIdempotentInspect
Finds CVEs matching a filter and returns one page of them with the total, newest first by default. Reaches the first 10,000 results of a filter.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | A CVE id or its start (CVE-2024-3), or words to find in the title, description, vendor and product. | |
| to | No | Last day (YYYY-MM-DD, UTC, inclusive) of a custom range. | |
| cwe | No | Only CVEs with this weakness, e.g. "CWE-79" (cross-site scripting). | |
| dir | No | Default "desc" (newest or highest first). | |
| kev | No | Only CVEs in the CISA Known Exploited Vulnerabilities catalog. | |
| from | No | First day (YYYY-MM-DD, UTC, inclusive) of a custom range. | |
| page | No | Page number, from 1. | |
| sort | No | Order of the list. Default "published". "kevAdded" orders by when CISA added it to KEV. | |
| range | No | When it was published. Default "all". "custom" uses from and to. | |
| vendor | No | Only CVEs whose record lists this vendor as affected, any case, e.g. "Microsoft". | |
| product | No | Only CVEs affecting this product (of the vendor, when one is given). | |
| assigner | No | Only CVEs assigned by this CNA, by its short name, any case, e.g. "GitHub_M". | |
| pageSize | No | Rows per page, up to 100. | |
| severity | No | Only these severities. NONE is a CVSS score of 0, UNKNOWN is not scored yet. | |
| ecosystem | No | Only CVEs with a reviewed GitHub advisory for a package of this ecosystem. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds two genuinely useful facts not in the schema: results come back one page at a time with a total, and only the first 10,000 matches of a filter are reachable. It says nothing about filter combination semantics (AND/OR) or what an unfiltered call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with what the tool returns and followed by the one hard constraint. Nothing is redundant and nothing needs trimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter search tool with no output schema, the description covers the result envelope (page plus total) and the deep-paging cap, which are the highest-value omissions in the schema. It leaves out how the many filters combine and what happens with zero parameters, which an agent needs before composing a broad query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with per-parameter docs, enum explanations and examples, so the schema carries parameter meaning. The description only restates the default ordering ("newest first"), which the sort and dir parameters already document; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Finds CVEs matching a filter and returns one page of them" gives a specific verb (finds) and resource (CVEs) plus the shape of the result. It implicitly distinguishes itself from get_cve, which returns a single CVE, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not guidance and no routing to alternatives such as find_filter_values (to discover valid vendor/product values) or get_cve (to fetch one record). Usage must be inferred entirely from the name and the filter parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
11 tool updates
- First observed
find_filter_values - First observed
get_cve - First observed
get_epss_history - First observed
get_epss_movers - First observed
get_stats - First observed
get_summary - First observed
get_timeline - First observed
get_vendor - First observed
get_weakness - First observed
get_weekly_digest - First observed
search_cves
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityCmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs115 npm58 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.