cve_lookup
Full detail for a single CVE by ID (format CVE-YYYY-NNNN). Returns CVSS scores, weakness IDs, references, and affected products from the NVD.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes | CVE identifier, e.g. CVE-2024-3094. |
Full detail for a single CVE by ID (format CVE-YYYY-NNNN). Returns CVSS scores, weakness IDs, references, and affected products from the NVD.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes | CVE identifier, e.g. CVE-2024-3094. |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe, read-only, idempotent, non-destructive nature of the tool. The description adds value beyond annotations by disclosing the return contents and the upstream source ('from the NVD'), which helps the agent understand what to expect from the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One focused sentence that starts with the core purpose, states the ID format, and lists key return fields. No filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only lookup with strong annotations and no output schema, the description fully equips an agent to select and invoke the tool correctly. It names the input format, the scope, and the return contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the only parameter, cve_id, with a description and an example, so the baseline is 3. The description's 'CVE-YYYY-NNNN' format note adds minor reinforcement but does not substantially exceed what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Full detail for a single CVE by ID.' It distinguishes this tool from CVE search/recent siblings by emphasizing single-ID lookup and enumerates what is returned (CVSS scores, weakness IDs, references, affected products).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: use this tool when you have a specific CVE ID and need full NVD detail. It does not explicitly name alternatives like cve_recent or cve_search_by_keyword, so it stops short of the explicit when/when-not guidance required for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Many tools overlap heavily across domains: caselaw_search vs court_case_search vs court_opinion_search, caselaw_citation_lookup vs court_citation_resolver, and a cluster of company due-diligence tools (company_trust_check, counterparty_risk_score, entity_dossier, issuer_diligence_dossier, kyb_aml_evidence_case_file) that all screen a company for sanctions/risk/standing. With 290 tools, an agent will frequently face multiple equally plausible choices for the same user intent.
The vast majority of tools follow a clean domain-prefix + snake_case pattern (census_, eia_, fmcsa_, npi_, cfpb_, etc.), but there are notable exceptions: entity_resolve and resolve_entity are reversed duplicates, reg_search (Federal Register) sits next to reg_cfr_search (CFR) with confusingly similar names, and carrier_monitor_recheck deviates from the carrier_vetting_* family.
290 tools is an extreme count under any rubric, far exceeding even the 50+ threshold for the lowest score. While the group-filtering mechanism and meta-tools like list_tool_groups and search_available_datasets mitigate the practical burden, the raw surface is still massively oversized for an agent to select from accurately and efficiently.
For a read-only data-aggregation server, coverage is remarkably comprehensive across 59 domains, and generic fallbacks like cdc_dataset_query, eia_series_lookup, fred_observations, and bls_series prevent most dead ends. Minor gaps exist (a single GitHub tool, demo-only property_lookup coverage, no write/update operations anywhere), but the stated data-access purpose is well served.