Skip to main content
Glama

VulnTracker MCP

check_version

Read-onlyIdempotent

The core question: which CVEs affect this exact version of a product, and which version fixes each? Returns (a) CVEs whose claims name this version, with evidence, confidence and fix versions, and (b) range_affected_cves: CVEs whose source gave a version range that contains this version (e.g. '3.0.0 to before 3.0.8'); affected_total adds both. all_versions_cves lists records whose source named no version at all, and shadowed_range_cves lists records where only an open-start '< X' entry covers this version while the same record also has an 'A..X' entry ending at the same X (one source gave a start, the other did not; the open-start entry may just be the same branch restated). An open-start entry whose end differs from every bounded entry is its own release line (node '<= 20.20.1' beside 22/24 lines) and counts as affected; neither is in affected_total, both need confirmation. fix_stated_by_source=false means the fix version was derived from a range bound, not stated by the vendor.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "product": "<product>",
      "version": "<version>"
    },
    "name": "check_version"
  }
}

Input Schema

NameRequiredDescriptionDefault
roleNo'affected' (CVEs affecting this version), 'fix' (CVEs this version fixes) or empty for both
limitNoMax CVEs (default 50, max 200)
productYesProduct slug or id
versionYesExact version string as the product publishes it, e.g. '3.0.7', '7.4.2'

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint), and the description goes well beyond them, disclosing the exact result buckets (direct claims, range_affected_cves, all_versions_cves, shadowed_range_cves) and how affected_total is composed. It also flags a genuine semantic caveat: fix_stated_by_source=false means the fix was derived from a range bound rather than stated by the vendor. Gaps: no mention of truncation/pagination behavior from limit, and no guidance on error cases or empty results.

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

Conciseness3/5

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

The core question is correctly front-loaded, but the remainder is a single dense run-on paragraph of jargon (shadowed_range_cves, open-start entries, restated branches) that is hard to parse on one read. Every clause is arguably substantive, yet the material would be far more usable as a short bulleted breakdown of the four result buckets.

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?

With no output schema, the description carries the return-value burden and does so thoroughly - defining four buckets, the affected_total arithmetic, and the fix_stated_by_source caveat. What is missing for a paginated, parameterized query is any statement about result limits or truncation and about what an unknown product/version returns.

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 100%, so product, version, role and limit are already documented with examples and defaults in the schema. The description adds nothing about the role or limit parameters - notably it never explains that results can be narrowed to 'affected' or 'fix' only, despite describing both categories at length. Baseline 3 applies when the schema carries the parameter burden.

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?

Opens with a specific, verb-driven scope statement: 'which CVEs affect this exact version of a product, and which version fixes each'. That is a clear resource+scope an agent can match to a request, and the scope ('exact version') implicitly distinguishes it from product-level siblings like product_cves. It stops short of naming an alternative, so the boundary is inferred rather than stated.

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?

Framing the tool as 'the core question' signals it is the default entry point, which is weak but real usage guidance. There is no explicit when-to-use vs. when-not, no mention of lookup_cve or product_cves as alternatives, and no stated preconditions (e.g. does the product need to be tracked first?).

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.

Resources