A modular Model Context Protocol (MCP) server providing comprehensive security vulnerability intelligence tools including CVE lookup, EPSS scoring, CVSS calculation, exploit detection, and Python package vulnerability checking.
The vulnerability intelligence MCP server is already hosted and ready to use! Simply configure your MCP client to connect to it.
Add this configuration to your Claude Desktop settings file (~/.config/claude/claude_desktop_config.json
):
{
"mcpServers": {
"vulnerability-intelligence": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"],
"env": {
"FETCH_URL": "https://vulnerability-intelligence-mcp-server-edb8b15494e8.herokuapp.com/sse"
}
}
}
}
Add this configuration to your Cursor MCP settings file (~/.cursor/mcp.json
):
{
"mcpServers": {
"vulnerability-intelligence": {
"url": "https://vulnerability-intelligence-mcp-server-edb8b15494e8.herokuapp.com/sse"
}
}
}
Alternatively, in Cursor IDE:
- Open Cursor Settings โ Features โ MCP Servers
- Click "Add New Server"
- Select "Server-Sent Events (SSE)" as the type
- Enter URL:
https://vulnerability-intelligence-mcp-server-edb8b15494e8.herokuapp.com/sse
- Give it a name:
vulnerability-intelligence
Once configured, try these example queries in Claude or Cursor:
- CVE Lookup: "Look up CVE-2021-44228" (Log4Shell vulnerability)
- EPSS Score: "Get EPSS score for CVE-2021-44228"
- Package Check: "Check the 'requests' Python package for vulnerabilities"
- Exploit Check: "Check for exploits for CVE-2021-44228"
- CVSS Calculator: "Calculate CVSS score for vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
- Purpose: Fetches detailed vulnerability information from the National Vulnerability Database (NVD)
- Data Source: NIST National Vulnerability Database API 2.0
- Usage:
cve_lookup cve_id="CVE-2021-44228"
- Features:
- CVSS scores (v2.0, v3.0, v3.1) with severity ratings
- Comprehensive vulnerability descriptions
- References, advisories, and remediation links
- CWE (Common Weakness Enumeration) mappings
- Publication and modification timeline
- Affected product configurations
- Purpose: Get Exploit Prediction Scoring System (EPSS) scores for CVEs
- Data Source: FIRST EPSS API
- Usage:
get_epss_score cve_id="CVE-2021-44228"
- Features:
- Probability of exploitation within 30 days
- AI-powered risk prioritization
- Real-time threat intelligence integration
- Percentile rankings for relative risk assessment
- Purpose: Calculate CVSS base scores from vector strings
- Data Source: CVSS v3.0/v3.1 specification
- Usage:
calculate_cvss_score vector="CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
- Features:
- Support for CVSS v3.0 and v3.1
- Detailed metric breakdown
- Severity level mapping (Critical, High, Medium, Low)
- Vector string validation and parsing
- Purpose: Search vulnerability databases with advanced filtering
- Data Source: Multiple vulnerability databases (NVD, CVE)
- Usage:
search_vulnerabilities keywords="apache" severity="HIGH" date_range="1y"
- Features:
- Keyword-based search across vulnerability descriptions
- Severity filtering (CRITICAL, HIGH, MEDIUM, LOW)
- Date range filtering (30d, 90d, 1y, 2y, or custom)
- Advanced query capabilities for threat research
- Purpose: Check for public exploits and proof-of-concepts (PoCs)
- Data Source: ExploitDB, Metasploit, GitHub, security advisories
- Usage:
get_exploit_availability cve_id="CVE-2021-44228"
- Features:
- Multi-source exploit detection
- Active exploitation indicators
- PoC code availability assessment
- Threat intelligence aggregation
- Purpose: Get comprehensive timeline and patch status information
- Data Source: NVD, vendor advisories, security bulletins
- Usage:
get_vulnerability_timeline cve_id="CVE-2021-44228"
- Features:
- Publication and disclosure timeline
- Patch availability status
- Vendor advisory tracking
- Remediation guidance timeline
- Purpose: Check Vulnerability Exploitability eXchange (VEX) status for specific products
- Data Source: Vendor VEX statements and product security advisories
- Usage:
get_vex_status cve_id="CVE-2021-44228" product="Apache HTTP Server"
- Features:
- Product-specific impact assessment
- Vendor-provided exploitability statements
- False positive filtering
- Supply chain impact analysis
- Purpose: Checks Python packages for known security vulnerabilities
- Data Source: OSV (Open Source Vulnerabilities) Database + PyPI
- Usage:
package_vulnerability_check package_name="requests" version="2.25.1"
- Features:
- Comprehensive vulnerability scanning for PyPI packages
- Version-specific or all-versions checking
- Detailed vulnerability reports with severity scores
- Affected version ranges and fix information
- Integration with CVE, GHSA, and PYSEC databases
- Package metadata from PyPI
The server is built with a clean, modular architecture:
mcp_simple_tool/
โโโ server.py # Main MCP server orchestration
โโโ tools/ # Individual tool modules
โโโ cve_lookup.py # CVE vulnerability lookup
โโโ epss_lookup.py # EPSS score lookup
โโโ cvss_calculator.py # CVSS score calculator
โโโ vulnerability_search.py # Advanced vulnerability search
โโโ exploit_availability.py # Exploit and PoC detection
โโโ vulnerability_timeline.py # Timeline and patch status
โโโ vex_status.py # VEX status checking
โโโ package_vulnerability.py # Python package security check
tests/ # Comprehensive test suite
โโโ run_tests.py # Automated test runner
โโโ test_*.py # Individual tool tests
- Initial setup:
# Clone the repository
git clone https://github.com/firetix/vulnerability-intelligence-mcp-server
cd vulnerability-intelligence-mcp-server
# Create environment file
cp .env.example .env
- Build and run using Docker Compose:
# Build and start the server
docker compose up --build -d
# View logs
docker compose logs -f
# Check server status
docker compose ps
# Stop the server
docker compose down
-
The server will be available at: http://localhost:8000/sse
-
Connect to Cursor IDE:
- Open Cursor Settings โ Features
- Add new MCP server
- Type: Select "sse"
- URL: Enter
http://localhost:8000/sse
- Install the uv package manager:
# Install uv on macOS
brew install uv
# Or install via pip (any OS)
pip install uv
- Install dependencies and run:
# Install the package with development dependencies
uv pip install -e ".[dev]"
# Using stdio transport (default)
uv run mcp-simple-tool
# Using SSE transport on custom port
uv run mcp-simple-tool --transport sse --port 8000
# Run the comprehensive test suite
python tests/run_tests.py
- For Cursor IDE integration (stdio mode):
- Copy the absolute path to
cursor-run-mcp-server.sh
- Open Cursor Settings โ Features โ MCP Servers
- Add new server with "stdio" type and the script path
- Copy the absolute path to
Run the comprehensive test suite:
# Run all tests
python tests/run_tests.py
# Run individual tool tests
python tests/test_cve_lookup.py
python tests/test_package_vulnerability.py
python tests/test_modular_server.py
CVE Lookup Test:
๐ **CVE Vulnerability Report: CVE-2021-44228**
๐
**Timeline:**
โข Published: 2021-12-10T10:15:09.143
โข Last Modified: 2023-11-07T04:10:58.217
โ ๏ธ **CVSS Scores:**
โข CVSS 3.1: 10.0 (CRITICAL)
Package Vulnerability Test:
๐จ **Python Package Security Report: requests**
โ ๏ธ **Found 11 known vulnerabilities**
๐ฆ **Package Information:**
โข Latest Version: 2.32.3
โข Summary: Python HTTP for Humans.
Available environment variables (can be set in .env
):
MCP_SERVER_PORT
(default: 8000) - Port to run the server onMCP_SERVER_HOST
(default: 0.0.0.0) - Host to bind the server toDEBUG
(default: false) - Enable debug modeMCP_USER_AGENT
- Custom User-Agent for HTTP requests
If you want to deploy your own instance of the vulnerability intelligence server, you can use Heroku for quick deployment:
-
Click "Deploy to Heroku" button
-
After deployment, your instance will be available at:
https://<your-app-name>.herokuapp.com/sse
-
Configure your MCP client to use your deployed instance:
- For Claude Desktop: Update the
FETCH_URL
in your configuration - For Cursor IDE: Update the URL in your MCP settings
- For Claude Desktop: Update the
-
Test your deployment with the same example queries:
- CVE Lookup: "Look up CVE-2021-44228"
- EPSS Score: "Get EPSS score for CVE-2021-44228"
- Package Check: "Check the 'requests' Python package for vulnerabilities"
- Exploit Check: "Check for exploits for CVE-2021-44228"
- CVE Data: NIST National Vulnerability Database (NVD API 2.0)
- EPSS Scores: FIRST EPSS API (Exploit Prediction Scoring System)
- CVSS Calculations: CVSS v3.0/v3.1 specification compliance
- Vulnerability Search: Multiple CVE and vulnerability databases
- Exploit Intelligence: ExploitDB, Metasploit, GitHub security advisories
- Package Vulnerabilities: OSV (Open Source Vulnerabilities)
- Package Metadata: PyPI (Python Package Index)
- VEX Data: Vendor VEX statements and product security advisories
This MCP server is designed for security engineers, developers, and teams who need:
- Quick CVE lookups with comprehensive details
- CVSS and EPSS scoring for accurate risk assessment
- Advanced vulnerability search across multiple databases
- Exploit availability and threat intelligence gathering
- Timeline analysis for understanding vulnerability lifecycle
- EPSS-based exploitation probability scoring
- CVSS vector calculation and validation
- VEX status checking for product-specific impact
- Multi-factor risk analysis combining multiple data sources
- Python package security auditing
- Version-specific vulnerability checking
- Supply chain security assessment
- Open source component risk evaluation
- Rapid vulnerability triage and classification
- Exploit availability assessment for threat modeling
- Security advisory research and correlation
- Timeline-based patch management planning
The modular architecture makes it easy to add new security tools:
- Create a new module in
mcp_simple_tool/tools/
- Export the function in
tools/__init__.py
- Register the tool in
server.py
- Add tests in
tests/
See README_MODULAR.md for detailed extension guide.
MIT License - see LICENSE file for details.