Skip to main content
Glama

nist-nvd-mcp-server

Server Details

Search and audit NIST NVD CVEs by keyword, severity, CWE, CISA KEV status, and CPE.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/nist-nvd-mcp-server
GitHub Stars
1
Server Listing
nist-nvd-mcp-server

TDQS

A4.6/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct workflow: searching CVEs, fetching full CVE records, retrieving CVE history, searching CPEs, and auditing products via CPE. The overlap between nvd_search_cves and nvd_audit_cpe is mitigated by clearly different inputs and purposes.

Naming Consistency5/5

All tools follow a consistent nvd_<verb>_<noun> convention using clear verbs like audit, get, and search. There is no mixing of styles or vague action words.

Tool Count5/5

Five tools is a well-scoped size for an NVD client, covering searching, detail retrieval, history, CPE resolution, and product auditing. Each tool earns its place with no obvious redundancy.

Completeness4/5

Core vulnerability workflows are well covered: search CVEs, retrieve full CVE details and history, resolve CPEs, and audit specific product versions. Minor gaps exist around secondary NVD data such as dedicated CWE/weakness browsing, but agents can work around these using the existing search and CVE detail tools.

Available Tools

5 tools
nvd_audit_cpeAudit CPE for VulnerabilitiesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of CVEs to return (default 20, max 2000).
offsetNoZero-based page offset for pagination. Page through totalCount with a modest limit rather than raising limit — this tool returns full CVE records, so a large limit is a large response.
cpeNameNoFull CPEv2.3 name (e.g., "cpe:2.3:a:apache:http_server:2.4.51:*:*:*:*:*:*:*"). NVD adds isVulnerable automatically. Mutually exclusive with virtualMatchString.
versionEndNoUpper version bound. Requires virtualMatchString.
severityMinNoFilter out CVEs below this severity level. Applied after NVD returns the page, so it can only drop CVEs within limit — raise limit to widen what it sees.
allLanguagesNoWhen true, keeps every localized description NVD supplies on each record. Default keeps English only.
versionStartNoLower version bound. Requires virtualMatchString.
versionEndTypeNoWhether the upper version bound is inclusive or exclusive.including
versionStartTypeNoWhether the lower version bound is inclusive or exclusive.including
virtualMatchStringNoPartial CPE match pattern (e.g., "cpe:2.3:a:apache:http_server:*"). Use with versionStart/versionEnd for version range audits. Mutually exclusive with cpeName.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cvesNoFull CVE records for CVEs affecting the specified product.
errorNoPresent when the call failed. Absent on success.
noticeNoGuidance on the shape of this page. When no CVEs came back it distinguishes a target NVD holds no CVEs for from a severityMin filter that dropped everything on the page, from an offset past the result set, from an empty page NVD returned inside a range it says has matches. On a partial page it names the offset that reaches the next one.
offsetNoPage offset used in this query.
returnedNoNumber of CVE records returned.
totalCountNoTotal CVEs matched before pagination.
auditTargetNoThe CPE name or virtual match string used for this audit.
severityMinNoThe client-side minimum severity filter applied. Absent when none was set.
filteredCountNoCVEs dropped by the severityMin filter from the page NVD returned. Present whenever severityMin is set; 0 means the filter dropped nothing, so a narrow result reflects totalCount and limit instead. This is not totalCount minus returned — CVEs beyond limit were never fetched and so were never evaluated against the filter.

TDQS

A4.4/5.0
Behavior4/5

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

With readOnlyHint=true and idempotentHint=true already in annotations, the description adds meaningful context by revealing that with cpeName, results are scoped to configurations where the product is 'directly vulnerable, not merely referenced as a dependency.' It also states that it returns full CVE records, which sets expectations beyond what annotations convey, though it does not address rate limits or other side effects — not required given the annotation coverage.

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

Conciseness5/5

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

Four sentences, each earning its place: purpose, required input modes, scoping nuance, and the prerequisite tool. The most important information is front-loaded, and there is no filler or redundancy.

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?

