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: aether-developer
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 deployed
Maintenance
Related MCP Connectors
SEC filings, Wikipedia, arXiv, US Census and more for AI agents, with every answer source-linked.
Real-time fact-check, citation verification, and source-freshness for AI agents.
The Epstein investigation document corpus — the documents themselves, plus (phase 2) Epstein's own…
Certified SEC EDGAR fact memory for AI agents with zero hallucination and filing provenance.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to fact-check claims, verify citations, and check source freshness using Wikipedia, Wikidata, Crossref, and Wayback Machine.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to search SEC filings, earnings transcripts, and EU regulations with ready-to-cite evidence, including exact passages and source links.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create verifiable, replayable citations, search private knowledge bases, and publish Markdown with verified citation markers.MIT
- AlicenseNot gradedqualityBmaintenanceEnables full-text, page-level citation search over the House Oversight Committee's published Epstein investigation documents, plus structured search over transcribed rows from Epstein's pilot flight logbook with provenance and confidence markers.0MIT