secintel-mcp
Queries the FIRST EPSS API to retrieve a CVE's exploitation probability score for the next 30 days along with its percentile ranking, which the server also feeds into its P1–P4 triage ratings.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
secintel-mcp
A Model Context Protocol server that gives AI agents the lookups a security analyst reaches for every day: how urgent is this CVE, is this dependency vulnerable, and what indicators are in this report.
It uses only free public data sources and needs no API keys.
You: How worried should I be about CVE-2021-44228?
Agent: → triage_cve("CVE-2021-44228")
P1 — patch immediately. It is in CISA's Known Exploited Vulnerabilities
catalogue with known ransomware use, CVSS 10.0, EPSS 0.94.Tools
Tool | What it does | Source |
| Rates a CVE P1–P4 from severity, exploit probability and known exploitation, with the reasons | NVD + EPSS + KEV |
| Description, CVSS score and vector, CWEs, dates, references | |
| Probability of exploitation in the next 30 days, and percentile | |
| Whether the CVE is known to be exploited, remediation due date, ransomware flag | |
| Known vulnerabilities and fixed versions for an open-source package | |
| Pulls URLs, domains, IPs, emails, hashes and CVE IDs out of free text (handles defanged input) | local |
| Rewrites indicators so they are safe to paste ( | local |
Triage policy
triage_cve puts evidence of exploitation ahead of raw severity:
Priority | Rule | Suggested action |
P1 | In the CISA KEV catalogue | Patch or mitigate immediately |
P2 | EPSS ≥ 0.10, or CVSS ≥ 9.0 | Next emergency / expedited change window |
P3 | CVSS ≥ 7.0, or EPSS ≥ 0.01 | Normal patch cycle |
P4 | Everything else | Routine maintenance |
The thresholds live in src/secintel_mcp/triage.py
and are meant to be changed to match your own policy. The result is a starting
point: it does not know whether the affected product is deployed or reachable
in your environment. If one source is unavailable the tool still answers from
the others and lists what failed in source_errors.
Related MCP server: cve-lookup-mcp
Install
Requires Python 3.11+.
git clone https://github.com/blonde-almond/secintel-mcp.git
cd secintel-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e .Use it
Claude Desktop, Claude Code, or any stdio MCP client
Add the server to your client's MCP configuration (for Claude Desktop this is
claude_desktop_config.json; a copy is in examples/):
{
"mcpServers": {
"secintel": {
"command": "/absolute/path/to/secintel-mcp/.venv/bin/secintel-mcp"
}
}
}With Claude Code: claude mcp add secintel -- /absolute/path/to/.venv/bin/secintel-mcp
Over HTTP
secintel-mcp --transport streamable-http --port 8000
# MCP endpoint: http://127.0.0.1:8000/mcpThe HTTP transport binds to loopback by default and has no authentication. To reach it from another machine, put it behind a reverse proxy that handles TLS and authentication rather than binding it to a public interface.
Configuration
Variable | Purpose |
| Optional. A free NVD API key raises the NVD rate limit from 5 to 50 requests per 30 seconds. |
| Defaults for the matching command-line flags. |
Security design
An MCP server is code that a language model can drive, so its inputs should be treated as untrusted. This one is built accordingly:
No server-side request forgery. Every outbound request goes to one of four hard-coded hosts. Tool arguments are only ever sent as validated query parameters or JSON fields, never used to build a URL, and redirects are not followed.
Strict input validation. CVE IDs, ecosystems, package names and versions are checked against allow-list patterns before any request is made.
Bounded work. Requests have timeouts, responses have a size cap, text inputs have a length cap, and result lists are truncated.
Minimal untrusted text. Upstream records are trimmed to the needed fields and descriptions are length-limited, and the server instructions tell the agent to treat returned text as data. This reduces, but cannot eliminate, the risk of prompt injection through vulnerability descriptions.
Read-only. No tool writes files, runs commands or changes any system.
No secrets required. The optional NVD key is read from the environment and sent only to the NVD.
See SECURITY.md to report a vulnerability.
Development
pip install -e ".[dev]"
pytest # all tests run offline against a fake upstream
ruff check .
ruff format .src/secintel_mcp/
server.py MCP tool definitions and the command-line entry point
clients.py NVD, EPSS, KEV and OSV clients, validation, caching
triage.py The P1–P4 prioritisation policy
iocs.py Indicator extraction, defang and refangLimitations
IPv6 addresses are not extracted.
Domain extraction is pattern-based. It skips common file extensions (
setup.exe,archive.zip) but will sometimes match things that are not indicators, and it does not check that a TLD exists.Caches are in memory and per process: 15 minutes for CVE and EPSS lookups, 6 hours for the KEV catalogue.
Without an NVD API key, heavy use will hit the NVD rate limit.
Licence
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
CVE lookup via NIST NVD, CISA KEV, EPSS, and MITRE ATT&CK. 7 tools.
Threat intel + your scans/findings/Shield posture. CVE, EPSS, KEV, package vuln lookup, DAST.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceProvides CVE search enriched with EPSS exploit likelihood and CISA KEV status, plus live IP/domain reputation and a real-time threat feed for AI agents.MIT
- AlicenseAqualityDmaintenanceProvides live CVE data from NVD and EPSS without API key, enabling AI assistants to look up CVSS scores, search vulnerabilities, and check product CVEs.3MIT
- AlicenseNot gradedqualityDmaintenanceProvides CVE lookup, search, and exploit intelligence from public vulnerability sources (NVD, CISA KEV, EPSS) for AI agents to produce remediation guidance without consuming LLM tokens for data fetching.1MIT
- AlicenseNot gradedqualityDmaintenanceProvides real-time vulnerability intelligence including CVE lookup, EPSS exploit probability, and CISA KEV status from free APIs, enabling AI assistants to prioritize CVEs by real-world risk.MIT