Epstein-Files-Plugin
Epstein Files Plugin — fragen Sie die DOJ-Veröffentlichung des Epstein Files Transparency Act aus jedem KI-Agenten ab
Verwandelt einen Namen, ein Datum, ein Schlagwort, eine EFTA-Seitenzahl oder eine offene Frage — zum E-Mail-Korpus, zu den Fotos, zu den Transkripten oder zum Wissensgraph — in das exakte, zitierfähige, offizielle DOJ-Dokument. Kein manuelles Durchblättern von ~2,8 Millionen Seiten. Kein Kampf mit der bot-blockierten Suche des DOJ.
Arbeitet ausschließlich mit bereits öffentlichen DOJ-Gerichtsakten und einem öffentlichen Volltextspiegel. Entwickelt für Recherche, Faktenprüfung und Quellenangabe — nicht für Re-Identifizierung, Belästigung oder Doxing. Siehe Verantwortungsvolle Nutzung.
Über das Plugin
Das Epstein Files Plugin indexiert und löst Dokumente in der öffentlichen DOJ-Veröffentlichung des Epstein Files Transparency Act (Public Law 119-38, unterzeichnet am 2025-11-19) auf — etwa 1,4 Mio. Dokumente / 2,8–2,9 Mio. Seiten, über 12 DataSets auf justice.gov/epstein veröffentlicht sowie vom Drittanbieter epstein-data.com gespiegelt und als 20 abfragbare Datenbanken indiziert (beide Zahlen am 2026-08-24 live verifiziert; der gesamte erfasste Korpus des DOJ ist mit ~6 Mio. Seiten noch größer — dies ist der bisher veröffentlichte Teil; bitte vor einer Zitierung als vollständig nochmals prüfen).
Verfügbar als:
🧩 ein Claude-Code-Plugin — aus einer Marketplace-Umgebung in zwei Zeilen installiert
🔌 ein MCP-Server (
.mcp.json) — derselbe Server, eigenständig — lokales stdio, keine API-Schlüssel, kein Remote-Host, funktioniert mit jedem MCP-kompatiblen Client: Claude Desktop, Cursor, Windsurf oder eine eigene Agenten-Laufzeitumgebung auf Basis des offiziellenmcp-SDKs💻 eine Python-CLI —
python src/efta_researcher.py, kein MCP-Client erforderlich📦 eine Python-Bibliothek —
from efta_core import efta_to_url, get_dataset, direkt importierbar
Warum es nutzen:
🚀 Schneller als die manuelle Suche. Die eigene DOJ-Suche ist für automatisierten/Headless-Zugriff blockiert (Akamai-Bot-Schutz — siehe Verantwortungsvolle Nutzung); dieses Plugin geht direkt von einem Namen, Datum oder Schlagwort in Sekunden zur passenden EFTA-Nummer.
🎯 Direkt zur Quelle, jedes Mal. Jedes Ergebnis löst in die offizielle PDF-URL von
justice.gov/epsteinauf — Sie prüfen das Originaldokument selbst, niemals eine Paraphrase davon.✅ Faktengeprüft, nicht sensationsheisch. Das Register der bekannten Dokumente enthält belegte Faktenchecks (EUvsDisinfo, Reuters, Tempo u. a.), sodass eine „Verbindung" für das gekennzeichnet wird, was das Dokument tatsächlich zeigt — und nicht für das, was eine virale Bildunterschrift behauptet.
🧠 Vollständig abfragbar, nicht nur das Postfach. Zwei spezialisierte Tools decken den E-Mail-Korpus ab; fünf generische Tools erreichen alle 20 Datenbanken — Bilder, Transkripte, OCR-Text, Handschrift, Vernehmungsprotokolle, den Wissensgraphen — plus eine read-only SQL-Luke für alles, was die Filter-API nicht ausdrücken kann.
🗺️ Struktur, einmal rekonstruiert. Die 12-DataSet-/EFTA-Nummern-Grenztabelle wurde mit den Offenlegungsseiten des DOJ selbstungen abgeglichen, sodass Sie sie nicht für jede Abfrage neu ableiten müssen.
🔓 Kein Lock-in. Dieselben Abfragen funktionieren von einer CLI, aus einem Python-Import oder jedem MCP-Client.
Related MCP server: DocImprint
Architektur
Zwei Werkzeugebenen: bewusst zweckgebaut (Wrapper über die am häufigsten genutzte Tabelle — schnell, ergonomisch, korrekte Paginierung) und eine generische Introspections-/Abfrage-/SQL-Schicht, die jede andere Datenbank ohne dediziertes Werkzeug pro Tabelle erreicht — die Antwort auf „Kann alles einebgefragt werden?“ und das, was dieses System auch noch funktioniert, wenn sich das Schema von epstein-data.com bis in 2031 weiterentwickelt, ohne neuen Code. Siehe CLAUDE.md für die vollständige Design-Begründung.
flowchart LR
subgraph Client["Any MCP client"]
A["Claude Code / Claude Desktop\nCursor · Windsurf · custom agent"]
end
subgraph Server["epstein-files-plugin — local stdio, no auth"]
direction TB
PB["Purpose-built tools\nefta_search · efta_filter_email\nefta_lookup · efta_known_docs"]
GEN["Generic tools\nefta_list_databases · efta_list_tables\nefta_describe_table · efta_query_table\nefta_run_sql"]
LOCAL["Local-only\nefta_get_url — pure computation,\nno network call"]
end
subgraph Upstream["Third-party mirror"]
DS[("epstein-data.com\nDatasette JSON API\n20 databases")]
end
DOJ[("justice.gov/epstein\nofficial PDF source")]
A -- "MCP / stdio\nJSON-RPC" --> Server
PB --> DS
GEN --> DS
LOCAL -.->|"constructs URL,\nno request sent"| DOJ
DS -.->|"indexes"| DOJ
style Server fill:#1a2332,stroke:#4b8bbe,color:#e8edf4
style Upstream fill:#0f1720,stroke:#2dd4a7,color:#e8edf4
style DOJ fill:#0f1720,stroke:#94a3b8,color:#e8edf4Ich möchte ...
Ziel | Verwenden Sie diese |
Ein Dokument per Name, Datum oder Keyword finden | |
Ein Zitat ( | |
Prüfen, ob eine virale Behauptung der Wahrheit entspricht | |
Bilder, Transkripte, OCR-Text oder den Wissensgraph durchsuchen | |
Einen JOIN, eine Anzahl oder einen Zählen | |
Diese in einen Agenten einbinden, der nicht Claude Code ist | |
Das EFTA-/DataSet-Verständnis verstehen |
Schnellstart
Voraussetzungen
Python 3.11 oder neuer (3.10 erreicht 2026-10-31 End-of-Life — siehe TechStack — aktueller Stand)
pip
Als Claude-Code-Plugin installieren
/plugin marketplace add Zereo0317/Epstein-Files-Plugin
/plugin install epstein-files-plugin@epstein-files-pluginFür CLI / eigenständigen MCP / Bibliotheksnutzung installieren
git clone https://github.com/Zereo0317/Epstein-Files-Plugin.git
cd Epstein-Files-Plugin
python -m pip install --upgrade pip
pip install -r requirements.txt # requests, mcp (pinned <2.0 — see below)Die CLI ausführen
python src/efta_researcher.py --list
python src/efta_researcher.py --search "trilateral commission"
python src/efta_researcher.py --sender epstein --recipient schank --date 2009-10-23
python src/efta_researcher.py --efta EFTA00741068
python src/efta_researcher.py --databases
python src/efta_researcher.py --tables image_analysis
python src/efta_researcher.py --sql "select dataset, count(*) as n from doc_search group by dataset" --database full_text_corpusDen MCP-Server eigenständig ausführen
python src/mcp_server.pyDie 11 Nur-Lese-MCP-Tools
🔎 Zweckgebaut (der häufigste Fall — Volltext + E-Mail-Metadaten):
Werkzeug | Nutzen |
| Teilstring-Suche über den Datasette-Index — echte Gesamttrefferzahl + |
| E-Mails anhand von Metadatenfeldern filtern — gleiche Gesamtzahl der Treffer + Seitierung |
| Vorab verifizierte, faktengeprüfte bekannte Dokumente auflisten |
| Eine EFTA-Nummer in die offizielle DOJ-PDF-URL konverwerten |
| HEAD-Prüfung, ob eine DOJ-PDF-URL live ist (siehe Einschränkung bei later) |
| Vollständige Dokument-Metadaten aus dem Datasette-Index |
🧬 Generisch (Alle 20 Datenbanken, keine felseithärtes pro Tabelle):
Tool | Zweck |
| Alle 20 Datasette-Datenbanken auflisten (Bilder, Transkripte, OCR, Aussagen, Wissensgraph, ... ) |
| Jede Tabelle in einer der beiden Datenbanken auflisten – mit Spalten und Zeilenzahl |
| Spaltenliste + Zeilenzahl für eine Tabelle |
| Filter-Suffix-Abfrage gegen jegliche Tabelle |
| Schreibgeschütztes SQL — JOINS, Aggregation, |
✅ Alle 11 Tools sind gemäß der MCP-Token-Annotationskonvention mit readA/idempotentHint annotiert (und openWorldHint auf allem netzwerkbezogenes Eigenschaften) — ein Client kann sie sicher automatisch ausführen.
⚠️ Pagination:
limitist je nach Tool auf 50–100 begrenzt. Eine Abfrage kann sehr viel mehr Treffer haben (z. B. „pizza“ hat derzeit 233 Treffer) — die paginierten Tools zeigen(N von GESAMT angezeigt)und, wenn mehr vorhanden, rollencursorzum Fortfahren an.
⚠️ URL-Verifizierung: justice.gov schaltet jede PDF hinter eine Altersprüfung + Akamai-Herausforderung. Ein reiner HTTP-Status kann daher zwischen „live“ und „fehlend“ nicht zuverlässig unterscheiden. Die URL-Korrektheit stammt aus der unten verifizien Bate (DataSet-Grenztabelle), nicht aus dem Proben von justice.gov.
❌ Nicht durch die Werkzeuge allein abgedeckt:
image_analysis(92.000 mit Unter)n-notes versehene Bilder),transcripts(435 Audio-/Video-P) ,knowledge_graph,ocr_database,handwriting_transcriptionsund 13 weitere — alle stattessen über die generischen Werkzeuge aus erreichen. Aufrufeefta_list_databases()für die aktuelle, live Liste, anstatt dieser Tabelle zu vertrauen.
Nutzung mit KI-Agenten
Das Epstein Files Plugin ist MCP-first, nicht Claude-first: ein Standard- lokalen Server für stdio (gebaut auf der FastMCP-Klasse im offiziellen mcp-Python-SDK), der einfaches Model Context Protocol spricht. Es funktioniert mit jedem MCP-kompatiblen Client.
Client | Wie die Verbindung hergestellt wird |
Claude Code / Claude Desktop | Brocken |
Cursor / Windsurf / Cline | Server-Eintrag aus |
ChatGPT, Gemini oder einem eigenen/headless-Agenten | Auf |
Generische MCP-Client-Konfiguration
{
"mcpServers": {
"epstein-files-plugin": {
"command": "python",
"args": ["/absolute/path/to/epstein-files-plugin/src/mcp_server.py"]
}
}
}Keine API-Keys, keine Authentifizierung, kein Remote-Remote-Server — ein lokaler Prozess spricht stdio; identisches Verhalten in jedem Client.
Claude Code
Als Plugin installiert, lädt derselbe Server automatisch aus der .mcp.json dieses Repos (verwendet ${CLAUDE_PLUGIN_ROOT}, keine Pfadanpassung nötig):
{
"mcpServers": {
"epstein-files-plugin": {
"command": "python",
"args": ["${CLAUDE_PLUGIN_ROOT}/src/mcp_server.py"],
"env": { "PYTHONUNBUFFERED": "1" }
}
}
}Umgebungs-Overrides (Robustheit bei Spiegel- oder Domainwechsel)
Variable | Standardwert | Betrifft |
|
| Jedes Such-/Abfrage-/SQL-Werkzeug |
|
|
|
Eine spätere Änderung an einem der beiden Drittanbieter-Hosts ist eine Konfigurationsänderung, keine Codeänderung.
Beispiele
Beispiel 1 — Eine Quellenangabe ihrer offiziellen Quelle zuordnen
User request: "What's the DOJ URL for EFTA00741068, and which DataSet is it in?"
Response:
EFTA: EFTA00741068
DataSet: DS9
URL: https://www.justice.gov/epstein/files/DataSet%209/EFTA00741068.pdf
Under the hood:
efta_get_url("EFTA00741068") parses the Bates number, resolves it against the verified
12-DataSet boundary table, and constructs the official DOJ URL — no network call, no guessing.Beispiel 2 — Eine E-Mail nach Absender, Empfänger und Datum finden
User request: "Find the Epstein -> Roger Schank email from October 23, 2009."
Response:
Found 3 email(s):
EFTA00741068 DS9 2009-10-23 12:01:12 <- primary
EFTA00885615 DS9 2009-10-23 12:01:12 (OCR duplicate, reads "grnail.com")
EFTA01821140 DS10 2009-10-23 12:01:12 (third copy, later processing batch)
Under the hood:
efta_filter_email(sender="epstein", recipient="schank", date_exact="2009-10-23") queries the
epstein-data.com Datasette API (DOJ's own /multimedia-search is blocked for headless clients)
and returns every metadata match, so duplicate copies can be cross-referenced by timestamp.Beispiel 3 — Über den E-Mail-Korpus hinaus suchen (generische Werkzeuge)
User request: "Any photos in the release that show a passport?"
Response:
efta_list_tables("image_analysis") -> "images" table, 92,249 rows, column "analysis_text"
efta_query_table("image_analysis", "images", filters={"analysis_text__contains": "passport"})
-> matching rows with efta_number, source_pdf, and the analysis text itself
Under the hood:
image_analysis isn't reachable through efta_search (that only covers full_text_corpus).
efta_query_table works against any of the 20 databases using the same filter-suffix syntax,
so no dedicated "image search" tool was needed.Beispiel 4 — Eine Abfrage, die die Filter-API nicht ausdrücken kann (rohes SQL)
User request: "Break down the document count by DataSet."
Response:
efta_run_sql("full_text_corpus",
"select dataset, count(*) as n from doc_search group by dataset order by dataset")
-> 1:650, 2:150, 3:57, 4:143, 5:82, 6:13, 7:17, 8:10479, 9:480658, 10:496404,
11:331597, 12:12339, 98:6, 99:23210 (live counts, 2026-08-24)
Note: two values (98, 99) fall outside the documented 1-12 DataSet scheme — small catch-all
buckets in the source data itself. efta_get_url()/get_dataset() only resolve DataSets 1-12.DataSet-Referenz
EFTA-Nummern sind Seiten- (Bates-)Kennungen, keine Dokumentenkennungen – ein 20-seitiges PDF verbraucht 20 aufeinanderfolgende EFTA-Nummern. Die Grenzen unten sind die forensischen Pro-Datei-Bereiche aus dem rhowardstone/Epstein-research-data-Mapping, abgeglichen mit den eigenen Offenlegungsseiten des DOJ.
DataSet | EFTA-Bereich | Inhalt |
DS01 | 1 – 3,158 | Fotos, physische Scans |
DS02 | 3,159 – 3,857 | Fotos, beschlagnahmte Scans |
DS03 | 3,858 – 5,586 | Grand-Jury-Beweisstücke |
DS04 | 5,705 – 8,320 | Aufzeichnungen, Gerichtsdokumente |
DS05 | 8,409 – 8,528 | Beschlagnahmte Scans, Zeugenaussagen |
DS06 | 8,529 – 8,998 | Zeugenaussagen, Anklageschriften |
DS07 | 9,016 – 9,664 | Transkripte |
DS08 | 9,676 – 39,023 | E-Mails, Polizeiberichte |
DS09 | 39,025 – 1,262,781 | Haupt-E-Mail-Korpus |
DS10 | 1,262,782 – 2,205,654 | E-Mails, Finanzunterlagen |
DS11 | 2,205,655 – 2,730,264 | E-Mails, Gerätedaten |
DS12 | 2,730,265 – 2,858,497 | Gerichtsdokumente, FBI + Erweiterung |
DOJ-URL-Muster: https://www.justice.gov/epstein/files/DataSet%20{N}/EFTA{efta:08d}.pdf
Recherche- und Faktencheck-Grundsätze
Diese Veröffentlichung zieht Verschwörungsnarrationen an. Jeder Eintrag im Register der bekannten Dokumente (efta_known_docs) ist mit einem Konfidenz-Tag versehen und entdramatisiert:
Thema | Was die Dokumente zeigen |
Trilateral Commission / CFR | Epsteins eigener Lebenslauf führte ihn als ehemaliges Mitglied auf – Eliten-Netzwerk, kein Komplott |
Rothschild | Eine echte Beratungsbeziehung (ein-$25M Southern-Trust-Vereinbarung); die „Ukraine-Umbruch“-E-Mail – EUvsDisinfo hat die „Putsch“-Version als Desinformation eingestuft |
Rockefeller | Ein Rök der Rockefeller University + Spenderbeziehung – institutionell, nicht „Blutlinie“ |
Illuminati | Eine eingehende, unaufgefordert E-Mail an Epstein; keine Antwort in den Aufzeichnungen; kein Beleg für eine Mitgliedschaft |
Gates / BGC3 | Ein echtes Scoping-Dokument zur Pandemievorsorge; Faktenchecker fanden keine Verbindung zu COVID-19-Planung |
Verantwortungsvolle Nutzung
✅ Arbeitet ausschließlich mit bereits öffentlichen DOJ-Veröffentlichungen unter
justice.gov/epsteinund einem öffentlichen Volltext-Spiegel eines Drittanbieters (epstein-data.com). Keine privaten Daten, keine Quellen hinter Bezahlschranken, kein Scraping hinter einem Login.✅ Jede Behauptung im Register der bekannten Dokumente trägt eine Quelle und ein Konfidenz-Tag – eine „Verbindung“ wird nur für das gekennzeichnet, was ein Dokument wörtlich zeigt, niemals für das, was eine virale Bildunterschrift behauptet.
✅
efta_run_sqlerweitert was abgefragt werden kann, nicht die ethische Haltung: Datasettes eigene API akzeptiert nurSELECT(ein Nicht-SELECTwird mit HTTP 400 abgelehnt, bevor es SQLite erreicht – live verifiziert), und sie ruft keine Daten ab, die epstein-data.com nicht ohnehin für jede Person bereitstellt, die die Website direkt ansteuert.❌ Nicht für Re-Identifizierung, Belästigung oder okay. Dies ist eine Quellzuordnungs- und Verifizierungswerkzeug, keine Vermittlungs- oder Unterstellungungsgegenstand – sie erhebt keinen, über ein Dokument hinaus sichtbares Fehlw nach.
❌ Keine Rechtsberatung, kein offizielles DOJ-Produkt und keine Affinität zu epstein-data.com – ein unabhängiger Client deren öffentlicher API.
Stand des Tech-Stacks (2026-08-24)
Python: 3.11+ erforderlich (von 3.10 angehoben – der 2026-10-31 abgelegt und veraltet). Getestet gegen 3.14.7.
MCP SDK: auf
mcp>=1.29.0,<2.0.0gepinnt. Das v2.0.0 (2026-07-28) des offiziellen SDK hatmcp.server.fastmcp.FastMCPinmcp.server.mcpserver.MCPServerumbenannt – eine Hackensmabe Anderung, zu der dieser Server nicht migriert ist. Ein nicht gepinntesmcp>=1.0.0würde stillschweigend zu v2.x Resultat und den Import brechen. Das unabhängige eigenständige PyPI-Paketfastmcp(PrefectHQ, inzwischen v3.x/4.0) ist keine Abhängigkeit.pip: oben ausgeführter Befehl führt zuerst
python -m pip install --upgrade pipaus.requests:
>=2.31.0, keine bekannte Einschränkung gegen neuere 2.x-Releases.
Projektstruktur
.claude-plugin/plugin.json Plugin manifest (Claude Code convenience only)
.mcp.json Local stdio MCP server config (client-agnostic)
src/efta_core.py DataSet boundary table, EFTA -> URL, known-document registry
src/epstein_datasette.py epstein-data.com Datasette API client (purpose-built + generic layer)
src/doj_auth.py justice.gov public anti-bot challenge helper + verification
src/efta_researcher.py Standalone CLI
src/mcp_server.py FastMCP server exposing the 11 tools above
skills/efta-research/ Claude Code skill: research methodology (optional convenience)
skills/doj-auth/ Claude Code skill: justice.gov access details (optional convenience)Community & Support
Beitragen
Dies ist ein öffentliches Recherche-Werkzeug mit einzelnen Maintainer (Zereo0317/Epstein-Files-Plugin). Issues und Pull Requests willkommen.
Lizenz
MIT-0 (MIT No Attribution) – siehe LICENSE. Gewählt über dem einfachen MIT, speziell für ClawHub-Kompatibilität, die MIT-0 ohne Pillage-Optimungen gefordert. Das Repository ist öffentlich auf GitHub; die Lizenzgewähr gewährt die Weitergabe/Wiederverwendung des Codes durch jedermann.
Haftungsausschluss
Das Epic-Files-Plugin zeigt nur Dokumente, die das DOJ bereits unter dem Epstein Files Transparency Act öffentlich gemacht hat, sowie einen öffentlichen Volltext-Spiegel vomDrittanbieter (epstein-data.com). Es bringt Zitate zu ihrer offiziellen Quelle zurück und berichtet, was ein Dokument wörtlich enthält – es führt keine unabhängige Ermittlung durch unterstellt nichts über das, was ein Dokument zeigt, und hostet, rehostet nicht bzw. legt neue nicht denof non-public Daten. Gedacht für Recherche, faktencrock, source-Verifikation – nicht für Re-Identifikation, Belästigung oder okay.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to fact-check claims, verify citations, and check source freshness using Wikipedia, Wikidata, Crossref, and Wayback Machine.1
- FlicenseNot gradedqualityAmaintenanceVerifiable document intelligence for AI agents. Extract, summarize, claim-check, and notarize PDFs & URLs with cryptographic proofs, cross-document search, and on-chain attestation via Base L2.
- AlicenseAqualityCmaintenanceVerifiable document intelligence for AI agents. Extract text, tables, and structured data from PDFs and URLs. Summarize, answer questions, check claims, and translate — all with cited evidence. Store tamper-evident evidence bundles with cryptographic signatures and on-chain attestation via Base L2. Cross-document semantic search and Q&A across named collections. Pay per call with USDC22151MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to query cryptographically verified facts with zero-knowledge proofs, selective disclosure, and tamper-evident provenance.1791Apache 2.0
Related MCP Connectors
Real-time fact-check, citation verification, and source-freshness for AI agents.
Certified SEC EDGAR fact memory for AI agents with zero hallucination and filing provenance.
Verified, sourced, real-time intelligence layer for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Zereo0317/Epstein-Files-Plugin'
If you have feedback or need assistance with the MCP directory API, please join our Discord server