The tool is complex (10 parameters, 0 required), but the schema and output schema cover input mechanics and return structure well. The description provides the essential context an agent needs to choose this tool, including the prerequisite nvd_search_cpes and the behavioral nuance around cpeName. It does not explicitly mention pagination or severity filtering, but those are already described in the schema, so the description is sufficiently complete.

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 the baseline is 3. The description enriches the cpeName vs virtualMatchString distinction by explaining the scoping difference between an exact CPE match and a partial match with version bounds, and it reinforces the mutual exclusivity condition. This adds semantic nuance beyond the schema's field descriptions, justifying a 4.

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 opens with a specific verb and resource: 'Find all CVEs affecting a specific product and version using CPE,' which immediately states the tool's function. It further distinguishes itself from generic CVE search by explaining the scope difference when using cpeName vs virtualMatchString, and it names nvd_search_cpes as a prerequisite, clearly delimiting its role relative to siblings.

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 explicitly directs the agent to 'Use nvd_search_cpes first to resolve the correct CPE string for a product,' providing a clear when-to-use instruction, and it states the required input modes (cpeName or virtualMatchString with optional version bounds). However, it does not explicitly contrast with nvd_search_cves or other siblings, so it stops short of the explicit 'when-not-to-use' guidance needed for a 5.

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

nvd_get_cveGet CVE DetailsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
briefNoWhen true, returns trimmed records (ID, status, top CVSS score, KEV name, published date, and a truncated description) instead of full detail. Recommended for batches of more than 10 IDs.
cveIdsYesOne CVE ID or an array of up to 100 CVE IDs to fetch.
allLanguagesNoWhen true, keeps every localized description NVD supplies on each record, and full records render all of them. Default keeps English only, falling back to whatever exists if a record has no English entry. Brief records always carry a single truncated description.
includeReferencesNoWhen false, omits the references array to reduce response size.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cvesNoCVE records — full detail by default, trimmed rows when brief is true.
briefNoWhether brief or full records were returned.
errorNoPresent when the call failed. Absent on success.
returnedNoNumber of CVE records returned.
requestedNoNumber of CVE IDs requested.
missingIdsNoCVE IDs requested but not found in NVD. Absent when all IDs matched.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds meaningful behavioral context beyond that: the response shape (CVSS versions, CWE, CPE, KEV, references), the 100-ID cap, and a concrete size warning about 1MB+ responses. This goes beyond the minimum expected.

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

Conciseness5/5

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

Three tightly written sentences with no filler. The core action and scope come first, followed by return-value summary, then the capacity warning and parameter recommendation. Every sentence earns its place.

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?

For a read-only lookup tool with a rich output schema and full parameter documentation, the description is complete. It covers the main operational caveat (response size for large batches), the ID limit, and the available fields. Nothing needed to call it correctly is missing.

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 coverage is 100%, so the baseline is 3. The description adds practical semantics for the brief parameter by recommending it for batches over 10 IDs and explaining the context-budget rationale. This provides value above the schema's default-value description, justifying a 4.

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 opens with a specific verb and resource: 'Fetch one or more CVEs by ID from the NIST National Vulnerability Database.' It enumerates the returned data (CVSS versions, CWE, CPE, KEV, references), making the tool's role unmistakable and clearly distinct from the search-oriented sibling tools.

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 states this tool is for fetching by CVE ID, which implies it should be used when IDs are already known, distinguishing it from nvd_search_cves. It also gives explicit guidance for bulk usage: 'For bulk lookups of more than 10 IDs, use brief: true.' It lacks an explicit 'when not to use' or named alternatives, but the context is clear.

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

nvd_get_cve_historyGet CVE Change HistoryA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cveIdYesCVE identifier to retrieve history for (e.g., "CVE-2021-44228").
limitNoMaximum number of change events to return (default 20, max 2000).
orderNoWhich end of the history to page from. Default "newest" returns the most recent events first, which is what escalation and re-score questions need. "oldest" returns NVD's native order (the CVE's first events first) and costs one upstream request, or two when the offset overruns the history; "newest" costs up to two on any history longer than limit.newest
offsetNoZero-based offset for paginating through change events, counted from whichever end order anchors to: offset 0 is the newest event under the default order="newest", and the oldest event under order="oldest".

Output Schema

ParametersJSON Schema
NameRequiredDescription
cveIdNoThe CVE ID for which history was retrieved.
errorNoPresent when the call failed. Absent on success.
orderNoWhich end of the history this page was anchored to.
noticeNoGuidance on the shape of this page. When no events came back it distinguishes an offset past the end of the history, from an empty page NVD returned inside a range it says has events, from a CVE NVD holds no history for — the last of which covers both a record it has never revised and a CVE ID it does not hold. On a partial page it names the offset that reaches the next one, counted from the same end order anchors to.
offsetNoPage offset used in this query.
changesNoCVE change events ordered to match the requested order — newest first by default, oldest first when order="oldest".
returnedNoNumber of change events returned in this response.
totalCountNoTotal change events on record for this CVE.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds meaningful behavioral context: newest-first default ordering, the ability to request oldest order, and a performance warning about the endpoint being slower without an API key. None of this contradicts 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.

