Epstein-Files-Plugin
Epstein Files Plugin — あらゆるAIエージェントから DOJ の Epstein Files Transparency Act 公開資料を検索できるようにする
名前、日付、キーワード、EFTAページ番号、または自由形式の質問(メールコーパス、写真、トランスクリプト、ナレッジグラフに関するもの)を、正確で引用可能な公式のDOJ文書に変換します。約280万ページを手でめくる必要はありません。DOJのボット対策で遮断された検索と闘う必要もありません。
すでに公開されたDOJの裁判記録と、その公開フルテキストミラーだけを対象としています。調査・ファクトチェック・出典の特定のために作られており、個人の再特定、嫌がらせ、晒し上げ(doxxing)のためではありません。 責任ある利用を参照してください。
概要
Epstein Files Pluginは、公開済みのDOJ Epstein Files Transparency Actリリース(Public Law 119-38、2025-11-19署名)の文書をインデックス化し、解決します。このリリースは約140万文書/280万〜290万ページにわたり、justice.gov/epstein に12のDataSetとして公開されています。さらに、このデータは第三者サービス epstein-data.com によって 20のクエリ可能なデータベースとしてミラーリング・インデックス化されています(いずれの数値も2026-08-24時点でライブ確認済み。DOJの収集したコーパス全体はさらに大きく、約600万ページ。これまでに公開された範囲の一部を扱ったもので、散漫したものとして引用する前に必ず再検証してください)。
提供形式:
🧩 Claude Codeプラグイン — マーケットプレイスから2行でインストールできる
🔌 MCPサーバー(
.mcp.json) — 同じサーバーをスタンドアロンで実行。ローカルstdio、APIキー不要、リモートホスト不要で、Claude Desktop、Cursor、Windsurf、あるいは公式mcpSDKで構築したカスタムエージェントなど、MCP対応クライアントならどでも動作します💻 Python CLI —
python src/efta_researcher.py、MCPクライアントは不要です📦 Pythonライブラリ —
from efta_core import efta_to_url, get_datasetで直接インポート可能
選ぶ理由
🚀 手動検索よりも速い。 DOJの検索機能は自動・ヘッドレスアクセスをブロックしています(Akamaiのボット対策。 責任ある利用参照)。名前、日付、キーワードから対応するEFTA番号まで、直接数秒で到達します。
🎯 常に一次ソースへ。 すべての結果が公式の
justice.gov/epsteinPDF URLに解決されるので、二次情報ではなく一次原本をあ自身が確認できます。✅ センセーショナルでなく、ファクトチェック済み。 既知文書レジストリには、EUvsDisinfo、Reuters、Tempoなどが提供する引用元付きのファクトチェックが付いているため、「つながり」は、注目されたキャプションが記憶力・主張する内容ではなく、文書が実際に示す内容としてラベル付けされます。
🧠 受信ボックスだけでは終わらない検索可能範囲。 メールコーパスのため専用ツール2本があります。さらにジェネリックな5ツールで20のデータベース(画像、トランスクリプト、OCRテキスト、手書き、尋問記録、知識グラフ)すべてに到達でき、さらにフィルタAPIでは表現できない要求には読み取り専用SQLが解放されています。
🗺️ 構造は一度だけ再構成。 12のDataSet/EFTA-Bates番号の境界テーブルをDOJ自身の開示ページと横断確認したので、クエリごとに再導出する手間ありません。
🔓 ロックインなし。 同じルックアップが、CLI、Pythonのインポート、任意のMCPクライアントのいずれからでも使えます。
Related MCP server: aether-developer
アーキテクチャ
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:#e8edf4意図的に2層に分けています。**専用(purpose-built)**レイヤは、最も頻繁に使うテーブルを包む専用ラッパー(高速・お手軽・適切なページネ日常対応)。**ジェネリック(genericな)**レイヤは、テーブル固有のツールなしで他のすべてのデータベースに到達する反照・検索・SQLのレイヤです。これが「すべてをクエリできるかに対応し、epsein-data.com のスキーマが203110年まで進化しても新しいコードを書かずに動き続ける仕組みです。設計根拠の全体が欲しいなら、CLAUDE.mdを参照してください。
やりたいこと
目的 | これを使う |
名前、日付、キーワードで文書を探す | |
引用番号( | |
話題の主張が本物か確認する | |
画像、トランスクリプト、OCRテキスト、ナレッジグラフを検索 | |
結合・count・ | |
Claude Code以外のエージェントに組み込み | |
EFTA番号体系 / DataSet体系そのものの理解 |
クイックスタート
前提条件
Python 3.11以降(3.10は、2026-10-31にBootEnd) — 技術スタックの運用(2026-08ご時点)を参照)
pip
Claude Codeプラグインとしてインストールする
/plugin marketplace add Zereo0317/Epstein-Files-Plugin
/plugin install epstein-files-plugin@epstein-files-pluginCLI / スタンドアロンMCP / ライブラリ用途のインストール
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)CLIを実行する
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_corpusMCPサーバーをスタンドアロンで起動する
python src/mcp_server.py11の読み取り専用MCPツール
🔎 専用(purpose-built)レイヤー 主要ユースケース — 全文検索とメールメタデータ:
ツール | 用途 |
| Datasette index全体を部分文字列で検索 — とき実際の一致件数と |
| メールをメタデータで絞り込み — 一致総数+ページネートは同様 |
| 事前に検証・事実確認済みの既知の文書の一覧を表示 |
| EFTA番号を公式のDOJ PDF-URLに変換 |
| DOJ PDF URLが生きているかをHEADで確認(下記の注意書きを参照) |
| Datasetteインデックスから完全な文書型メタデータを取得 |
🧬 汎用(generic)レイヤー (20データベースすべてに対応、テーブルごとの決め打ちなし):
ツール | 用途 |
| 20のDatasette データベースを全部一覧(images、transcripts、OCR、handwritings、 ...) |
| 指定データベースのすべてのテーブル(カラムと行数を含む)を一覧 |
| 指定テーブルのカラム一覧と行数を表示 |
| フルタスサフィックス式で 任意の テーブルをクエリ |
| 読み取り専用SQL — joins, aggregation, |
✅ 11のツールはすべて、MCPツールマナーの慣習に沿って readOnlyHint/idempotentHint(ネットワーク越しのツールは openWorldHint も)でマークされているため、クライアントは安全に自動進行できます。
⚠️ ページ計算に関する注意:
limitはツールに応じて50〜100までに制されます。それ以上になる場合があります(例:「pizza」は現在233文書に一致)。部分ロード型ツールは(合計TOTAL of N件表示)を表示し、まだ遠く可能性があれば、続きのcursorも表示します。
⚠️ URL検証について: justice.gov はどの PDF の後ろにも年齢確認 + Akamai のチャレンジを置いているため、生のHTTPステータを見るだけでは「公開中」と「存在しない」を信頼して区別できません。URLの正しさは、justice.gov そのものを叩くのではなく、下記、表中の検証済み DataSet境界テーブルで担保されています。
❌ 目的特化ツールだけではカバーされないもの:
image_analysis(画像付きの9.2万チップ)、transcripts(435組合の音声 / 動画アプリ)、knowledge_graph、ocr_database、handwriting_transcriptions、ほか13以上がそれに該当します。これらはすべて汎用ツールで見つもり維持しています。この表をあてにせず、現在の活きたリストはefta_list_databases()で取得してください。
AIエージェントと使う
このプラグインは Claude 第一ではなくMCPファーストのアーキテクチャです。正式なmcp Python SDKに統一されているFastMCPクラスで実装された、純粋なModel Context Protocol を話すローカルstdioサーバーです。MCP 対応クライアントならどでお作ります。
クライアント | 接続方法 |
Claude Code / Claude Desktop |
|
Cursor / Windsurf / Cline |
|
ChatGPT、Gemini、あるいはその他のカスタム・ヘッドレスエージェント |
|
ジェネリックなMCPクライアント設定
{
"mcpServers": {
"epstein-files-plugin": {
"command": "python",
"args": ["/absolute/path/to/epstein-files-plugin/src/mcp_server.py"]
}
}
}APIキーなし、認証不要、リモートサーバーなしのローカルプロセスがstdioで動き出て、どのクライアントでも同じ動作になります。
Claude Code
プラグインとしてインストールすると、このサーバーはリポジトリの .mcp.json から自動的に読み込まれます(${CLAUDE_PLUGIN_ROOT} を使用するので、パスの編集は不要です):
{
"mcpServers": {
"epstein-files-plugin": {
"command": "python",
"args": ["${CLAUDE_PLUGIN_ROOT}/src/mcp_server.py"],
"env": { "PYTHONUNBUFFERED": "1" }
}
}
}環境変数による上書き(ミラーやドメイン変更への耐性)
変数 | デフォルト値 | 影響範囲 |
|
| すべての検索・クエリ・SQLツール |
|
|
|
将来どちらかのサードパーティ製ホストに変更が生じても、コードの変更ではなく設定の変更で対応できます。
例
例1 — 引用を公式の出典に解決する
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.例2 — 送信者・受信者・日付でメールを検索する
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.例3 — メールコーパスを超えて検索する(汎用ツール)
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.例4 — フィルターAPIでは表現できない問い合わせ(生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 リファレンス
EFTA番号は文書IDではなくページ(Bates)識別子です。20ページのPDFは連続する20個のEFTA番号を消費します。以下の境界は、rhowardstone/Epstein-research-data のマッピングによるフォレンジックなファイル単位の範囲であり、DOJ自身の公開ページとも照合済みです。
DataSet | EFTA範囲 | 内容 |
DS01 | 1 – 3,158 | 写真、物理スキャン |
DS02 | 3,159 – 3,857 | 写真、押収物のスキャン |
DS03 | 3,858 – 5,586 | 大陪審証拠資料 |
DS04 | 5,705 – 8,320 | 記録、裁判所提出書類 |
DS05 | 8,409 – 8,528 | 押収物スキャン、証言記録 |
DS06 | 8,529 – 8,998 | 証言記録、起訴状 |
DS07 | 9,016 – 9,664 | 議事録 |
DS08 | 9,676 – 39,023 | メール、警察報告書 |
DS09 | 39,025 – 1,262,781 | メインのメールコーパス |
DS10 | 1,262,782 – 2,205,654 | メール、財務書類 |
DS11 | 2,205,655 – 2,730,264 | メール、デバイスデータ |
DS12 | 2,730,265 – 2,858,497 | 裁判所提出書類、FBI + 拡張 |
DOJのURLパターン: https://www.justice.gov/epstein/files/DataSet%20{N}/EFTA{efta:08d}.pdf
調査・ファクトチェックの方針
このリリースは陰謀論的な枠組みで語られがちです。既知文書レジストリ(efta_known_docs)の全エントリには信頼度タグが付与され、誇張表現は取り除かれています。
トピック | 文書が示す内容 |
Trilateral Commission / CFR | エプスタイン自身の経歴に元メンバーとして記載。エリートのネットワーキングであり、陰謀ではない |
Rothschild | 実際の顧問関係(約2,500万ドルの Southern Trust 契約)。「Ukraine 不安」メールは、EUvsDisinfo が「クーデター」版を偽情報と断定したもの |
Rockefeller | ロックフェラー大学の理事会の席とドナー関係。つまり制度的なものであり、「血筋」ではない |
Illuminati | 受信した一方的なメールがエプスタインに送られたもの。返信の記録はなく、所属を示す証拠ではない |
Gates / BGC3 | 実際のパンデミック準備スコープ文書。ファクトチェッカーは、COVID-19との計画の関連を確認できなかった |
責任ある使用
✅ すでに公開された DOJ のリリース(
justice.gov/epstein)と、同じく公開中の第三者によるフルテキストミラー(epstein-data.com)のみを対象に作動します。非公開データ、有料ソース、ログイン後のスクレイピングは一切対象にしません。✅ 既知文書レジストリの全主張には必ず、出典と信頼度タグが付いています。「関連性」はネットで拡散したが見出しが語ることではなく、文書が文字どおりに示していることに対してだけ表示されます。
✅
efta_run_sqlは問い合わせできる範囲を広げるものであり、倫理の表れ方ではありません。Datasette 自身の API はSELECTのみを許可します(SELECT以外は SQLite に到達する前に HTTP 400 で拒否されることを実際に確認済み)。さらに、epstein-data.com がサイトを直接見る人にすでに公開している以上のデータには触れません。 *on. ❌ 人の特定・暴力・dump を目的としたものではありません。 これは出典の位置確認・ある検証ツールであり、調査や告発のエンジンではない。文書が示す以上の不正を主張するものではありません。 *百を ❌ 「法律扶助」ではなく、DOJの公式のものではなく、epstein-data.com との提携もありません。 public API の独立したクライアントアントです。
技術スタックの最新状況 (2026-08-24)
Python: 3.11以上が必須 (3.10から引き上げ、3.10のEOLは2026-10-31)。3.14.7でテスト済み。
MCP SDK:
mcp>=1.29.0,<2.0.0に固定しています。公式SDK の v2.0.0 (2026-07-28) ではmcp.server.fastmcp.FastMCPがmcp.server.mcpserver.MCPServerに名称変更されましたが、これはこのサーバーがまだ対応していない破壊的変更です。固定していないmcp>=1.0.0は黙って v2.x を引き込んで import に失敗します。無関係の独立した書き for 、fastmcp、PyPI パッケージ (PrefectHQ、現在 v3.x/4.0) はdependency ではありません。pip: 上記のインストールコマンドは最初に
python -m pip install --upgrade pipを実行します。requests:
>=2.31.0、新しい 2.x リリースについての既知の制約はありません。
プロジェクト構成
.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)コミュニティとサポート
コントリビューション
これは公開されている single-maintainer のリサーチツールです(Zereo0317/Epstein-Files-Plugin)。Issue と pull request を歓迎します。
ライセンス
MIT-0 (MIT の権者表記なし) を採用 — LICENSE を参照。このライセンスを選んだ理由は、通常の MIT よりClawHub互換性、つまりスキル単位の上書きを認めない MIT-0 が必要とされるからです。本リポジトリは GitHub 上で公開されており、ライセンスは誰による再配布・再利用にも適用されます。
免責事項
Epstein Files Plugin は、DOJ が Epstein Files Transparency Act に基づいてすでに公開している資料と、その公開の同一の内容を扱う一般公開のサードパーティのフルテキストミラー(epstein-data.com)のみを対象にしています。引用を公式の出典に解決し、文書が文字どおり含むものについて報告します。つまり、独自に調査を開始するものではなく、文書が示す以上の不正者を指摘するものでもなく、非公開データを保存・再ホスト・公開するものでもありません。想定している用途は研究・ファクトチェック・情報の確認であり、対象者の再特定やハラスメント、ドクシングではありません。
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