Skip to main content
Glama
cliwant

mcp-sam-gov

by cliwant

cve_lookup

Read-only

Look up NIST NVD CVE records with CISA KEV status. Filter by CVE ID, keyword, CPE name, severity, or date range, and get combined CVSS and KEV remediation data for IT compliance.

Instructions

Look up NIST NVD CVE records (keyless; services.nvd.nist.gov CVE API 2.0) — exact by cveId (CVE-YYYY-NNNN) OR search by keyword/cpeName/cvssV3Severity/a publication or last-modified date range — each row JOINED with its CISA KEV (Known Exploited Vulnerabilities) status. THE B2G unlock for FedRAMP/CMMC/SBOM IT-compliance: CVSS severity AND whether CISA mandates remediation by a date, in one row. Returns { results:[{ cveId, vulnStatus, rejected, published, lastModified, description, cvssMetrics:[{version,source,type,baseScore,baseSeverity,vectorString,exploitabilityScore,impactScore}], primaryCvss:{version,baseScore,baseSeverity,type}|null, cwes, references, kev }] } + honest _meta. Optional kevOnly (KEV-listed rows only), resultsPerPage (≤2000, def 50), startIndex. CVSS HONESTY: every metrics key matching ^cvssMetric (V2/V30/V31/V40) is surfaced as its own cvssMetrics[] element — versions are NEVER conflated and ssvcV203/non-CVSS keys are excluded; V2 baseSeverity reads from the metric level; primaryCvss is the highest-version metric, preferring type:'Primary' but FALLING BACK to the highest Secondary (a real CNA score is never dropped), null ONLY when no CVSS exists (Rejected/Awaiting) — base scores are null-never-0. KEV HONESTY: kev is {listed:true,dateAdded,dueDate,ransomware,requiredAction,catalogVersion} | {listed:false,note} | {listed:null,status:'unavailable'}; a not-listed result carries the not-in-KEV≠safe caveat (absence is NOT a clearance); if the KEV catalog cannot load, kev.listed degrades to NULL (never false) with fieldsUnavailable:['kev'], and a kevOnly filter during that outage THROWS (a KEV-membership filter is unanswerable without the catalog). PAGINATION is from NVD's EXACT totalResults, never page length. A genuine totalResults:0 is an honest found:false; a 403/429 rate breach THROWS rate_limited with the NVD_API_KEY tier disclosure; 404/5xx/timeout/off-host-redirect THROW (never a fake-empty). An OPTIONAL free NVD_API_KEY (env; https://nvd.nist.gov/developers/request-an-api-key) lifts the rate and is sent ONLY in the apiKey header — never a URL/label/_meta/log.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cveIdNoExact CVE identifier CVE-YYYY-NNNN (^CVE-\d{4}-\d+$, validated client-side). Exact-lookup mode; a malformed cveId is rejected (invalid_input) — a malformed cveId 404s upstream. At least one of cveId/keyword/cpeName/cvssV3Severity/a date range is REQUIRED.
cpeNameNoA CPE 2.3 formatted string to match affected products (cpe:2.3:[aho]:… — e.g. cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*). Non-CPE input is rejected (invalid_input).
kevOnlyNoWhen true, return ONLY rows listed in the CISA KEV catalog. ★If the KEV catalog cannot be loaded, this THROWS (a KEV-membership filter is unanswerable without a loaded catalog) — it NEVER returns a silently-empty set (which would falsely read as 'none on the mandatory-remediation list').
keywordNoFree-text keyword search (NVD keywordSearch) over CVE descriptions (e.g. 'log4j', 'apache struts'). Control chars stripped, length-capped; rides only as a query param (SSRF-safe).
pubEndDateNoPublication-date window END (ISO YYYY-MM-DD). Paired with pubStartDate.
startIndexNoZero-based page offset (default 0). Pagination derives from NVD's exact totalResults, never the page length.
pubStartDateNoPublication-date window START (ISO YYYY-MM-DD). PAIRED with pubEndDate (both required together — NVD 404s a lone bound). A span >120 days is clamped forward to 120 days BEFORE the request and disclosed.
cvssV3SeverityNoFilter to a CVSS v3 base severity band (LOW|MEDIUM|HIGH|CRITICAL).
lastModEndDateNoLast-modified window END (ISO YYYY-MM-DD). Paired with lastModStartDate.
resultsPerPageNoRows per page (default 50, max 2000 — NVD's cap). Over-cap is refused, never silently clamped.
lastModStartDateNoLast-modified window START (ISO YYYY-MM-DD). PAIRED with lastModEndDate (both required together). A span >120 days is clamped + disclosed.
Behavior5/5

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

The description provides extensive behavioral details: CVSS metrics handling, KEV honesty with caveats, pagination from NVD's exact totalResults, error handling for rate limits and HTTP errors, and API key usage. Annotations give readOnlyHint and openWorldHint, and the description adds significant context without contradiction.

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 description is very long (multiple paragraphs) and covers many details. It is front-loaded with the main purpose, but the verbosity impacts conciseness. For a complex tool, it is acceptable, but could be more concise.

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?

The description is extremely complete: it explains input parameters, output structure (including nested objects), error states, rate limiting, and honesty policies. No output schema is provided, but the description compensates fully. It covers all necessary aspects for an agent to use the tool correctly.

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 description coverage is 100%, so baseline is 3. The description adds extra context beyond schema: validation details (cveId format, date pairing, max pages), edge cases (kevOnly throwing on KEV catalog failure, over-cap refused, date span clamping), and honesty policies. This adds meaningful value.

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 explicitly states the tool does CVE lookup via cveId or search parameters, with KEV join. It is specific about the resource (NIST NVD CVE records) and the verb (look up/search). The sibling tools are in completely different domains (USAS, SAM, etc.), so this tool is clearly distinguished.

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?

The description mentions the tool is for FedRAMP/CMMC/SBOM IT-compliance and includes CVSS severity and CISA KEV status. It does not explicitly say when NOT to use it or list alternatives, but given the sibling tools are unrelated, the usage context is clear.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cliwant/mcp-sam-gov'

If you have feedback or need assistance with the MCP directory API, please join our Discord server