batch_get_exploits
Retrieve multiple exploits efficiently in one call
Search the Exploit Database locally — by CVE, platform, type, author, date or tag — with exploit code, comparisons, timelines and CSV export.
LABSCO SUMMARY
Once the database is built, everything runs against SQLite on your own machine: no API key, no rate limit, and no reason not to run five variations of a query. That is what makes the pivot tools worth having — comparing exploits side by side, walking related entries by author or platform, and exporting the result set to CSV are all things you avoid doing against a rate-limited web interface. Budget several minutes for the first npm run update-db, and set UPDATE_INTERVAL so the copy does not quietly go stale.
An MCP server that keeps a local SQLite copy of the Exploit Database and exposes 18 tools over it. Because the data is local, queries are fast and free, and the copy refreshes on a schedule you set. The database it builds typically holds more than 46,000 exploits from 1988 onward, across 60+ platforms.
search_exploits, get_exploitfind_by_cve, get_recent_exploitssearch_by_platform, search_by_type, search_by_author, search_by_date_range, search_by_tagsget_statistics, get_platform_statistics, get_trending_exploits, get_exploit_timelinecompare_exploits, get_related_exploits, batch_get_exploitsvalidate_exploit_id, export_search_resultsNo account and no key — the data comes from the public Exploit Database CSV or its GitLab repository. Node.js v16 or higher and npm v7 or higher. Install from a clone with npm install and npm run build, then run npm run update-db once to build the local database; that first load takes several minutes because it processes roughly 47,000 records. DB_PATH and DATA_DIR set where the SQLite file lives, UPDATE_INTERVAL sets the refresh in hours with 0 disabling it, and MAX_RESULTS caps results per query at 10 by default — raise it before running a broad export.
Build from source — git clone https://github.com/Cyreslab-AI/exploitdb-mcp-server.git
USE CASES
Look the CVE up for every associated entry, then pull the one that matters in full with its code included — the answer that decides how urgently you patch.
Search that platform filtered to verified web application entries, and read the platform statistics to see how the risk is distributed by type and year.
Pull additions over the last 30 days and place them on a timeline, so a spike against one product is visible rather than buried.
Search by tag for the class of issue, compare several entries side by side, and walk related exploits by author or platform to see how the technique evolved.
Run the search once and export the matches as CSV or JSON for a ticket, a report or a spreadsheet.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
batch_get_exploitsRetrieve multiple exploits efficiently in one call
compare_exploitsCompare multiple exploits side-by-side
export_search_resultsExport search results in various formats (JSON, CSV)
find_by_cveFind exploits by CVE ID
get_exploitGet detailed information about a specific exploit
get_exploit_timelineGet chronological timeline of exploits for a CVE or search term
get_platform_statisticsGet detailed statistics for a specific platform
get_recent_exploitsGet recently added exploits
get_related_exploitsFind exploits related to a specific exploit (same platform, similar CVE, etc.)
get_statisticsGet statistics about the exploits in the database
get_trending_exploitsFind recently added exploits (last 30 days by default)
search_by_authorFind all exploits by a specific author
search_by_date_rangeFind exploits within a specific date range
search_by_platformSearch exploits for a specific platform with advanced filters
search_by_tagsSearch exploits by generated tags (e.g., sql injection, xss, buffer overflow)
search_by_typeSearch exploits by type (webapps, remote, local, dos, hardware)
search_exploitsSearch for exploits in the ExploitDB database
validate_exploit_idCheck if an exploit ID exists and is valid
BEFORE YOU INSTALL
18 tools when we connected. All 18 tools query a local database that stays empty until npm run update-db runs once; it refreshes on UPDATE_INTERVAL, 24 hours by default.
The documented client runs the server on your machine.
CONTEXT COST
Rated by the size of the 18 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
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 buildInitialize the database
npm run update-db{
"mcpServers": {
"mcp-exploitdb-server": {
"command": "node",
"args": [
"<YOUR_PATH_TO_EXPLOITDB_MCP_SERVER>/build/index.js"
]
}
}
}<YOUR_PATH_TO_EXPLOITDB_MCP_SERVER> is the absolute path of the folder you cloned. build/index.js exists only after npm run build, and npm run update-db must have run once to fill the database.