Uses ExploitDB data sourced from GitLab repositories, either by downloading directly from CSV files or cloning from the ExploitDB GitLab repository.
Built on Node.js, requiring v16 or higher for operation.
Uses npm (v7 or higher) for package management and installation.
Stores exploit data in a SQLite database that can be configured and updated on customizable intervals.
ExploitDB MCP Server
A Model Context Protocol server that provides access to ExploitDB functionality, developed by Cyreslab.ai. This server enables AI assistants like Claude to query information about security exploits and vulnerabilities, enhancing cybersecurity research and threat intelligence capabilities.
GitHub Repository: https://github.com/Cyreslab-AI/exploitdb-mcp-server Contact: contact@cyreslab.ai
Features
Exploit Search: Search for exploits by keywords, CVE IDs, platforms, and more
Exploit Details: Get comprehensive information about specific exploits, including code
CVE Lookup: Find all exploits related to specific CVE IDs
Recent Exploits: Track newly added exploits
Statistics: Get insights into exploit distribution by platform, type, and year
Automatic Updates: Keep the database up-to-date with scheduled updates
Related MCP server: WebSearch-MCP
Installation
Prerequisites
Node.js (v16 or higher)
npm (v7 or higher)
Installation Steps
Clone the repository:
git clone https://github.com/Cyreslab-AI/exploitdb-mcp-server.git cd exploitdb-mcp-serverInstall dependencies:
npm installBuild the project:
npm run buildConfigure the server:
Create a
.envfile in the root directory based on.env.exampleAdjust settings as needed (data directory, update frequency, etc.)
Initialize the database:
npm run update-dbNote: The initial database update may take several minutes as it processes ~47,000 exploits from the ExploitDB CSV file. The script handles missing or malformed data gracefully by using fallback values for required fields.
Run the server:
node build/index.js
MCP Configuration
To use this server with Claude or other MCP-compatible assistants, add it to your MCP configuration:
Available Tools
The ExploitDB MCP server provides 18 comprehensive tools for querying and analyzing exploit data:
Core Search Tools
search_exploits - General search with multiple filters
get_exploit - Get detailed information about a specific exploit
find_by_cve - Find exploits by CVE ID
get_recent_exploits - Get recently added exploits
get_statistics - Get database statistics
Advanced Search Tools
search_by_platform - Search exploits for a specific platform with filters
search_by_type - Search by exploit type (webapps, remote, local, dos, hardware)
search_by_author - Find all exploits by a specific author
search_by_date_range - Find exploits within a date range
search_by_tags - Search by generated tags (sql injection, xss, etc.)
Analysis & Intelligence Tools
get_platform_statistics - Get detailed statistics for a specific platform
get_trending_exploits - Find recently added exploits (configurable time period)
compare_exploits - Compare multiple exploits side-by-side
get_exploit_timeline - Get chronological timeline of exploits
Utility Tools
batch_get_exploits - Retrieve multiple exploits efficiently (up to 50)
get_related_exploits - Find related exploits by platform, author, CVE, or tags
validate_exploit_id - Check if an exploit ID exists
export_search_results - Export search results in JSON or CSV format
Usage Examples
Search Exploits
Use the search_exploits tool to search for exploits in the database:
Additional search parameters:
type: Filter by exploit type (e.g., webapps, remote, local)cve: Filter by CVE IDauthor: Filter by author namestart_date/end_date: Filter by date range (YYYY-MM-DD)verified: Filter by verified status (true/false)offset: For pagination
Get Exploit Details
Use the get_exploit tool to retrieve detailed information about a specific exploit:
Find Exploits by CVE
Use the find_by_cve tool to find all exploits related to a specific CVE:
Get Recent Exploits
Use the get_recent_exploits tool to retrieve recently added exploits:
Get Statistics
Use the get_statistics tool to get insights about the exploits in the database:
Search by Platform
Search exploits for a specific platform with advanced filters:
Search by Author
Find all exploits by a specific author:
Search by Date Range
Find exploits within a specific date range:
Search by Tags
Search exploits by generated tags:
Get Trending Exploits
Find recently added exploits:
Compare Exploits
Compare multiple exploits side-by-side:
Get Related Exploits
Find exploits related to a specific exploit:
Batch Get Exploits
Retrieve multiple exploits efficiently:
Export Search Results
Export search results in CSV or JSON format:
Configuration Options
The server can be configured using environment variables or a .env file:
Variable | Description | Default |
| Whether to clone the ExploitDB repository |
|
| URL of the ExploitDB repository |
|
| URL of the ExploitDB CSV file |
|
| Directory to store data |
|
| Path to the SQLite database |
|
| Update frequency in hours (0 to disable) |
|
| Maximum number of results to return per query |
|
Data Sources
This server uses data from the Exploit Database, maintained by Offensive Security. The data is either downloaded directly from the CSV file or cloned from the ExploitDB GitLab repository.
Data Processing
The server automatically handles various data quality issues:
Date handling: Uses
date_publishedfrom the CSV, with fallbacks todate_added,date_updated, or a default date if all are missingMissing fields: Provides sensible defaults for required fields (author, type, platform) when data is incomplete
CVE extraction: Automatically extracts CVE identifiers from exploit descriptions
Tag generation: Generates relevant tags based on exploit descriptions for improved searchability
The database typically contains:
46,000+ exploits spanning from 1988 to present
33,000+ verified exploits
Coverage across 60+ platforms (PHP, Windows, Linux, etc.)
27,000+ web application exploits
Comprehensive metadata including authors, dates, platforms, and CVE references
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
Offensive Security for maintaining the Exploit Database
Model Context Protocol for enabling AI assistants to access external tools
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Have feature suggestions or found a bug? Please open an issue on our GitHub repository or contact us directly at contact@cyreslab.ai.