Conciseness5/5

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

Four sentences with no filler. The purpose is front-loaded, and each subsequent sentence adds distinct value: use cases, ordering behavior, alternative tool, and performance/API guidance. Every sentence earns its place.

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?

Given the presence of a full output schema and a comprehensive input schema, the description covers the essential operational context: what the tool returns (change history types), when to use it, how to control ordering, and a critical performance caveat. Nothing an agent needs to call it correctly is missing.

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 coverage is 100%, and the schema itself already provides rich descriptions for every parameter, including the order enum's cost implications and the offset anchoring. The description repeats the newest-first default but adds little beyond the schema. Since the schema carries the semantic load, a baseline 3 is appropriate.

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 opens with a specific verb-resource pair ('Retrieve the change history for a single CVE') and enumerates the concrete change types (CVSS revisions, reference additions, status transitions, CPE updates). It also distinguishes itself from the sibling nvd_get_cve by explicitly directing agents to that tool for the current record, so there is no ambiguity.

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

Usage Guidelines5/5

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

It gives explicit use cases ('tracking a CVE's escalation or investigating when a score changed') and an explicit exclusion ('For the current record, call nvd_get_cve instead'). It also adds operational guidance (set NVD_API_KEY due to endpoint slowness), which informs when to use it versus alternatives.

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

nvd_search_cpesSearch CPE DictionaryA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of CPE entries to return (default 20, max 10000).
offsetNoZero-based page offset for pagination. When totalCount exceeds offset + returned, raise offset to reach the rest — a vendor-level keyword has nothing left to narrow toward.
keywordNoProduct name or vendor keyword (e.g., "apache http server", "openssl", "nginx"). At least one of keyword or cpeMatchString is required.
cpeMatchStringNoPartial CPEv2.3 pattern (e.g., "cpe:2.3:a:apache:http_server"). At least one of keyword or cpeMatchString is required.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cpesNoMatching CPE dictionary entries.
errorNoPresent when the call failed. Absent on success.
noticeNoGuidance when no CPEs matched, the offset ran past the result set, NVD returned an empty page inside a range it says has matches, or entries remain beyond this page.
offsetNoPage offset used in this query.
returnedNoNumber of entries returned in this response.
totalCountNoTotal matching CPE entries before the limit was applied.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, covering the safety profile. The description adds meaningful behavioral context: it returns deprecation status and emphasizes the precision of CPE strings, which is not apparent from annotations or schema. It does not contradict the annotations, and adds value beyond them.

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

Conciseness5/5

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

The description is two sentences with no wasted words. The core purpose and return values are front-loaded, and the usage guidance is placed right after. It is concise, structured, and every sentence earns its place.

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?

For a read-only search tool with annotations covering safety and an output schema, the description is complete. It covers what the tool does, what it returns, and when to use it. The only potential gap (pagination behavior) is already documented in the schema via the offset description. An agent has everything needed to call it correctly.

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 all parameters (limit, offset, keyword, cpeMatchString) are already documented in the schema. The description reiterates the two main search modes (keyword or partial match) but does not add new meaning beyond the schema. Baseline 3 is appropriate since the schema handles parameter documentation.

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 clearly states the tool's purpose: searching the NVD CPE dictionary by keyword or partial match, and lists the return types (CPE names, titles, deprecation status). It explicitly differentiates itself from the sibling nvd_audit_cpe by explaining it is a prerequisite for that tool, so an agent can immediately tell when to use it.

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

Usage Guidelines5/5

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

The description gives explicit guidance: 'Use before nvd_audit_cpe to resolve the correct CPE name'. It also explains why exact matching matters, which helps the agent understand the workflow. While it doesn't list exclusions for every sibling, the primary alternative is named and 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.

nvd_search_cvesSearch CVEsA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
cweIdNoFilter by CWE weakness ID (e.g., "CWE-79", "NVD-CWE-Other").
limitNoMaximum number of results to return (default 20, max 2000).
offsetNoZero-based page offset for pagination.
kevOnlyNoWhen true, filters results to CVEs in the CISA Known Exploited Vulnerabilities catalog.
keywordNoFull-text search across CVE descriptions (AND-semantics across words).
pubDaysNoCVEs published in the last N days (max 120; values over 120 are clamped). Mutually exclusive with pubStartDate/pubEndDate.
severityNoFilter to CVEs in exactly this CVSS severity band — NVD matches the one band, not a floor. Covering several bands (e.g. HIGH and CRITICAL) takes one call per band.
noRejectedNoWhen true (default), excludes CVEs with REJECT/Rejected status.
pubEndDateNoISO 8601 datetime for publication range end. Both pubStartDate and pubEndDate required together.
exactPhraseNoWhen true, keyword matches as an exact phrase rather than ANDing its words independently. Requires keyword.
lastModDaysNoCVEs last modified in the last N days (max 120; values over 120 are clamped). Mutually exclusive with lastModStartDate/lastModEndDate.
pubStartDateNoISO 8601 datetime for publication range start. Both pubStartDate and pubEndDate required together. Mutually exclusive with pubDays.
lastModEndDateNoISO 8601 datetime for last-modified range end. Both required together.
severityVersionNoCVSS version to use for the severity filter. Default: v3 (maps to cvssV3Severity).v3
lastModStartDateNoISO 8601 datetime for last-modified range start. Both required together. Mutually exclusive with lastModDays.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cvesNoMatching CVE summaries. Call nvd_get_cve for full detail on specific IDs.
errorNoPresent when the call failed. Absent on success.
noticeNoGuidance when no CVEs were returned — distinguishes a query nothing matched from an offset past the result set from an empty page NVD returned inside a range it says has matches — or, on a partial page, the offset that reaches the next one.
offsetNoPage offset used in this query.
returnedNoNumber of CVEs returned in this response.
totalCountNoTotal matching CVEs in NVD before pagination.
datesClampedNoEntries for any pubDays/lastModDays values that exceeded 120 and were auto-clamped. Absent when no clamping occurred.
filtersAppliedNoThe non-default filters this query actually applied — the ones that can account for an empty or unexpectedly narrow result set. Absent when the query ran unfiltered, which is itself the answer when a result set is unexpectedly broad.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already mark the tool read-only, and the description adds non-obvious behaviors: pubDays/lastModDays expand to date pairs with values over 120 days clamped and reported in response enrichment, and an unfiltered query returns NVD default index order (oldest first). It also discloses that results are brief summaries. No contradiction with readOnlyHint.

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

Conciseness5/5

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

Five sentences, each carrying distinct information: scope, role, shorthand behavior, routing to nvd_get_cve, and the unfiltered default order. The content is front-loaded with the main action and doesn't repeat schema or annotation details. No filler.

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 15-parameter tool with a rich schema and output schema, the description covers the high-level purpose, the key parameter behavior (clamping/date-pair expansion), the routing rule, and the unfiltered default. It could add operational details like rate limits and ordering for filtered queries, but the essential call-time behavior is present.

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 coverage is 100% with detailed descriptions, defaults, enums, and mutual exclusions for all 15 parameters. The description adds a small amount beyond the schema: pubDays/lastModDays are 'convenience shorthands that expand to date pairs' and clamped values are 'reported in the response enrichment,' which tells the agent where to observe the clamp. This modest addition justifies a slight bump above the high-coverage baseline.

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 opens with a specific verb and object ('Search CVEs') and enumerates the filter dimensions (keyword, severity, CWE, date range, KEV status). It positions the tool as the 'primary discovery tool' and explicitly routes full-detail lookups to nvd_get_cve, distinguishing it from that sibling. The resource focus on CVEs also separates it from nvd_search_cpes.

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

Usage Guidelines5/5

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

It states a clear usage context: 'primary discovery tool for vulnerability surveillance and triage workflows.' It also gives an explicit when-not and alternative: since it 'returns brief summaries,' the agent is told to 'call nvd_get_cve for full detail on specific IDs.' The recommendation to use at least one filter and the warning about default index order provide operational guidance.

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.

  1. 5 tool updates
    • First observednvd_audit_cpe
    • First observednvd_get_cve
    • First observednvd_get_cve_history
    • First observednvd_search_cpes
    • First observednvd_search_cves

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables CVE vulnerability lookup and search using the National Vulnerability Database (NVD), allowing users to retrieve detailed information about specific CVEs and search for vulnerabilities by keyword.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying CVE vulnerability data from the NIST National Vulnerability Database, including CVE lookup, product/version search via CPE filters, CVSS severity scores, and recent high-severity disclosures.
    2 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables users to retrieve and display CVE vulnerability information from the National Vulnerability Database (NVD) with support for keyword search and detailed lookup.
    2
    22 npm
    4
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.