Skip to main content
Glama
Zereo0317

Epstein-Files-Plugin

by Zereo0317

Epstein Files Plugin — あらゆるAIエージェントから DOJ の Epstein Files Transparency Act 公開資料を検索できるようにする

Python Protocol MCP Tools Databases License

名前、日付、キーワード、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、あるいは公式mcp SDKで構築したカスタムエージェントなど、MCP対応クライアントならどでも動作します

  • 💻 Python CLI — python src/efta_researcher.py、MCPクライアントは不要です

  • 📦 Pythonライブラリ — from efta_core import efta_to_url, get_dataset で直接インポート可能

選ぶ理由

  • 🚀 手動検索よりも速い。 DOJの検索機能は自動・ヘッドレスアクセスをブロックしています(Akamaiのボット対策。 責任ある利用参照)。名前、日付、キーワードから対応するEFTA番号まで、直接数秒で到達します。

  • 🎯 常に一次ソースへ。 すべての結果が公式の justice.gov/epstein PDF 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を参照してください。


やりたいこと

目的

これを使う

名前、日付、キーワードで文書を探す

efta_search / efta_filter_email

引用番号(EFTA00741068)を公式DOJリンクに変換する

efta_get_url

話題の主張が本物か確認する

efta_known_docs → Research & Fact-Check Posture

画像、トランスクリプト、OCRテキスト、ナレッジグラフを検索

efta_list_databases → efta_query_table

結合・count・GROUP BYを実行

イベランSQLクエリ

Claude Code以外のエージェントに組み込み

AIエージェントとの連携

EFTA番号体系 / DataSet体系そのものの理解

DataSetリファレンス


クイックスタート

前提条件

Claude Codeプラグインとしてインストールする

/plugin marketplace add Zereo0317/Epstein-Files-Plugin
/plugin install epstein-files-plugin@epstein-files-plugin

CLI / スタンドアロン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_corpus

MCPサーバーをスタンドアロンで起動する

python src/mcp_server.py

11の読み取り専用MCPツール

🔎 専用(purpose-built)レイヤー 主要ユースケース — 全文検索とメールメタデータ:

ツール

用途

efta_search(query, limit, cursor)

Datasette index全体を部分文字列で検索 — とき実際の一致件数とcursorページネを返す

efta_filter_email(sender, recipient, date_exact, date_prefix, subject, limit, cursor)

メールをメタデータで絞り込み — 一致総数+ページネートは同様

efta_known_docs(category)

事前に検証・事実確認済みの既知の文書の一覧を表示

efta_get_url(efta_number)

EFTA番号を公式のDOJ PDF-URLに変換

efta_verify_url(efta_number)

DOJ PDF URLが生きているかをHEADで確認(下記の注意書きを参照)

efta_lookup(efta_number)

Datasetteインデックスから完全な文書型メタデータを取得

🧬 汎用(generic)レイヤー (20データベースすべてに対応、テーブルごとの決め打ちなし):

ツール

用途

efta_list_databases()

20のDatasette データベースを全部一覧(images、transcripts、OCR、handwritings、 ...)

efta_list_tables(database)

指定データベースのすべてのテーブル(カラムと行数を含む)を一覧

efta_describe_table(database, table)

指定テーブルのカラム一覧と行数を表示

efta_query_table(database, table, filters, limit, cursor)

フルタスサフィックス式で 任意の テーブルをクエリ

efta_run_sql(database, sql, params, limit)

読み取り専用SQL — joins, aggregation,GROUP BY; 非SELECT文は Datasette が HTTP 400 で拒否

✅ 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

/plugin marketplace add + /plugin install、フェイス に .mcp.json

Cursor / Windsurf / Cline

.mcp.json からサーバーエントリをクライアントのMCP設定へ追加

ChatGPT、Gemini、あるいはその他のカスタム・ヘッドレスエージェント

src/mcp_server.py を stdio 経由で起動 — プラグイン方式や Claude 依存は不要です

ジェネリックな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" }
    }
  }
}

環境変数による上書き(ミラーやドメイン変更への耐性)

変数

デフォルト値

影響範囲

EFTA_DATASETTE_BASE_URL

https://epstein-data.com

すべての検索・クエリ・SQLツール

EFTA_DOJ_BASE_URL

https://www.justice.gov

efta_get_url、efta_verify_url、CLIの--download/--verify

将来どちらかのサードパーティ製ホストに変更が生じても、コードの変更ではなく設定の変更で対応できます。


例

例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)のみを対象にしています。引用を公式の出典に解決し、文書が文字どおり含むものについて報告します。つまり、独自に調査を開始するものではなく、文書が示す以上の不正者を指摘するものでもなく、非公開データを保存・再ホスト・公開するものでもありません。想定している用途は研究・ファクトチェック・情報の確認であり、対象者の再特定やハラスメント、ドクシングではありません。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to fact-check claims, verify citations, and check source freshness using Wikipedia, Wikidata, Crossref, and Wayback Machine.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to search SEC filings, earnings transcripts, and EU regulations with ready-to-cite evidence, including exact passages and source links.
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to create verifiable, replayable citations, search private knowledge bases, and publish Markdown with verified citation markers.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    0
    MIT