cybersecurity-vuln-mcp
Cybersecurity Vulnerability Intelligence MCP Server
Unified vulnerability intelligence from 4 government data sources in a single MCP server. Get enriched CVE lookups with CVSS scores, active exploitation status, exploitation probability, and ATT&CK techniques in one call.
Source | What It Provides | Update Frequency |
NIST NVD 2.0 | CVE details, CVSS scores, descriptions, references, CWE classifications | Continuous |
CISA KEV | Actively exploited vulnerabilities catalog, remediation deadlines | Daily |
FIRST.org EPSS | Exploitation probability scores (0-1) predicting likelihood of exploitation in next 30 days | Daily |
MITRE ATT&CK | Adversary techniques mapped to CVEs | Quarterly |
Tools
vuln_lookup_cve — Enriched CVE Lookup
The killer feature. Look up any CVE and get intelligence from all 4 sources in a single call.
Input:
{ cveId: "CVE-2021-44228" }Returns: NVD details + CVSS score + KEV exploitation status + EPSS probability + ATT&CK techniques
vuln_search — Search CVEs
Search the NVD by keyword, severity, and date range. Optionally filter to only actively exploited (KEV) vulnerabilities.
Input:
{ keyword: "apache log4j", severity: "CRITICAL", hasKev: true, limit: 20 }
vuln_kev_latest — Recently Exploited Vulnerabilities
Get vulnerabilities recently added to CISA's Known Exploited Vulnerabilities catalog.
Input:
{ days: 7, limit: 20 }
vuln_kev_due_soon — Upcoming Remediation Deadlines
Get KEV entries with remediation deadlines approaching. Critical for federal compliance.
Input:
{ days: 14, limit: 20 }
vuln_epss_top — Highest Exploitation Probability
Get CVEs most likely to be exploited in the next 30 days based on EPSS machine learning model.
Input:
{ threshold: 0.7, limit: 20 }
vuln_trending — Newly Published Critical CVEs
Get recently published high/critical severity CVEs from the NVD.
Input:
{ days: 3, severity: "CRITICAL", limit: 20 }
vuln_by_vendor — Vendor Vulnerability Assessment
Search CVEs for a specific vendor/product. Cross-references with CISA KEV to flag actively exploited issues.
Input:
{ vendor: "microsoft", product: "windows", limit: 20 }
Related MCP server: NVD MCP Server
Use Cases
Vulnerability triage: Look up a CVE and instantly know if it's actively exploited, its EPSS score, and what ATT&CK techniques apply
Patch prioritization: Combine KEV status + EPSS scores to prioritize remediation
Compliance tracking: Monitor upcoming CISA KEV remediation deadlines
Threat intelligence: Track trending CVEs and newly weaponized vulnerabilities
Vendor risk assessment: Assess a vendor's vulnerability exposure and active exploitation status
Quick Start
Glama (hosted)
Install from Glama.ai.
Apify (hosted)
{
"mcpServers": {
"cybersecurity": {
"url": "https://cybersecurity-vuln-mcp.apify.actor/mcp"
}
}
}Claude Desktop / Claude Code
{
"mcpServers": {
"cybersecurity": {
"command": "node",
"args": ["path/to/servers/cybersecurity-vuln-mcp/dist/stdio.js"],
"env": {
"NVD_API_KEY": "your-key-here"
}
}
}
}Local (stdio)
git clone https://github.com/martc03/gov-mcp-servers.git
cd gov-mcp-servers/servers/cybersecurity-vuln-mcp
npm install && npm run build
node dist/stdio.jsEnvironment Variables
Variable | Required | Description |
| No | NVD API key for higher rate limits (50 req/30s vs 5 req/30s). Register here. |
Caching
Data Source | TTL | Notes |
NVD CVE lookups | 1 hour | Per-CVE |
CISA KEV catalog | 2 hours | Full catalog |
EPSS scores | 24 hours | Per-CVE |
ATT&CK mappings | Static | Bundled with server |
Architecture
Protocol: MCP over stdio (Glama/local) or Streamable HTTP (Apify)
Runtime: Node.js 18+, TypeScript
Data: Direct API calls to free government data sources, zero cost
Caching: In-memory with configurable TTLs
Other Servers in This Repo
This repository contains 13 MCP servers for US government data. See each server's README for details.
Server | Tools | Data Sources |
4 | NHTSA recalls, FDA recalls | |
4 | FEMA disasters, NOAA weather, USGS earthquakes | |
4 | SEC EDGAR, CFPB complaints, BLS employment | |
3 | Visa bulletins, border wait times | |
3 | EPA air quality, HUD foreclosures | |
4 | SAM.gov contracts, USAspending | |
4 | PACER, federal court records | |
4 | NIH clinical trials, FDA adverse events | |
4 | SEC company search, SBA resources | |
4 | Federal Register, regulations.gov | |
4 | Grants.gov, USAspending | |
4 | SEC filings, patent data, trade data |
A REST API gateway with 45 endpoints is also available at govdata-api.netlify.app.
Attribution
NVD: This product uses data from the NVD API but is not endorsed or certified by the NVD.
EPSS: Data provided by FIRST.org (https://www.first.org/epss/).
ATT&CK: Registered trademark of The MITRE Corporation. Licensed under Apache 2.0.
KEV: CISA Known Exploited Vulnerabilities Catalog, US Government public domain.
Custom MCP Server Development
Need a custom MCP server for your business? Visit mcpdev.netlify.app or email codee.mcpdev@gmail.com.
License
MIT
Available Tools
7 toolsvuln_by_vendorBInspect
Search CVEs for a specific vendor/product, cross-referenced with CISA KEV.
| Name | Required | Description | Default |
|---|---|---|---|
| vendor | Yes | Vendor name (e.g., 'microsoft', 'apache') | |
| product | No | Product name (e.g., 'windows', 'log4j') | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It mentions cross-referencing with KEV but does not disclose side effects, rate limits, error handling, or whether results are limited to KEV entries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action and resource, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too brief given 3 parameters and no output schema. Missing details on required fields, optional parameter purpose, return format, and cross-reference behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (vendor and product described, limit not). The description adds no extra meaning beyond the schema; limit parameter remains undocumented. Baseline 3 as schema covers most.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for CVEs by vendor/product and cross-references with CISA KEV, which distinguishes it from sibling tools like vuln_search or vuln_lookup_cve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or excluded use cases. Sibling tools are listed but not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vuln_epss_topCInspect
Get CVEs with highest EPSS exploitation probability scores.
| Name | Required | Description | Default |
|---|---|---|---|
| threshold | No | Minimum EPSS score (0-1) | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only states the tool retrieves top-scoring CVEs but does not explain the role of threshold and limit parameters, or describe the output format. Important behavioral aspects like pagination or sorting order are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence. However, its brevity sacrifices necessary detail, making it feel incomplete rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema), the description is insufficient. It does not explain the return value structure, how the threshold and limit interact, or typical usage. A more complete description would include the output format and the relationship between parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both 'threshold' and 'limit' parameters, but the context indicates only 50% schema description coverage. The description does not add any additional meaning or context for the parameters beyond what is in the schema, failing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get CVEs with highest EPSS exploitation probability scores' clearly indicates the tool returns top CVEs ranked by EPSS score. It is a specific verb-resource combination that distinguishes it from sibling tools like vuln_search or vuln_lookup_cve. However, it could be more explicit about the descending order and the inclusion of parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as vuln_search or vuln_by_vendor. There is no mention of prerequisites, limitations, or scenarios where this tool is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vuln_kev_due_soonBInspect
Get CISA KEV vulnerabilities with upcoming remediation deadlines.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Deadline within next N days | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description describes a read operation ('Get') but lacks details on authentication, rate limits, result ordering, pagination, or behavior when no results are found. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. However, it may be too concise, sacrificing completeness. Structure is fine.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and partial schema coverage, the description is insufficient. Missing information on return format, sorting, or interpretation of 'upcoming remediation deadlines'. Incomplete for effective tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (days parameter has description, limit does not). The tool description does not add any meaning beyond the schema; it does not explain how 'days' relates to 'due soon' or the role of 'limit'. No enrichment provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves CISA KEV vulnerabilities with upcoming remediation deadlines. It uses specific verb 'Get' and resource 'CISA KEV vulnerabilities', distinguishing it from siblings like vuln_kev_latest which focuses on latest entries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for upcoming deadlines but provides no explicit guidance on when to use this tool versus alternatives like vuln_kev_latest or other sister tools. No when-not-to-use or contextual prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vuln_kev_latestBInspect
Get recently added CISA KEV entries (actively exploited vulnerabilities).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look back N days | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly indicates a read operation returning vulnerability entries, but lacks details on output format, pagination, or rate limits. The description is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence of 7 words contains all essential information without fluff. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 optional params, no output schema), and the description provides a basic understanding. However, it does not explain the return format or pagination behavior (implied by 'limit'), and lacks annotation context. Given the absence of output schema, more detail would help, but the description is minimally functional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only 'days' has a description). The tool description does not add any parameter details beyond the schema's 'Look back N days' for 'days' and leaves 'limit' with no semantic explanation. No extra meaning is provided to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get recently added CISA KEV entries', specifying the verb (Get), resource (CISA KEV entries), and temporal scope (recently added). This distinguishes it from sibling tools like vuln_by_vendor (vendor-specific) or vuln_epss_top (EPSS ranking).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While the description implies usage for recent KEV entries, it does not mention exclusions or recommend sibling tools for other cases (e.g., vuln_lookup_cve for specific CVEs).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vuln_lookup_cveAInspect
Look up a CVE by ID and get enriched intelligence: NVD details (CVSS score, description, references), CISA KEV active exploitation status, EPSS exploitation probability score, and MITRE ATT&CK techniques.
| Name | Required | Description | Default |
|---|---|---|---|
| cveId | Yes | CVE identifier (e.g., CVE-2021-44228) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool aggregates data from NVD, CISA KEV, EPSS, and MITRE ATT&CK, indicating a read-only operation. Missing details like rate limits or response format, but the description is still informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently lists the tool's capabilities without any extraneous words. It is front-loaded with the purpose 'Look up a CVE by ID' and then enumerates sources.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of aggregating multiple intelligence sources, the description covers the key outputs but doesn't detail return structure or potential pagination. Since output schema is absent, a slightly more detailed description of the return format would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with a clear description and pattern for the cveId parameter. The description does not add additional semantics beyond what the schema already states, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool looks up a CVE by ID and returns enriched intelligence from multiple sources (NVD, CISA KEV, EPSS, MITRE ATT&CK). It distinguishes from siblings like vuln_search or vuln_by_vendor by focusing on a single CVE identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Look up a CVE by ID', providing clear context for when to use this tool. However, it does not explicitly mention when not to use it or contrast it with sibling tools, but the context is strong enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vuln_searchBInspect
Search the NIST NVD for CVEs by keyword, severity, and date range.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | No | Search keyword (e.g., 'apache log4j') | |
| severity | No | CVSS v3.1 severity | |
| pubStartDate | No | Start date ISO format | |
| pubEndDate | No | End date ISO format | |
| hasKev | No | Only show actively exploited CVEs | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description does not explicitly state the tool's read-only nature or any side effects. It merely describes the search functionality, leaving behavioral assumptions to the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 12-word sentence that efficiently conveys the core purpose with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not mention return format, pagination, or how results are ordered. With no output schema, this information is critical for an agent to understand how to use the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 83% parameter description coverage, so the baseline is 3. The description only mentions three parameters (keyword, severity, date range) without adding new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches the NIST NVD for CVEs by keyword, severity, and date range. It distinguishes itself from siblings like vuln_by_vendor (vendor-specific) and vuln_lookup_cve (single CVE lookup).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus sibling tools like vuln_epss_top or vuln_kev_due_soon. The description lacks any context about alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vuln_trendingCInspect
Get recently published critical/high severity CVEs from the NVD.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Published within last N days | |
| severity | No | CRITICAL | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior but only states the basic function. It omits details on rate limits, data freshness, response structure, or whether the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the main purpose without extraneous details. However, it could be expanded slightly for clarity without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, pagination, or edge cases, leaving significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no value beyond the input schema. Schema coverage is low (33%), but the description doesn't explain parameter meanings or relationships, such as how 'days' and 'severity' interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'recently published critical/high severity CVEs from the NVD', effectively conveying the tool's purpose and distinguishing it from siblings like vuln_search. However, it inaccurately restricts severity to critical/high when the parameter allows all levels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., vuln_by_vendor, vuln_search). The description does not specify contexts where this tool is preferred or when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.1.0- First observed
vuln_by_vendor - First observed
vuln_epss_top - First observed
vuln_kev_due_soon - First observed
vuln_kev_latest - First observed
vuln_lookup_cve - First observed
vuln_search - First observed
vuln_trending
TDQS
Scored across 7 tools
Tools are mostly distinct, with slight overlap between vuln_kev_due_soon and vuln_kev_latest (both KEV-focused but different filters) and between vuln_trending and vuln_epss_top (different criteria for prioritizing CVEs). Descriptions clarify differences.
All tool names follow the pattern vuln_<descriptive_name>, using underscores and consistent noun/verb structure. No mixing of conventions.
7 tools cover the core vulnerability intelligence domain without being excessive. Each tool serves a clear purpose, and the count is well-scoped.
The surface covers search, lookup, trending, exploitation probability, and KEV monitoring comprehensively. Minor gaps exist, such as no tool for patch or fix version information, but overall the set is complete for its informational purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
CVE intelligence: exploitation (KEV/EPSS), detection coverage, fixed versions. All tools keyless.
Real-time CVE, exploit, and vulnerability intelligence for AI assistants (350K+ CVEs, 115K+ PoCs)
CVE search, vulnerability database, EPSS exploit prediction, KEV, IP reputation & threat feed.
Threat intel + your scans/findings/Shield posture. CVE, EPSS, KEV, package vuln lookup, DAST.
Related MCP Servers
- AlicenseAqualityAmaintenanceAn MCP server for vulnerability management that provides tools for automated severity and CWE classification using NLP models. It enables AI agents to query the Vulnerability Lookup API for detailed CVE information and search for security vulnerabilities across various sources.1642AGPL 3.0
- AlicenseAqualityCmaintenanceMCP server for the NIST National Vulnerability Database — lets AI assistants search CVEs by keyword, severity, CPE, CWE, KEV status, and date range via natural language.2GPL 3.0
- AlicenseAqualityBmaintenanceUnifies 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.4135124MIT
- AlicenseAqualityCmaintenanceProvides 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