epsteinexposed-mcp
Search the Epstein Exposed public database through MCP tools.
search_persons: Find persons of interest by name and category, with pagination and stats.
get_person: Get full biographical details, aliases, black book status, and aggregate stats by slug.
search_documents: Full-text search across case documents with filters by source and category.
search_flights: Search flight logs by passenger, year, origin, or destination.
cross_search: Simultaneously full-text search documents and emails with optional type limiting.
epsteinexposed-mcp
Model Context Protocol server exposing the Epstein Exposed public API as AI-agent tool calls.
Plug directly into any MCP-compatible client (Claude Desktop, Cursor, SmolAgents, etc.) to search persons, documents, flight logs, and emails from the Epstein case files.

Disclaimer: Inclusion in the Epstein Exposed database does not imply guilt or wrongdoing. All data is derived from publicly released government records.
Tools
Tool | Description |
| Search/filter persons of interest by name and category |
| Get full detail for a person by slug (bio, aliases, stats) |
| FTS5 full-text search across case documents |
| Search flight logs by passenger, year, origin, destination |
| Search across documents and emails simultaneously |
Related MCP server: @cyanheads/secedgar-mcp-server
Quick Start
# Install
pip install -e ".[dev]"
# Run via stdio (for MCP clients)
python -m src.server
# Or via the MCP CLI
mcp run src/server.pyMCP Client Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"epstein-files": {
"command": "epsteinexposed-mcp",
"args": []
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"epstein-files": {
"command": "epsteinexposed-mcp",
"args": []
}
}
}Architecture
MCP Client (Claude, Cursor, SmolAgents)
│
│ JSON-RPC 2.0 (stdio / SSE)
▼
epsteinexposed-mcp (FastMCP)
│
│ AsyncEpsteinExposed (curl_cffi)
▼
epsteinexposed.com/api/v1Powered by the epsteinexposed Python package.
Development
git clone https://github.com/releasetheepsteinfiles/epsteinexposed-mcp.git
cd epsteinexposed-mcp
pip install -e ".[dev]"
pytest -vDocumentation
Full docs available at the docs site (VitePress).
The toolchain
This repository is one of four that share a data source and a design system:
Repo | Role |
Python client for the public API | |
MCP server — structured search (this repo) | |
MCP server — semantic search (in development) | |
Natural-language chat app |
A 20-second overview of how the four fit together:

Design system
All four repositories share the "Declassified" visual language — a dark
archival palette with a single ember accent, monospace structure and Inter
prose. The canonical tokens live in brand/tokens.css
and the rationale in brand/DESIGN.md; both files are
byte-identical across the four repos.
The VitePress theme maps --vp-* onto that palette in
docs/.vitepress/theme/custom.css.
License
MIT
Available Tools
5 toolscross_searchA
Search across documents AND emails simultaneously using full-text search.
Args:
query: Search query (required).
type: Limit to "documents" or "emails". Omit to search both.
limit: Max results per type, max 100 (default 20).
Returns:
JSON with separate result arrays for documents and emails.
Inputs: query (required), type, limit. Returns: result
get_personA
Get full detail for a specific person by their URL slug.
Returns biographical info, aliases, black book entry status, and aggregate stats
(flights, documents, connections, emails).
Args:
slug: The person's URL slug (e.g. "bill-clinton", "ghislaine-maxwell").
Returns:
JSON with full person detail.
Inputs: slug (required). Returns: result
search_documentsA
Search Epstein case documents using full-text search (FTS5).
Args:
query: Full-text search query (e.g. "little st james", "flight log").
source: Filter by document source (court-filing, doj-release, fbi, efta).
category: Filter by document category (deposition, testimony, correspondence).
page: Page number (default 1).
per_page: Results per page, max 100 (default 20).
Returns:
JSON with matching documents including title, date, source, summary, tags.
Inputs: query, source, category, page, +1 more. Returns: result
search_flightsA
Search Epstein's flight logs (~1997-2006) across all known aircraft.
Args:
passenger: Filter by passenger name.
year: Filter by year (e.g. 2002).
origin: Filter by departure location (e.g. "TIST", "Palm Beach").
destination: Filter by arrival location (e.g. "Teterboro", "CYUL").
page: Page number (default 1).
per_page: Results per page, max 100 (default 20).
Returns:
JSON with flight records including date, route, aircraft, pilot, and passengers.
Inputs: passenger, year, origin, destination, +2 more. Returns: result
search_personsA
Search the Epstein files for persons of interest.
Args:
name: Full or partial name to search for.
category: Filter by category (politician, business, royalty, celebrity,
associate, legal, academic, socialite, military-intelligence, other).
page: Page number (default 1).
per_page: Results per page, max 100 (default 20).
Returns:
JSON with matching person records including stats (flights, documents, etc.).
Inputs: name, category, page, per_page. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose targeting different data types: cross_search covers both documents and emails, get_person retrieves detailed person info, search_documents focuses on documents, search_flights handles flight logs, and search_persons finds person records. There is no overlap in functionality, making tool selection straightforward for an agent.
All tool names follow a consistent verb_noun pattern using snake_case: cross_search, get_person, search_documents, search_flights, and search_persons. The naming is predictable and readable, with no deviations in style or convention.
With 5 tools, the server is well-scoped for its purpose of exploring Epstein-related data. Each tool serves a specific and necessary function (searching across data types, retrieving person details, and searching documents, flights, and persons), with no redundant or missing tools for the domain.
The tool surface provides complete coverage for the domain of investigating Epstein case data. It includes search capabilities across all key data types (documents, emails, flights, persons) and detailed retrieval for persons, enabling comprehensive exploration without obvious gaps or dead ends.
Maintenance
Related MCP Connectors
Icypeas MCP — wraps the Icypeas email-search API (icypeas.com)
Browse and query the EIA API v2 — electricity, petroleum, natural gas, coal, forecasts via MCP.
Podcast Index MCP — wraps the Podcast Index API (podcastindex.org)
Market Data App MCP — wraps the Market Data App API (marketdata.app)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceInteract with the Cooper Hewitt API with MCP.2MIT
- AlicenseNot gradedqualityBmaintenanceQuery SEC EDGAR filings, XBRL financials, and company data through MCP.839 npm12Apache 2.0
- AlicenseNot gradedqualityBmaintenanceAccess FEC campaign finance data through MCP. Query data about candidates, money trails, and election filings. STDIO & Streamable HTTP.425 npm2Apache 2.0
- AlicenseNot gradedqualityBmaintenanceExposes the FBI Crime Data Explorer API — crime estimates, agency offense rates, and LEOKA officer safety data via MCP. Supports STDIO or Streamable HTTP transport.170 npm2Apache 2.0