cvescout
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NVD_API_KEY | No | NVD API key, allows 50 instead of 5 requests per 30 seconds: https://nvd.nist.gov/developers/request-an-api-key | |
| GITHUB_TOKEN | No | GitHub token, allows 5000 instead of 60 requests per hour for GHSA (e.g. from `gh auth token`) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_current_datetimeA | Return the current date and time in UTC. Call this first: "latest" and "recent" are relative to this date, not to your training data. |
| search_recent_cvesA | Search for CVEs published in the last N days (or since a date), enriched with EPSS exploit probability, CISA KEV membership and a risk score (patch priority). Args:
sort_by: "published" (newest first) or "risk" (highest patch priority first, ranked over all matches). Use "risk" for "what should I patch first", "most dangerous", "top N".
reference_urls: Only with source="cvelist": match parts of reference links, OR-ed with keywords/cpes. A product's security advisory page finds CVEs filed under libraries it bundles, e.g. ["nodejs.org/en/blog/vulnerability"] finds a Brotli or OpenSSL CVE that Node.js lists. Use it together with keywords for a product.
source: "nvd" (default; NVD API, any date range, CPE filters cover NVD-analyzed CVEs) or "cvelist" (CVEProject CVE List: last 30 days only, no rate limit, CVEs appear about an hour before NVD, includes vendor-supplied affected versions; keywords also match vendor and product names; CPE filters only match where the vendor supplied CPEs). Use "cvelist" for the last hours or days, or when NVD is unavailable or slow.
days: Look-back window in days. Use small windows (1-7) for "latest". Ignored when |
| search_github_advisoriesA | Search the GitHub Advisory Database for security advisories published in the last N days, newest first. Best source for open-source dependencies: each reviewed advisory names the package, vulnerable version range and first patched version. Some advisories have no CVE ID (only a GHSA ID). Args: days: Look-back window in days. ecosystem: Optional package ecosystem filter (pip = Python, npm = JavaScript, maven = Java, rust = crates.io, ...). package: Optional package name, e.g. "lodash" or "django". min_severity: Optional minimum severity. include_unreviewed: Also include advisories not yet reviewed by GitHub (usually NVD mirrors without package data). limit: Maximum number of advisories to return (1-100). min_score: Optional minimum CVSS base score (0-10), e.g. 8. rce_only: Only remote code execution (code/command injection reachable over the network; heuristic on CWE, description and CVSS vector). match_any: If true, keep items meeting ANY of min_severity/min_score/rce_only/poc_only instead of ALL of them. poc_only: Only items with a public exploit: a PoC repository on GitHub (listed in github_pocs, from nomi-sec/PoC-in-GitHub), a CISA SSVC or CVSS v4 rating of a public PoC (ignored when the CVE links a bug bounty report such as HackerOne), or exploitation in the wild (CISA KEV). A reference NVD tagged "Exploit" alone does not count. sort_by: "published" (newest first) or "risk" (highest patch priority first, over the newest 100 advisories). |
| find_cpe_nameA | Look up the exact NVD CPE name ("vendor:product", or "o:vendor:product" for operating systems) for a product, to pass in search_recent_cves(cpes=...). Products whose name matches best come first; deprecated names show their replacement. Args: product: Product name, e.g. "curl", "node.js", "apache http server", "linux kernel". |
| get_cve_detailsA | Fetch full, current details of one CVE from the NVD, with the vendor's affected versions from the CVE List, EPSS, CISA KEV status and any GitHub advisories (affected packages and patched versions). Falls back to the CVE List when NVD is unavailable or does not have the CVE yet. Args: cve_id: CVE identifier, e.g. "CVE-2026-12345". |
| get_recent_exploitedA | List vulnerabilities CISA added to its Known Exploited Vulnerabilities (KEV) catalog in the last N days - CVEs confirmed exploited in the wild. Note: an old CVE can be newly added here; report its date_added. Args: days: Look-back window in days. limit: Maximum number of entries to return. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a distinct role: a clock reference, two source-specific searches (NVD/CVE List vs GitHub Advisories), a CPE lookup helper, single-CVE detail, and a KEV feed. The only potential confusion is between search_recent_cves and search_github_advisories, but descriptions explicitly steer (NVD for broad CVE history, GHSA for open-source dependencies with package fix versions).
All tools use consistent verb_noun snake_case (get_current_datetime, search_recent_cves, search_github_advisories, find_cpe_name, get_cve_details, get_recent_exploited). Verbs get/search/find are used predictably for their intent.
Six tools is well-scoped for a CVE scouting server, and each earns its place: reference time, two complementary search sources, CPE resolution, detail lookup, and exploited-in-the-wild feed. No redundant or filler tools.
The surface covers discovery, enrichment (EPSS/KEV/risk), dependency advisories, CPE resolution, and single-CVE detail with fallbacks — a full scouting lifecycle. Minor gaps like batch detail fetching or saved watchlists exist but agents can work around them via the search tools.