Hosted CVE-intelligence MCP: exploitation-first ranking and a fact-checker for hallucinated CVEs
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Most CVE tools hand your agent raw data. This one ranks it by what's actually being exploited, finds bugs by mechanism, catches the CVEs your agent invents β and transfers attack mechanics from ~14,000 disclosed bug-bounty reports.
A curated, hosted MCP corpus: ~364,000 CVEs, fused from NVD + CISA KEV + FIRST EPSS + OSV/GHSA + CISA Vulnrichment (SSVC), plus a mechanic layer distilled from ~14,000 disclosed, paid bug-bounty reports β refreshed daily. Not another live-API wrapper.
Free. Get a key: enter your email and your personal key is sent over. Tell me what you are hunting.
Most CVE MCP servers are thin wrappers: at query time they fan out to the same free public APIs and hand back whatever comes out. This is different in five concrete ways.
verify_cve_claim catches invented CVEs and wrong attributes. This is the one that matters most right now, with hallucinated AI bug reports flooding triage, and effectively no other CVE MCP does it.resolved: false with suggestions, never a silent 0 that reads as "not affected." A false zero is the worst answer a security tool can give.The hard part of AI-assisted security is not finding CVEs. It is triage, prioritization, and false positives. That is what this targets.
Everything below is real output from the live server, trimmed only for length.
The differentiator that matters most. Your agent cites CVE-2025-99999:
Or it gets the details wrong. Claim: "CVE-2021-44228 is a medium-severity Apache Struts bug, and it is not exploited."
The other feeds hand your agent data. This one tells you when the agent is wrong, before it reaches a report.
check_technology("GitLab") returns 792 CVEs for the product, de-duped and ranked so the exploited ones float to the top:
Names that map to more than one vendor are flagged ambiguous (here, gitlab vs a jenkins plugin) and kept separate, never silently merged. enrich_cve then gives you the full SSVC picture for any one of them:
hunt_plan(["craftcms 4.4", "nginx", "keycloak"]) ranks your stack by its most-exploitable bug and names where each component historically bleeds:
It does not just list CVEs. It names the bug class a product family keeps failing at, ranked by real exploitation, and tells you whether your version is in range. Where to look, and what shape to expect.
find_similar_vulns(cve_id="CVE-2021-44228"), "what else works like Log4Shell":
The same JNDI-injection mechanism, surfaced across different products. A keyword search for "log4j" never finds Karaf or Flume. Or search a concept directly, search_vulns("SAML SSO authentication bypass"):
find_recent_high_risk(days=7), run live today:
Median time from disclosure to in-the-wild exploitation is now days, not months. The Ivanti bug above carried a CISA remediation deadline in the same week it landed. corpus_stats right now: ~364,800 CVEs, ~1,630 KEV entries, data under a day old β these figures are point-in-time and drift daily, so call corpus_stats yourself for the live count rather than trusting the numbers on this page.
Beyond CVEs, the corpus distills ~14,000 disclosed, paid HackerOne reports into product-agnostic attack mechanics β each bug's source β sink β trigger β preconditions, de-anchored from the product it was filed against. The premise: a vulnerability is a transferable mechanism, not a property of one product β so a move that paid on one stack is a checklist item on the next.
find_attack_approaches(query="ssrf reaching cloud metadata") β the human moves that transferred, novelty-ranked, each tagged with live program-actionability:
find_continuations(position=...) β matches your accumulated attacker position mid-hunt to the next moves real reports played from a similar spot. Every move is status: UNVERIFIED with a decisive_check to run on the target β a legal move, never a confirmed bug.assist_submission(finding=...) β a grounded submission brief from the closest paid precedents (validity, what's novel, an escalation playbook), with every cited report validated against the corpus (citations_grounded) so it can't smuggle a fabricated precedent.program_outcome_prior("hackerone:gitlab") β the bug classes that historically landed on a program, with lift over base rate (GitLab: SSRF 3.4Γ, SQLi ~never).Honest about what this is: it primes and grounds a human hunter β it surfaces the move and the precedent. It does not find the bug for you; the target decides whether the move survives, and that's a step you still run.
The moat is three things a stateless model cannot self-generate, and this corpus holds all three:
observe recovers a host's real backend from its JS bundles and joins it to the corpus on the spot.No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/vuln-intel)<a href="https://allmcps.com/mcp/vuln-intel"><img src="https://allmcps.com/api/badge/vuln-intel?style=directory" alt="Vuln Intel on AllMCPs" /></a>