Skip to main content
Glama
MRFrazer25

vulnerability-exposure-mcp

Check report

check_report
Read-onlyIdempotent

Validates draft vulnerability reports against investigation tool results, flagging unsupported CVE IDs, versions, exposure claims, fix versions, and exploit claims to correct before finalizing.

Instructions

Run before giving the final report. Compares your draft with this investigation's tool results and key facts, with no model involved, and lists what they don't support: CVE or advisory IDs no lookup returned, version numbers and EPSS-style percentages that appear nowhere in the data, claims such as "end-of-life", "no patch available" or "internet-facing" that no source makes, unconfirmed CVEs filed as confirmed (and the reverse), misquoted fix versions, upgrade versions named when no version was given, and exploit claims the data doesn't back. Fix or remove each one.

Input Schema

NameRequiredDescriptionDefault
report_markdownYes
investigation_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so safety is covered. The description then adds genuinely new behavioral context: the comparison is deterministic ("with no model involved") and non-mutating of the report — it only lists problems for the agent to fix. It stops short of specifying the exact return shape, but that is a minor gap given the 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?

The trigger ("Run before giving the final report") is front-loaded, as is the core action and the remediation instruction. The long middle enumeration of failure modes is dense but each item earns its place by teaching the agent what to double-check; only minor trimming is possible.

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

Completeness4/5

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

For a two-parameter, no-output-schema, read-only tool, the description covers the essential question of when to call it and what it returns conceptually (a list of unsupported claims). Nothing critical is missing, though a note on whether the report is passed verbatim or re-read from the investigation would round it out.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden here. It only implicitly maps parameters: "your draft" implies report_markdown and "this investigation's tool results" implies investigation_id, with no guidance on markdown format, size limits, or how the investigation_id is obtained. Baseline 3 is appropriate — partial compensation, but not full.

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

Purpose5/5

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

The description names a specific action (compare draft report against this investigation's tool results and key facts) and enumerates the exact classes of unsupported claims it flags. That level of specificity clearly separates it from every sibling (cve_search, nvd_lookup, get_key_facts, etc.), none of which validate a report.

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

Usage Guidelines4/5

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

"Run before giving the final report" gives an unambiguous trigger point, and "Fix or remove each one" tells the agent what to do with the result. There are no explicit exclusions or named alternatives, but the placement in the workflow is clear enough that an agent would not confuse it with the lookup tools.

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