Search and audit CVEs by keyword, severity, CWE, CISA KEV status, and CPE via the NIST National Vulnerability Database. STDIO or Streamable HTTP.
Strong tool definitions with comprehensive schemas, detailed descriptions, and clear parameter documentation. All 5 tools have explicit input schemas with types and descriptions. Tool names follow verb_noun convention (nvd_audit_cpe, nvd_search_cves, etc.). Descriptions are detailed (150-350 chars) and explain WHEN to use each tool. Parameters include enums, ranges, and mutual exclusivity constraints. Output schemas are documented in descriptions. Minor gaps: no explicit error handling guidance in descriptions, no per-tool permission declarations, and no confirmation patterns for potentially expensive operations (e.g., large limit values).
Find all CVEs affecting a specific product and version using CPE (Common Platform Enumeration). Requires either an exact CPE name (cpeName) or a partial match string (virtualMatchString) with optional version range bounds. With cpeName, NVD scopes results to configurations where the product is directly vulnerable, not merely referenced as a dependency. Use nvd_search_cpes first to resolve the correct CPE string for a product. Returns full CVE records.
Fetch one or more CVEs by ID from the NIST National Vulnerability Database. Returns CVSS scores across all available versions (v2.0, v3.0, v3.1, v4.0), CWE weakness classifications, affected CPE configurations, CISA KEV fields, and references. Up to 100 CVE IDs per call. For bulk lookups of more than 10 IDs, use brief: true — full records for 100 CVEs can exceed 1MB and exhaust context budgets.
Retrieve the change history for a single CVE — CVSS score revisions, reference additions, status transitions (e.g., "Received" → "Analyzed"), and CPE configuration updates. Use when tracking a CVE's escalation or investigating when a score changed. Events are returned newest-first by default; pass order="oldest" for the CVE's earliest events. For the current record, call nvd_get_cve instead. The NVD history endpoint is significantly slower than other NVD endpoints, especially without an API key — set NVD_API_KEY for reliable operation.
Search the NVD CPE (Common Platform Enumeration) dictionary by product keyword or partial match string. Returns CPE names, human-readable titles, and deprecation status. Use before nvd_audit_cpe to resolve the correct CPE name for a product — CPE strings are precise identifiers (e.g., cpe:2.3:a:apache:http_server:2.4.51:*:*:*:*:*:*:*) and must match exactly to audit the right product.
No error recovery guidance in tool descriptions. Descriptions do not explain what to do if a call fails (e.g., 'If NVD rate-limits, retry with a smaller limit' or 'If CPE not found, try nvd_search_cpes first').
No permission declarations. Tools do not state required scopes (e.g., 'read:nvd', 'audit:cpe'). This prevents least-privilege agent configuration and audit trail clarity.
nvd_get_cve_history description mentions 'significantly slower' but does not provide actionable guidance on timeout handling or when to use brief mode. Agents cannot infer retry strategy.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Search CVEs by keyword, severity, CWE, date range, or CISA KEV status. The primary discovery tool for vulnerability surveillance and triage workflows. pubDays and lastModDays are convenience shorthands that expand to date pairs; values over 120 days are clamped to the NVD maximum and reported in the response enrichment. Returns brief summaries — call nvd_get_cve for full detail on specific IDs. At least one filter is recommended; omitting all filters returns CVEs in default NVD index order (oldest first by CVE ID).
nvd_search_cves and nvd_audit_cpe accept large limit values (up to 2000) without warning about context window impact. Description should note 'Large limits (>100) may exceed context budgets; use pagination instead.'
No idempotency guarantees stated. Tools are read-only (safe), but descriptions do not explicitly say 'This tool is read-only and safe to retry' to guide agent retry logic.