Epstein-Files-Plugin
Epstein Files Plugin — запрос к публичному выпуску Министерства юстиции США по закону Epstein Files Transparency Act из любого ИИ-агента
Превращает имя, дату, ключевое слово, номер страницы EFTA или свободный вопрос — о корпусе электронной почты, фотографиях, расшифровках или графе знаний — в точный, пригодный для цитирования официальный документ DOJ. Никакого ручного перелистывания ~2,8 миллиона страниц. Никакой борьбы с закрытым от ботов поиском DOJ.
Работает только с уже публичными судебными документами DOJ и с публичным полнотекстовым зеркалом. Создан для исследования, проверки фактов и поиска источников — не для повторной идентификации, преследования или доксинга. См. Ответственное использование.
О проекте
Epstein Files Plugin индексирует и разрешает документы в публичной базе DOJ ЭпштеIN: Закон о прозрачности досье правительственных деловых партнёров (Public Law 119-38, подписан 2025-11-19) Рансляет набор около 1,4 млн документов / 2,8–2,9 млн страниц, опубликованных в 12 наборах (DataSets) на justice.gov/epstein, зеркалированных и проиндексированных как 20 запрашиваемых баз данных сторонним сервисом epstein-data.com (обе цифры проверены вживую 2026-08-24; полный собранный корпус DOJ больше — около 6 млн страниц, из которых опубликована только эта часть — перепроверяйте перед тем, как ссылаться как на исчерпывающий).
Доступен в виде:
🧩 плагин для Claude Code — устанавливается из маркетплейса в две строки
🔌 MCP-сервер (
.mcp.json) — тот же сервер, автономный: локальный stdio, без API-ключей, без удалённого хоста, работает с любым MCP-совместимым клиентом: Claude Desktop, Cursor, Windsurf или собственным агентским окружением на официальномmcpSDK💻 Python CLI-интерфейс —
python src/efta_researcher.py, MCP-клиент не нужен📦 Python-библиотека —
from eft_core import efta_to_url, get_dataset, импорт напрямую
Зачем это нужно:
🚀 Быстрее, чем ручной поиск. Собственный поиск DOJ закрыт от автоматического/безголовного доступа (защита от ботов Akamai — см. Ответственное использование); этот инструмент переходит от имени, даты или ключа к нужному номеру EFTA за считанные секунды.
🎯 Всегда прямо к источнику. Каждый результат ведёт к официальному PDF-адресу
justice.gov/epstein— вы сами проверяете первоисточник, а не пересказ этого документа.✅ Фактчекинг, а не хайп. Реестр известных документов снабжён проверяемыми фактами (EUvsDisinfo, Reuters, Tempo и др.), поэтому «связь» помечена тем, что документ реально показывает, а не тем, что обещает вирусная подпись.
🧠 Запрашивается всё, а не только почта. Два специальных инструмента покрывают корпус писем; пять универсальных инструментов работают со всеми 20 базами данных — изображения, транскрипты, OCR-текст, рукописный текст, депозиции, граф знаний, а также доступный только для чтения SQL-люк для всего, что не может выразить с помощью простого фильтра API.
🗺️ Структура пересобрана один раз. Таблица границы 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Два слоя инструментов построены осознанно: специализированные обёртки над самой распространённой таблицей (быстренький, удобный, с нормальной пагинацией) и универсальный слой интроспекции/запросов/SQL, который без отдельного инструмента под каждую таблицу достаёт до любой другой базы данных — это и есть ответ «можно ли запросить всё?» и то, что позволяет работать этой схеме по мере развития схемы epstein-data.com до 2031 года без переписывания кода. Полное обоснование архитектуры — в CLAUDE.md.
Мне нужно…
Цель | Что использовать |
Найти документ по имени, дате или ключевому слову | |
Преобразовать ссылку ( | |
Проверить реальность вирусной истории | |
Найти по изображениям, транскриптам, OCR-тексту или графу | |
Выполнить объединение ( | |
Интегрировать с агентом, отличным от Claude Code | |
Понять структуру EFTA-нумерации / DataSet |
Быстрый старт
Требования
Python 3.11 или новее (3.10 достигнет конца поддержки 2026-10-31 — см. Актуальность технологического описания)
pip
Установка в качестве плагина 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.py11 MCP-инструментов только для чтения
🔍 Специализированные (частный случай — полнотекстовый поиск + метаданные почты):
Инструмент | Назначение |
| Подстрочный поиск по индексу Datasette — точное количество совпадений + курсорная навигация |
| Фильтрация писем по метаданным — с точным количеством и пагинацией |
| Перечисление предварительно проверенных, факт-чекнутых документов |
| Преобразовать номер EFTA в официальный PDF URL DOJ |
| HEAD-проверка, жив ли URL PDF DOJ (см. оговорку ниже) |
| Полное метаданных документа из индекса Datasette |
🧬 Универсальные (все базы данных Datasette без закрепления под каждую таблицу):
Инструмент | Назначение |
| Перечислить все 12 баз данDatasette (изображения, транскрипты, OCR, депозиции, граф знаний и др.) |
| Перечислить все таблицы одной базы данных, с колонками и количеством строк |
| Список колонок и количество строк для одной таблицы |
| Поисковый запрос с фильтром по любой таблице |
| Read-only SQL — объединения, агрегаты, |
✅ Все 11 инструментов размечены как readOnly/idempotent (и nonBreaking на всём, что обращается к сети) согласно совместимым дополнениям по аннотациям MCP — клиент может безопасно выполнять их автоматически.
⚠️ Пагинация:
limitограничен 50–100 в зависимости от инструмента. Результат может быть гораздо больше (например, «David Gates» — всего 233 документа), и в таком случае инструменты показывают(N of TOTAL shown)и, если дальше есть результаты, предлагаютcursor.
⚠️ Проверка URL: каждый PDF на justice.gov закрыт пре- кетом-паролем, поэтому простая HTTP-статистика может не различать «живо» и «не существует». Корректные ссылки достигаются не через попытки достучаться до justice.gov, а через таблицу границ DataSet, которая сверена.
❌ Инструменты общего назначения не покрывают всё, кроме пути:
image_analysis(92K изображений с подписями),transcripts(435 аудио/видео расшифровок),knowledge_graph,ocr_database,hand_writing_transcriptionsи ещё 13 баз — всё это доступно через универсальные инструменты. Для актуального списка баз вызовитеeft_list_databases(), не полагайтесь на эту таблицу.
Использование с ИИ-агентами
Epstein Files Plugin — MCP-first, не Claude-first: стандартный локальный stdio-сервер (построенный на классе FastMCP из официального mcp Python SDK), говорящий на обычном модели Protokoll Context Protocol. Он работает с любым MCP-совместимым клиентом.
Клиент | Как подключается |
Claude Code / Claude Desktop |
|
Cursor / Windsurf / Cline | Добавьте запись сервера из |
ChatGPT, Gemini или любой headless-агент | Запустите |
Конфигурация для общих 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 не может выразить (raw 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 — это страничные (Бейтс) идентификаторы, а не идентификаторы документов — PDF на 20 страниц занимает 20 подряд идущих номеров EFTA. Границы ниже — это криминалистические порайонные диапазоны из сопоставления rhowardstone/Epstein-registration-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 + расширение |
Шаблон URL DOJ: https://www.justice.gov/epstein/files/DataSet%20{N}/EFTA{efta:08d}.pdf
Исследовательская и проверочно-фактологическая позиция
Этот релиз привлекает конспирологические интерпретации. Каждая запись в реестре известных документов
(efta_known_docs) помечена уровнем уверенности и десенсационализирована:
Тема | О чём говорят документы |
Трёхсторонняя комиссия / Совет по междунар. отношениям | В собственном био Эпштейна он указан как бывший член — элитное нетворкинет, а не заговор |
Ротшильд | Реальные консультационные отношения (соглашение Southern Trust на ~25 млн долл.); письмо «про переворот в Украине» — EUvsDisinfo признала версию «государственного переправителя» дерождения |
The | Место в совете директоров Рокфеллерского университета; мероприятия — институциональное, а не «кровное родство» |
Илюминаты | Входящее , не запраши будущее письмо, отправленное Эпнштейну; ответа нет; не является свидетельством членства |
Гейтс/БГЦ3 | Реальный рамочный скоуп-документ по подготовленности к пандемии; фактчекеры не нашли связи с COVID-19 |
Ответственное использование
✅ Работает только с уже публично раскрытыми материалами DOJ по адресу
justice.gov/epsteinи публичным сторонним полнотекстовым зеркалом (epstein-data.com). Никакой частной информации и платных источников, ни фарма используется скрапинг за логином.✅ Каждое утверждение в реестре известных документов имеет источник и пометку типа «уверенность» — «связь» маркируются по тому, что документально указывает, а не по тому, что утверждается вирусной подписью.
✅
efta_run_sqlрасширяет набор запросов, а не этическую позицию: собственный API Datasette поддерживает толькоSELECT(все, что неSELECT, отклоняется с HTTP 400, не доходя до SQLite — проверено вживую), и он не получает доступа к данным, которые epstein-data.com и без того не открывает посетителям своего сайта.❌ Не для реидентификации, преследования или доксинга. Это инструмент определения источников и проверки, а не система расследований или об остальных навязней — он не обвиняет в прав поиในการions no только того, что показывают документы.
❌ Не юридическая консультация, не официальный заказанный продукт и не аффилирован с epstein-data.com — это независимый клиент их публичного API.
Актуальность технического стека (2026-08-24)
Python: required 3.11+ (вместо 3.10 — EOL 2028-10-31). Протестировано на 3.14.7.
MCP SDK: закреплено
mcp>=1.29.0,<2.0.0. Деfinition в официальном SDK v2.0.0 (2026-07-28) переименована классmcp.server.fastmcp.FastMCPвmcp.server.mcpserver.MCPServer— это breaking change, под которое данный сервер и не мигрирован. Без фиксированной версииmcp>=1.0.0тихано установилась бы версия 2.x и импорт был быть неневозможен. Дмысоло изолированный пакетfastmcpиз PyPI (PrefectHQ) не является зависимостью.Uno. Команда выше запускает сначала
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)Сообщество и поддержка
Не основ
Это публичный однопользовательский исследовательский инструмент (Zoroep0317/Epstein-Files-Plugin`). Проверка на обрат. Обращения и pull request приветствуются.
Лицензия
MIT-0 (MIT без указания авторства) — см. LICENSE. Выбор в пользу MIT-0 был сделан специально для совместимости с ClawHub, которая требует именно MIT-0 без дополнительных исключений на отдельные скиллы. Репозиторий публичен на GitHub; условия лицензии определяют права на использование и распространение кода любым лицом.
Отказ от ответственности
Epstein Files Plugin лишь обеспечивает доступ к документам, которые DOJ уже опубликовал в соответствии с Epstein Files Transparency Act, и в публичное полнотекстовое зеркаин от третьего участника. Он разрешает указания на официальный источник и сообщает, что цитата дословно содержится в документе — он не проводит собственного расследования, не обвиняет ни в чём и DOC не показывает. Он не содержит, не перечисляет и не предоставляет никаких частных данных. Предназначен для исследований, фактчекинга и проверки источников — а не для идентификации, преследования или обнародования личных данных, harassment or doxxing.0
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