Skip to main content
Glama

search_vulnerabilities

Search and filter CVEs by keyword, severity, publication date range, and CISA KEV status across local and synchronized vulnerability feeds.

Instructions

Search and filter vulnerabilities across local storage and synchronized feeds.

Search by keyword (CVE ID, component, vendor, description), filter by severity (LOW/MEDIUM/HIGH/CRITICAL), publication date range, and CISA KEV status.

Args: keyword: Search term matching CVE ID, component, vendor, or description. severity: Filter by CVSS severity: LOW, MEDIUM, HIGH, or CRITICAL. pubStartDate: Start publication date in ISO-8601 format (e.g., '2024-01-01'). pubEndDate: End publication date in ISO-8601 format (e.g., '2024-12-31'). hasKev: If True, filters for CVEs in the CISA Known Exploited Vulnerabilities catalog. limit: Maximum records to return (1-50, default: 20).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
hasKevNo
keywordNo
severityNo
pubEndDateNo
pubStartDateNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It does add useful behavioral context: results span local storage plus synchronized feeds, and the limit is bounded 1-50 with a default of 20. It does not disclose result ordering, pagination beyond limit, or how local and feed results are merged/ranked, which matters for a 6-parameter query tool.

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?

Front-loaded summary sentence followed by a clean per-argument list; nothing is buried. There is mild duplication between the summary's 'search by keyword (CVE ID, component, vendor, description)' and the Args entry for keyword, but overall the structure is efficient.

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 6-parameter, all-optional tool with 0% schema coverage and an output schema present, the description covers all inputs, their formats, and the data sources. Remaining gaps are secondary behaviors like sort order and result merging, which the output schema does not necessarily convey.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does so for every parameter: keyword match targets, the four severity enum values (not present as enums in the schema), ISO-8601 date format with concrete examples, hasKev semantics referencing the CISA KEV catalog, and the limit range plus default. This is meaningfully additive over the bare schema.

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?

The description states a specific verb pair (search and filter) and resource (vulnerabilities), plus the data scope (local storage and synchronized feeds). It implicitly separates itself from retrieval siblings like get_cve_details and get_top_kevs by being the general query entry point, though it never names those alternatives.

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?

Usage is implied by the filter dimensions (keyword, severity, date range, KEV status) rather than stated: an agent can infer 'use this to find CVEs matching criteria'. There is no explicit when-to-use-this-vs-a-sibling guidance (e.g., why not get_latest_critical_cves or get_top_kevs) and no exclusions or prerequisites.

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