You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NVD, EPSS, CISA KEV, GitHub Advisory, OSV, Shodan, VulnCheck, Vulners, Nuclei, Metasploit, CIRCL, AttackerKB, and MITRE ATT&CK — unified into a single MCP server.
Your AI agent gets vulnerability intelligence on demand, not a 200-page report.
Vulnerability intelligence is scattered across multiple databases. NVD has CVE details. EPSS tells you exploitation probability. CISA KEV tracks actively exploited vulns. GitHub Advisory covers open source packages. OSV maps vulnerabilities to specific package versions. Shodan tracks internet exposure. Nuclei and Metasploit tell you if there's a working exploit. No single tool aggregates them, and none work with AI agents.
Traditional workflow:
search NVD for CVE details → navigate a clunky web UI
check EPSS for exploitation risk → separate API, separate format
look up CISA KEV status → download a JSON feed manually
search GitHub advisories → yet another interface
query OSV for package impact → different API, different schema
check Shodan for exposure → separate subscription
look for Nuclei/MSF exploits → manual GitHub search
map to ATT&CK techniques → separate MITRE lookup
correlate everything → copy-paste into a spreadsheet
──────────────────────────────────
Total: 30+ minutes per CVE, longer for bulk triage
cve-mcp gives your AI agent 41 tools via the Model Context Protocol. The agent queries 11 sources in parallel, correlates data, detects weaponization signals, calculates risk scores, and tells you exactly what matters.
With cve-mcp:
You: "Prioritize these 10 CVEs by actual exploitation risk"
Agent: → fetches CVSS scores from NVD
→ gets EPSS exploitation probability for each
→ checks CISA KEV for actively exploited
→ cross-references GitHub advisories for patches
→ "3 are critical: CVE-2024-3400 (EPSS 97%, in KEV),
CVE-2023-44487 (HTTP/2 rapid reset, EPSS 96%),
CVE-2021-44228 (Log4Shell, EPSS 97%, in KEV).
Here are patches and affected versions..."
How It's Different
Existing tools give you raw data. cve-mcp gives your AI agent the ability to reason about vulnerabilities.
Full CWE database (1000+ weaknesses, hierarchy, mitigations)
Risk Score Formula
Risk Score = CVSS Base Score × EPSS Score × KEV Multiplier × Exploit Multiplier
Where:
CVSS Base Score = 0-10 (severity from NVD)
EPSS Score = 0-1 (exploitation probability from FIRST)
KEV Multiplier = 2 if in CISA KEV, 1 otherwise
Exploit Multiplier = 1.5 if Nuclei template OR Metasploit module exists, 1 otherwise
This gives a practical risk score that balances severity (CVSS) with real-world exploitation likelihood (EPSS), known active exploitation (KEV), and weaponization signals (public exploit tooling).
Intelligence, not audit — Unlike cloud-audit-mcp and github-security-mcp, this is a data tool. No CheckResult, no findings accumulation. Each query is independent and stateless.
Parallel enrichment — cve_enrich calls 8 sources via Promise.allSettled. If one source is down, the rest still return data.
Weaponization detection — Checks Nuclei template and Metasploit module existence to flag CVEs with public exploit tooling.
Shared rate limiter — All NVD modules share a single RateLimiter instance (6s between requests) to avoid 429 errors.
KEV + MSF caching — KEV catalog (~1200 entries) and MSF module metadata (~15MB) loaded once, cached with 1-hour TTL.
CWE dual-mode — MITRE CWE REST API for full detail (1000+ CWEs), with 40+ entry static fallback when API is unreachable.
CVSS v3.1 + v4.0 — Auto-detects version from vector prefix. V4.0 uses MacroVector scoring approach.
ATT&CK mapping — Static CWE-to-technique table (33 CWE entries → ATT&CK techniques). No API calls.
2 dependencies — @modelcontextprotocol/sdk and zod. Nothing else.
Limitations
NVD API without NVD_API_KEY is limited to 5 requests per 30 seconds. Set the key for production use
GitHub Advisory search without GITHUB_TOKEN is limited to 60 requests per hour
VulnCheck, Vulners, and AttackerKB require API keys for full functionality
Exploit search uses GitHub repository search which has its own rate limits
MSF module metadata (~15MB) is loaded on first use — initial msf_check call is slower
CVSS v4.0 scoring uses MacroVector approximation (exact specification is very complex)
ATT&CK mapping covers 33 CWE entries — uncommon CWEs may not map