
Production-grade MCP server giving Claude 27 security intelligence tools across 21 APIs — CVE lookup, EPSS scoring, CISA KEV, MITRE ATT&CK, Shodan, VirusTotal, and more.

AI-powered security intelligence at your fingertips — 28 tools + a one-call triage_cve orchestrator, 24 data sources, one protocol.
A production-grade Model Context Protocol (MCP) server that turns Claude into a full-spectrum security analyst. Instead of juggling 15+ browser tabs across NVD, EPSS, CISA KEV, Shodan, VirusTotal, and GreyNoise, ask Claude one question and get correlated intelligence in seconds. Built with Python, FastMCP, httpx, aiosqlite, Pydantic v2, and defusedxml.
The problem: Triaging a single CVE means querying NVD for CVSS scores, EPSS for exploitation probability, CISA KEV for active exploitation status, GitHub for patches, and VirusTotal for malware associations — then mentally correlating everything. For 50 CVEs, that's an entire day lost.
The solution: CVE MCP Server gives Claude direct access to 28 security tools across 24 APIs — fronted by the triage_cve one-call orchestrator. Ask "Should we patch CVE-2024-3400?" and Claude fans out to every relevant source in parallel, calculates a composite risk score (with a CISA KEV hard override), and delivers a prioritized recommendation with evidence.
I'm running a global academic study measuring how ready security professionals, developers, and enterprise teams actually are for agentic AI — MCP servers, tool calling, governance, and human-in-the-loop workflows.
If you use this repo, your response would be a genuinely valuable data point.
📋 Take the survey (10 min): Survey
┌─────────────────────────────────────────────────────────────────────┐
│ Claude Desktop / Claude Code │
│ (MCP Client via stdio) │
└──────────────────────────────┬──────────────────────────────────────┘
│ Model Context Protocol (stdio)
▼
┌─────────────────────────────────────────────────────────────────────┐
│ CVE MCP Server (Python) │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │ 27 MCP │ │ Composite │ │ SQLite Cache │ │
│ │ Tools │ │ Risk Engine │ │ + Audit Log │ │
│ └──────┬──────┘ └──────┬───────┘ └───────┬───────┘ │
│ │ │ │ │
│ ┌──────┴────────────────┴───────────────────┴──────┐ │
│ │ Async HTTP Client (httpx) │ │
│ │ Rate Limiter · Response Cache │ │
│ └──────────────────────┬───────────────────────────┘ │
└─────────────────────────┼───────────────────────────────────────────┘
│ HTTPS (outbound only)
┌───────────────┼───────────────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ VULNERABILITY│ │ NETWORK │ │ THREAT │
│ INTELLIGENCE │ │ INTELLIGENCE │ │ INTELLIGENCE │
├──────────────┤ ├──────────────┤ ├──────────────┤
│ NVD API 2.0 │ │ AbuseIPDB │ │ VirusTotal │
│ EPSS / FIRST │ │ GreyNoise v3 │ │ MalwareBazaar│
│ CISA KEV │ │ Shodan │ │ ThreatFox │
│ OSV.dev │ │ CIRCL PDNS │ │ Ransomwhere │
│ GitHub GHSA │ │ │ │ AlienVault │
│ MITRE ATT&CK │ │ │ │ URLScan.io │
└──────────────┘ └──────────────┘ └──────────────┘
All traffic is outbound HTTPS only — no inbound ports are opened. API keys are loaded from environment variables and never logged. Private/internal IP addresses are blocked from all lookup tools.
| Tool | Description | API Key Required | Example Usage |
|---|---|---|---|
triage_cve | One-call triage that fans out NVD + EPSS + CISA KEV (+ public PoC for depth != "quick") concurrently, computes the composite risk score with a KEV hard override, falls back to VulnCheck NVD++ when NIST NVD is throttled, and on depth="deep" emits the SSVC v2 gated decision | Free / No key (key recommended) | triage_cve("CVE-2021-44228", depth="deep") |
Also exposed via MCP primitives — Resources:
kev://catalog,epss://scores/{cve_id},manifest://tool-hash(SHA-256 over the registered tool surface, for tamper detection). Prompts:patch_decision,compare_and_prioritize,dependency_triage.