Skip to main content
Glama

Ansvar: EU Compliance & Legal Intelligence

Search Cve

search_cve
Read-only

Search CVEs by keyword, severity, score range, and filters. Returns matching CVE records with CVSS scores, KEV status, EPSS data and a per-source exploit_sources breakdown (Exploit-DB, Metasploit, nuclei template). Use get_cve_details for full information on a specific CVE. Supports full-text search on descriptions. NVD-rejected records are excluded unless include_rejected=true; every row carries vuln_status and rejected.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_cve"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax results to return
offsetNoPagination offset
cwe_idsNoFilter by CWE IDs (e.g., ['CWE-79', 'CWE-89'])
has_kevNoOnly CVEs in CISA KEV catalog
keywordNoFull-text search in CVE description
cvss_maxNoMaximum CVSS v3 score (0-10)
cvss_minNoMinimum CVSS v3 score (0-10)
epss_minNoMinimum EPSS score (0-1)
severityNoSeverity levels to include
has_exploitNoOnly CVEs with public exploits
published_afterNoPublished after date (YYYY-MM-DD)
include_rejectedNoAlso return records NVD has rejected (flagged rejected: true)
published_beforeNoPublished before date (YYYY-MM-DD)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / include_rejected
      Added value: +{
      +  "default": false,
      +  "description": "Also return records NVD has rejected (flagged rejected: true)",
      +  "type": "boolean"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish readOnly, non-destructive, and closed-world behavior, and the description layers on substantive context beyond them: the exact payload contents (CVSS scores, KEV status, EPSS, per-source exploit_sources breakdown), the default exclusion of rejected NVD records, and the fact that every row carries vuln_status and rejected flags. That is exactly the kind of result-shape and filtering behavior an agent cannot get from 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?

Four sentences, front-loaded with purpose and result shape, followed by the alternative and the rejection-handling caveat. Dense but every sentence carries information; the only mild redundancy is restating the rejected-exclusion rule that the schema also notes.

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?

With 13 parameters, no output schema, and all parameters optional, the description needs to convey both filter semantics and return shape. It does both, describing the returned fields and the per-source exploit breakdown, plus the default filtering behavior, leaving nothing an agent needs to call it correctly unstated.

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 goes slightly beyond it by clarifying that include_rejected changes what the result set contains and that the rejected/vuln_status fields on each row let the caller distinguish them, and by confirming keyword is a full-text search over descriptions.

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?

States a specific verb and resource ('Search CVEs') and enumerates the primary filter axes (keyword, severity, score range, filters) in the first sentence. It explicitly names the sibling tool get_cve_details for the single-CVE case, so an agent can separate lookup from discovery without opening either schema.

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?

Gives a clear routing rule: use this for filtered discovery, use get_cve_details for full information on a specific CVE. It also explains the default exclusion of NVD-rejected records and the include_rejected escape hatch. It stops short of stating exclusions for the other search-family siblings (e.g., product or ICS-scoped searching), so it is strong but not exhaustive.

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.