vulnwitness mcp
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.
VulnWitness
An evidence-backed vulnerability investigation workbench for analysts and AI agents.
VulnWitness answers vulnerability questions with cited, recorded evidence and says plainly what it cannot establish. Its general core covers CVE/KEV records, product queries, CWE → CAPEC → ATT&CK catalogue associations, recorded sessions, checks and reports. A built-in telecom extension adds topic cards and MITRE FiGHT threat context.
prioritise applies a named policy to a recorded session and an analyst's asset register;
reports and the local UI show recommendations separately from compliance status
(ADR 0016, runbook).
CNVD links carry a name-overlap check for review without changing grades or links (ADR 0017).
Raw CNVD base and incremental inputs are available for opt-in research with an unverified data licence (ADR 0018).

A real triage of Open5GS 2.7.6 on the NVD snapshot of 2026-10-27: selected recorded events, timing condensed.
Three ways to use it
Command line.
triageruns a bounded product investigation and records every call;reportturns any recorded session into a shareable HTML or Markdown report. Individual commands (lookup,search,product,investigate) return JSON or readable text.Claude Code plugin and MCP agents. Local test:
claude --plugin-dir plugins/vulnwitness(tested with Claude Code 2.1.316). It needs a checkout set up withuv sync --lockedandVULNWITNESS_BINpointing at itsvulnwitness; see the plugin runbook. Other clients have no hook. For direct MCP,vulnwitness mcp --workspace ~/.vulnwitness/workspacelets an agent triage a product, inspect recorded evidence, add findings and deliver a checked report without a shell. The investigation Skill guides the flow; client snippets for Claude Code, Codex and Cursor follow their documented formats and have not yet been tested inside those clients.Local browser UI.
vulnwitness ui --workspace ~/.vulnwitness/workspaceopens a local evidence workspace for product triage, CVE lookup and telecom topics. Install theapiextra, open the printed URL, continue investigations, check them and export HTML reports. Reports show record consistency, citation resolution, structured claims and unchecked narrative separately. See the UI runbook.
Related MCP server: kr.ai.vdb/vdb
Two-minute quick start
Requires Python 3.11+ and uv. With VULNWITNESS_STORE_ROOT
unset, everything runs on packaged synthetic demo data:
uv sync --locked
source .venv/bin/activate
vulnwitness triage --vendor democorp --product demo_gateway --version 2.0 --session ./demo
vulnwitness report ./demo --format html --output ./demo-report.html
Synthetic demo data. The report opens with what was read, what was looked up and what is not established, followed by one card per CVE.
triage exits 0 when the planned scope completes and the checks pass, 1 when nothing
matches, 2 on failure, and 3 when a page or time cap stopped it early with results
saved and checks passing. Use a new directory for each run.
Topic investigations
Topic cards connect a domain question such as "GTP" or "5G-AKA" to concrete retrieval: aliases,
search templates, relevance rules and exclusions. investigate resolves the card, searches
implementation CVEs and FiGHT protocol threats within a fixed budget, keeps the two kinds of
evidence apart, and reports which evidence needs remain open.

