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.
- General search with combined filters — keyword, platform, type, CVE, author, date range, verified status and pagination — plus a single exploit fetched in full, with its code if you ask for it — `search_exploits`, `get_exploit`
- Every exploit tied to a CVE, and the most recently added entries — `find_by_cve`, `get_recent_exploits`
- Targeted searches by platform, by exploit type (webapps, remote, local, dos, hardware), by author, by date range, and by generated tags such as sql injection or xss — `search_by_platform`, `search_by_type`, `search_by_author`, `search_by_date_range`, `search_by_tags`
- Distribution statistics for the whole database or one platform, additions over a configurable recent window, and a chronological timeline — `get_statistics`, `get_platform_statistics`, `get_trending_exploits`, `get_exploit_timeline`
- Several exploits compared side by side, related entries found by platform, author, CVE or tag, and up to 50 records fetched in one batch — `compare_exploits`, `get_related_exploits`, `batch_get_exploits`
- An id checked for existence before you build on it, and a result set exported as JSON or CSV — `validate_exploit_id`, `export_search_results`
No 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.
One command — npx -y github:Cyreslab-AI/exploitdb-mcp-server
