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 CLIpython 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: 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を参照してください。


やりたいこと

目的

これを使う

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

efta_search / efta_filter_email

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

efta_get_url

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

efta_known_docsResearch & Fact-Check Posture

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

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

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to fact-check claims, verify citations, and check source freshness using Wikipedia, Wikidata, Crossref, and Wayback Machine.
    1
  • F
    license
    Not graded
    quality
    A
    maintenance
    Verifiable 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.
  • A
    license
    A
    quality
    C
    maintenance
    Verifiable 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 USDC
    22
    15
    1
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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