API ВЕГА
English

ecfr-mcp

Бесплатный MCP-сервер с открытым исходным кодом для API eCFR (Electronic Code of Federal Regulations). Читайте FAR, DFARS и тексты дополнений к FAR всех ведомств — аутентификация не требуется.

Обзор, демонстрационное видео и настройка размещённой версии: https://1102tools.com/mcp/ecfr

API-ключ не нужен ни для локального, ни для размещённого варианта. См. раздел «Локально или в размещённой версии».

Регрессионные тесты включают проверки работы с API eCFR и проверку того, что каждый фрагмент текста из десяти сохранённых ответов eCFR возвращается ровно один раз и в исходном порядке. Выпуски за октябрь 2026 года также проверялись на реалистичных вопросах по контрактам (поиск положений, определения FAR, история версий, недавние изменения). Подробнее см. testing.md.

Локально или в размещённой версии

Локально (на компьютере)Claude (размещённая версия)ChatGPT (размещённая версия)
Локальная настройкаУстановитьУстановить
  • Локальный вариант запускается на вашем компьютере — в настольном приложении Claude или ChatGPT либо в другом приложении с поддержкой ИИ. Он использует ваши собственные полные лимиты запросов и обращается только к государственному сервису. Самостоятельно сервер не обновляется, поэтому попросите ИИ обновить его. Настраивать всё вручную необязательно: отправьте ИИ ссылку на эту страницу и попросите установить сервер или провести вас через настройку.

  • Размещённый вариант всегда актуален, не требует настройки или ключей и доступен в Claude и ChatGPT из любой точки мира.

Сравнение локального и размещённого вариантов · Примеры запросов

Возможности

Предоставляет доступ к API eCFR через 13 инструментов MCP для работы с нормативными текстами, структурой, поиском, историей версий и типовыми задачами в сфере закупок:

Основные методы

  • get_latest_date — получить самую позднюю доступную дату для раздела CFR (выполните этот запрос перед использованием других инструментов)

  • get_cfr_content — получить обработанный нормативный текст раздела, подраздела или части

  • get_cfr_structure — получить иерархическое оглавление

  • get_version_history — получить историю изменений раздела или части

  • get_ancestry — получить путь по иерархии в виде цепочки навигации

  • search_cfr — выполнить полнотекстовый поиск с фильтрами по иерархии

  • list_agencies — получить список всех ведомств с соответствующими ссылками на CFR

  • get_corrections — получить редакционные исправления для раздела CFR

Инструменты для типовых задач

  • lookup_far_clause — получить текст положения FAR/DFARS за один вызов с автоматическим определением даты

  • compare_versions — сравнить тексты на две даты рядом

  • list_sections_in_part — получить список всех разделов в части FAR/DFARS

  • find_far_definition — найти определение термина в FAR 2.101

  • find_recent_changes — найти разделы, изменённые после указанной даты

Аутентификация не требуется

API eCFR полностью открыт. Не нужны API-ключ, регистрация или заголовки авторизации. Просто установите сервер и пользуйтесь им.

Установка

Через uvx (рекомендуется)

uvx --refresh-package ecfr-mcp --from ecfr-mcp ecfr-mcp

Через pip

pip install ecfr-mcp

Из исходного кода

git clone https://github.com/1102tools-dev/federal-contracting-mcps.git
cd federal-contracting-mcps/servers/ecfr-mcp
pip install -e .

Настройка

Используйте приведённую ниже конфигурацию как описание сервера и разместите её в соответствии с требованиями вашего MCP-клиента. Примеры практических запросов к этому источнику собраны в библиотеке промптов.

{
  "mcpServers": {
    "ecfr": {
      "command": "uvx",
      "args": ["--refresh-package", "ecfr-mcp", "--from", "ecfr-mcp", "ecfr-mcp"]
    }
  }
}

Флаг --refresh-package указывает uv при каждом запуске сервера клиентом проверять на PyPI наличие новой версии. Благодаря этому исправления устанавливаются автоматически. Без этого флага uv продолжит использовать версию, которую сохранил в кэше первой. Проверка добавляет небольшую задержку при запуске, поэтому, если платформа ограничивает время запуска MCP-сервера, увеличьте соответствующий тайм-аут.

Перезапустите клиент. Сервер ecfr появится со списком из 13 инструментов.

Примеры запросов

  • «Получи актуальный текст FAR 15.305 (оценка предложений) и кратко изложи его требования».

  • «Перечисли все разделы части 19 FAR (программы поддержки малого бизнеса)».

  • «Найди определение термина 'commercial product' в FAR 2.101».

  • «Какие разделы FAR были изменены за последние 6 месяцев?»

  • «Сравни FAR 52.212-4 в редакциях от 2024-01-01 и 2025-01-01 и покажи, что изменилось».

  • «Получи актуальный текст DFARS 252.227-7014 (права на коммерческое программное обеспечение)».

  • «Найди в разделе 48 Title CFR упоминания 'organizational conflict of interest' и покажи соответствующие разделы».

  • «Какому ведомству подчиняется глава 8 раздела 48 Title CFR? Получи структуру дополнения к FAR этого ведомства».

Особенности реализации

  • Обработка XML на стороне сервера. Конечная точка контента eCFR возвращает исходный XML. Сервер преобразует его в удобный для чтения текст — с заголовками, абзацами и ссылками на нормативные документы. Это существенно сокращает количество токенов контекста.

  • Автоматическое определение даты. eCFR публикует обновления с задержкой в 1–2 рабочих дня после выхода Federal Register. Если передать сегодняшнюю дату в методы работы с версиями, они вернут ошибку 404. Если дата не указана, все инструменты для работы с контентом автоматически выбирают самую позднюю доступную дату.

  • По умолчанию поиск выполняется по актуальному тексту. Если не указать date=current, поиск eCFR охватывает все исторические версии, в том числе утратившие силу. По умолчанию параметр current_only=True исключает повторяющиеся результаты.

  • Ограничение конечной точки структуры. Конечная точка структуры eCFR не поддерживает фильтрацию по разделам и возвращает ошибку 400. Инструмент list_sections_in_part обходит это ограничение: он получает структуру части и проходит по её иерархии.

  • Оптимизация для FAR 2.101. Раздел с определениями содержит около 109 КБ XML. Инструмент find_far_definition обрабатывает весь раздел на стороне сервера и возвращает только подходящие абзацы с контекстом.

Краткая справка по разделу 48 CFR

ГлаваРегламентЧасти
1FAR1-99
2DFARS200-299
3HHSAR300-399
4AGAR400-499
5GSAR500-599
6DOSAR600-699
7AIDAR700-799
8VAAR800-899
9DEAR900-999
18NFS1800-1899

Источник данных

Все данные поступают с ecfr.gov — постоянно обновляемого онлайн-ресурса Code of Federal Regulations, который ведёт Office of the Federal Register. Данные обновляются ежедневно, обычно через 1–2 рабочих дня после публикации в Federal Register. Это не официальное юридическое издание; для официальных ссылок используйте ежегодное издание CFR от GPO.

Проект

federal-contracting-mcps — монорепозиторий с 9 MCP-серверами для работы с данными о федеральных закупках. Используйте эти источники вместе с библиотекой промптов MCP.

Лицензия

MIT