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: DocImprint
アーキテクチャ
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 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