A real vulnwitness investigate GTP --scope mixed on the NVD snapshot of 2026-10-27: selected
trajectory events, timing condensed. The bundled GTP and 5G-AKA cards are pending review, so
they return candidates but never establish found or sufficient. GTP is matched as a
family: a GTP-U question can return GTP-C records.
Question | Command | What comes back |
"What does this CVE mean?" |
| Source-backed records; lookup adds weakness paths |
"Which CVEs are recorded for Open5GS?" |
| The match inventory read within its caps, a deeper look at selected CVEs, and a report |
"What vulnerabilities and threats relate to GTP?" |
| Implementation CVEs, separate FiGHT context, open needs and the steps taken |
"Does this affect my deployed version?" |
| NVD version notes; verified affectedness stays |
Real data
Create a store root outside the repository, then fetch, import and activate:
mkdir -p ~/data/vulnwitness/stores
export VULNWITNESS_STORE_ROOT="$HOME/data/vulnwitness/stores"
.venv/bin/python scripts/operator/refresh_store.py --feeds-dir ~/data/vulnwitness/feeds/2026-10-31 --store nvd-2026-10-31 --activateFor the full NVD corpus, we recommend a machine with 16 GB RAM or more; the minimum has not been established. Initial setup involves a substantial download and several GB of disk space. The runbook covers fetching, local-feed reuse, FiGHT and MITRE snapshots, servers, sizing and recovery.
Lookups show CNVD's statement beside NVD's using the default pinned CIRCL/Vulnerability-CNVD
dataset, with CIRCL attribution, its declared CC BY 4.0 licence and VulnWitness's normalisation
notice; the relation to CNVD's own terms is unverified. Each authority keeps its own grade,
grading scheme, assessing body and provenance. Reports separate NVD record and score gaps
from awaiting-analysis or deferred status, and signal when CNVD grades higher under a named
VulnWitness mapping (cnvd_grade_vs_nvd_own_cvss3). CVSS measures severity, not risk. The
core flow does no translation; clients and browsers can translate the original source text
(ADR 0015).
Reference
vulnwitness lookup CVE-9999-0001 --format text: exact record and weakness paths.vulnwitness search "authentication bypass" --format text: ranked word matches.vulnwitness product --vendor democorp --version 2.0 --format text: counted inventory pages;--allprints every page, and--output FILE --export jsonl|csvexports them.vulnwitness investigate 5G-AKA --scope mixed --format text: a bounded evidence set.vulnwitness triage … --session DIRandvulnwitness report DIR: see the triage runbook.--session DIRrecords individual data calls (JSON output only), andvulnwitness session check DIRchecks a session: see recording and checking sessions.REST:
vulnwitness apiwithVULNWITNESS_HTTP_TOKEN, thencurl -H "Authorization: Bearer $VULNWITNESS_HTTP_TOKEN" http://127.0.0.1:8766/api/v2/capabilities.MCP:
vulnwitness mcp(stdio), orvulnwitness mcp --http(authenticated/mcpon port 8765).
Limits
Word matches and pending-review topic cards cannot establish sufficiency; an otherwise completed run with such matches ends
needs_unmet, while budget or source failures can set another stop reason. Read matched terms and warnings.NVD may lack product or version data. A missing match or
no_hitnever establishes safety.No verified affectedness source is available. Weakness paths are derived catalogue associations, not attack paths, and "no ATT&CK mapping" describes the loaded snapshot only.
Triage selection is an order, not a risk ranking.
REST and MCP investigations are deterministic. Model planning is opt-in through the CLI; imported stores have no bound semantic collection.
Results and context are bounded; no answer guarantees completeness.
Runbook · Architecture · Evaluation · Third-party data
Pre-release contracts: schema manifest. Code: MIT; third-party data: THIRD_PARTY_DATA.md.
Earlier knowledge-graph + RAG prototype: CVE-KGRAG.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
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.
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
ZEN SecDB MCP server for CVE intelligence, CVSS/EPSS scoring, advisories, SSVC, and package audits.
Related MCP Servers
- AlicenseAqualityCmaintenanceUnifies NVD, EPSS, CISA KEV, GitHub Advisory, and OSV into a single MCP server, enabling AI agents to query vulnerability intelligence conversationally with 23 tools for incident response, prioritization, dependency audits, and threat monitoring.41292 npm30MIT
- AlicenseAqualityCmaintenanceMCP server for checking packages against an AI-aware vulnerability database, including CVEs, slopsquatting, CISA KEV, and MCP-server trust profiles.1043 PyPIElastic 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server for querying live CISA KEV, EPSS, and enriched vulnerability feeds with full provenance. Enables natural-language access to auditable security-intelligence data from Claude Desktop and other MCP clients.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI clients to calculate, explain, and inspect CVSS 4.0 vectors and metrics through local stdio or authenticated hosted MCP connections, supporting private severity assessments.BSD 2-Clause "Simplified"