API ВЕГА
English

sam-gov-mcp

Бесплатный MCP-сервер с открытым исходным кодом для работы с регистрацией организаций в SAM.gov, исключениями и дисквалификациями, возможностями заключения контрактов, сведениями о присуждённых контрактах, федеральной иерархией и данными о субподрядах FFATA.

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

Доступны две версии: размещённая — с 6 инструментами, не требующими ключа, для поиска возможностей заключения контрактов, публичных регистраций организаций и исключений; и локальная — со всеми 20 инструментами, для которой нужен бесплатный ключ SAM.gov. Подробнее см. в разделе «Локальная или размещённая версия».

Регрессионные тесты включают проверки в реальном времени через API SAM.gov. Релизы октября 2026 года также проверялись на реалистичных вопросах о закупках с использованием официальных записей SAM.gov. Подробнее см. в файле testing.md.

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

SAM.gov доступен в двух вариантах. Только размещённая версия не требует ключа.

Локальная (полная версия)Размещённая
УстановкаНа вашем компьютере. Передайте AI ссылку на эту страницу и попросите настроить сервер или начните с раздела УстановкаДобавьте сервер из каталога Claude (поддержка ChatGPT появится позже)
API keyБесплатный ключ SAM.gov, срок действия которого истекает каждые 90 днейНе требуется
Инструменты206
ДанныеВозможности заключения контрактов, а также регистрации организаций, сертификаты SBA, исключения, сведения о представителях и сертификатах, записи о добросовестности, данные о присуждённых контрактах, федеральная иерархия и субподрядыВозможности заключения контрактов, уведомления о присуждении контрактов, обоснования, публичные регистрации организаций, коды типов бизнеса и сертификации SBA, а также исключения
Источники данныхАктуальные API SAM.gov; действуют дневные лимиты вашего ключаПубличные файлы SAM.gov: данные о возможностях и исключениях обновляются ежедневно, о регистрациях организаций — ежемесячно; в результатах указаны имена исходных файлов и даты
Поддерживаемые приложенияНастольные приложения Claude и ChatGPT, а также другие AI-приложения на настольном компьютере или ноутбукеClaude или ChatGPT в браузере, на компьютере и телефоне
ОбновленияВручную. Локальные установки не обновляются автоматически. Попросите AI обновить ихАвтоматически. Всегда используется последняя версия
Локальная версия (настольный компьютер)Claude (размещённая версия)ChatGPT (размещённая версия)
Настройка локальной версииУстановитьСкоро появится

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

Размещённая версия: 6 инструментов, ключ не требуется

Размещённая версия позволяет искать и просматривать возможности заключения контрактов, публичные регистрации организаций и исключения. Она использует копии файлов, которые SAM.gov публикует для общего доступа, поэтому API key и локальная настройка не нужны. Данные о возможностях и исключениях публикуются ежедневно, а о публичных регистрациях организаций — ежемесячно. Сервис проверяет данные о возможностях каждые два часа, а файлы с данными об организациях и исключениях — каждые четыре часа; дополнительная проверка выполняется после обычного времени публикации файлов с данными об исключениях. Обновление выполняется в рамках действующих операционных бюджетов; если файлы не изменились, новые строки не добавляются. Дата в каждом результате указывает, какой именно файл был загружен; публикация файла не означает, что он обновится немедленно. Пока обновление не завершено, соответствующий публичный инструмент сообщает, что данные обновляются, и предлагает повторить запрос.

ИнструментНазначение
search_opportunitiesПоиск уведомлений по ключевым словам (в заголовках и полных описаниях), NAICS, PSC, типу резервирования, типу уведомления, ведомству, штату, датам публикации и ответа. Уведомления о присуждении контрактов и обоснования относятся к типам уведомлений.
get_opportunityПолное уведомление: описание, контактные данные, сведения о присуждении контракта и ссылка на sam.gov
summarize_opportunitiesПодсчёт результатов по ведомству, NAICS, типу резервирования или типу уведомления
search_entitiesПоиск публичной регистрации по UEI или CAGE, а также поиск по названию, NAICS, штату, типу бизнеса / коду сертификации SBA и статусу регистрации
search_exclusionsПроверка публичных исключений по UEI, CAGE или названию
get_data_statusИмена и даты исходных файлов, время загрузки и количество строк для данных о возможностях, организациях и исключениях

В результатах могут отображаться старые уведомления, если они остаются активными, в том числе опубликованные в предыдущие финансовые годы. Это не полный исторический архив: архивные уведомления и вложения не включены. В результатах есть ссылки на уведомления на sam.gov. Для более полного обзора истории контрактов используйте совместно с USAspending MCP.

В каждом результате по организациям и исключениям указаны имя и дата исходного файла. В размещённую публичную копию не включены организации, которые отказались от публичного отображения данных. Отсутствие результата не означает, что организация не зарегистрирована. Прежде чем полагаться на сведения о регистрации, проверьте её актуальный статус на SAM.gov. Результаты по исключениям отражают состояние публичного файла на указанную дату; важные сведения необходимо проверить на SAM.gov.

Активная регистрация не подтверждает наличие действующей сертификации SBA. Публичные коды 8(a) могут сохраняться после указанной даты окончания сертификации; проверяйте certificationExitDate и уточняйте текущий статус сертификации в SBA.

Полная локальная версия: когда нужны дополнительные данные

Полная версия включает всё, что есть в размещённой, а также сведения о присуждённых контрактах, субподрядах, представителях и сертификатах, прошлых расторжениях и судебных разбирательствах.

Полная версия доступна только для локальной установки. Передайте AI ссылку на эту страницу и попросите настроить сервер или начните с раздела «Установка». Потребуется собственный бесплатный ключ SAM.gov; на него распространяется дневной лимит. Подробнее см. в разделе «Аутентификация».

Возможности

Сервер предоставляет доступ к семи REST API SAM.gov и проверяет готовность учётных данных в 20 инструментах MCP:

Управление организациями (v3)

  • lookup_entity_by_uei - Поиск одной организации по UEI с настройкой разделов ответа

  • lookup_entity_by_cage - Поиск по коду CAGE

  • search_entities - Гибкий поиск организаций по NAICS, PSC, типу бизнеса, штату, названию и другим параметрам

  • get_entity_reps_and_certs - Получение сведений о представителях и сертификатах FAR/DFARS (необходимо запрашивать отдельно)

  • get_entity_integrity_info - Данные о разбирательствах из FAPIIS

Исключения (v4)

  • check_exclusion_by_uei - Проверка дисквалификации одной организации по UEI

  • search_exclusions - Расширенный поиск исключений по названию, классификации, программе, ведомству и дате

Возможности заключения контрактов (v2)

  • search_opportunities - Поиск возможностей заключения контрактов с полным набором работающих фильтров

  • get_opportunity_description - Получение HTML-описания по идентификатору уведомления

Присуждённые контракты (v1) — замена FPDS

  • search_contract_awards - Поиск записей о присуждённых контрактах по поставщику, ведомству, NAICS, датам, сумме, типу резервирования и другим параметрам

  • lookup_award_by_piid - Поиск всех модификаций контракта по одному PIID

  • search_deleted_awards - Поиск удалённых записей о присуждённых контрактах для аудита

Федеральная иерархия (v1)

  • search_federal_organizations - Поиск в FH департаментов, ведомств, подведомственных организаций и офисов; фильтры: идентификатор организации FH, название, тип, статус, код ведомства и CGAC

  • get_organization_hierarchy - Просмотр дочерних подразделений федеральной организации

Отчётность о субподрядах по закупкам (субподряды FFATA)

  • search_acquisition_subawards - Поиск отчётов о субподрядах FFATA по связям между основным подрядчиком и субподрядчиками, ведомству, датам и статусу

Отчётность о субподрядах по финансовой помощи (субподряды по грантам FFATA)

  • search_assistance_subawards - Поиск отчётов о субподрядах по грантам FFATA по FAIN, ключу основного контракта, ведомству и датам

Поиск по PSC

  • lookup_psc_code - Получение полной записи по коду PSC

  • search_psc_free_text - Поиск по PSC в произвольном тексте

Комплексная проверка

  • vendor_responsibility_check - Комплексная проверка по FAR 9.104-1 одним вызовом инструмента: данные организации и сведения об исключениях

Аутентификация

Для работы требуется API key SAM.gov, заданный через переменную окружения SAM_API_KEY.

Чтобы получить бесплатный персональный API key, войдите в систему и следуйте инструкциям для получения Public API Key в справочном разделе SAM.gov Help.

Тип учётной записиДневной лимит
Нефедеральная, без роли SAM10 в день
Нефедеральная, с ролью SAM1 000 в день
Персональная федеральная1 000 в день
Системная федеральная10 000 в день

Важно: срок действия API key SAM.gov истекает каждые 90 дней. Проверьте или обновите ключ с помощью SAM.gov Help и внесите изменения в переменную окружения. При ошибке 401/403 сервер выводит понятное сообщение с инструкциями по обновлению ключа.

Установка

Через uvx

uvx --refresh-package sam-gov-mcp --from sam-gov-mcp sam-gov-mcp

Через pip

pip install sam-gov-mcp

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

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

Конфигурация

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

{
  "mcpServers": {
    "sam-gov": {
      "command": "uvx",
      "args": ["--refresh-package", "sam-gov-mcp", "--from", "sam-gov-mcp", "sam-gov-mcp"],
      "env": {
        "SAM_API_KEY": "SAM-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      }
    }
  }
}

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

Перезапустите клиент — инструменты появятся.

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

После настройки эти примеры показывают расширенные возможности сервера при самостоятельном использовании. Более полная подборка содержится в поддерживаемой библиотеке запросов для MCP:

  • "Проверьте ответственность поставщика [UEI]: выясните статус регистрации и наличие исключений, а затем отдельно получите сведения о добросовестности из FAPIIS. В проверку одним запросом эти сведения не входят."

  • "Получите статус регистрации [COMPANY], сведения о категориях социально-экономических программ и любых исключениях. Если SAM вернёт несколько регистраций для одного UEI, сообщите об этом и перечислите их, прежде чем выбирать одну."

  • "Получите ответы [COMPANY] на FAR 52.212-3 и DFARS 252.204-7016 из разделов reps and certs (в кратком режиме) и отметьте сведения, которые сотруднику по контрактам стоит прочитать полностью."

  • "Насколько далеко в прошлое фактически охватывает федеральная история награждения контрактами [COMPANY]? Проверьте контракты по десятилетиям, начиная с FY1970. До 1980 года объёмы данных невелики, поэтому единичные результаты следует считать архивными записями, а не пробелами."

  • "Найдите действующие компании с сертификацией 8(a) в [STATE] по NAICS [NAICS]. Учитывайте сертификацию SBA, а не самостоятельно заявленный статус."

  • "Найдите извещения о поиске потенциальных поставщиков за последние 30 дней по NAICS [NAICS] и отсортируйте их по сроку ответа, начиная с ближайшего."

  • "Покажите опубликованные в этом квартале запросы предложений на IT-услуги с ограничением участия для SDVOSB."

  • "Получите полное описание извещения с ID [paste ID] и кратко изложите SOW."

  • "Найдите записи об исключениях для [NAME]. Укажите категорию (Firm, Individual, Vessel), исключившее агентство и статус каждой записи."

  • "Найдите контракты, присуждённые [COMPANY] в финансовом 2026 году, а затем получите все изменения для самого крупного найденного PIID."

  • "Покажите удалённые записи о контрактах Министерства обороны за текущий финансовый год."

  • "Найдите Federal Hierarchy ID Министерства финансов и покажите дочерние организации на один уровень ниже."

  • "Покажите субподряды FFATA по основному PIID [PIID] и подсчитайте общую сумму субприсуждений."

  • "Получите все субприсуждения, указанные для гранта FAIN [FAIN]."

  • "Перечислите организации уровня агентств в CGAC 075 (HHS)."

Примечания по проектированию

  • Аутентификация только через переменную окружения. SAM_API_KEY считывается из окружения при каждом вызове. Ключ не попадает в контекст беседы модели.

  • Учитывается срок действия в 90 дней. Ошибки 401/403 преобразуются в понятное сообщение о том, как заново получить ключ, со ссылкой на актуальную справку SAM.gov.

  • Особенности API учтены в защитных проверках.

    • Ограничение Entity Management на size=10 применяется на стороне клиента, а при превышении выводится понятная ошибка

    • В Exclusions используется size, а не limit (в отличие от других конечных точек SAM)

    • Коды стран проверяются на соответствие трёхзначному формату ISO alpha-3: для двухзначных кодов API без уведомления возвращает 0 результатов

    • Заголовок Accept: application/json не задаётся: при его наличии Exclusions возвращает ошибку 406

    • Символы квадратных скобок, тильды и восклицательного знака сохраняются в строках запросов для параметров с несколькими значениями

  • Постфильтрация параметров, которые API обрабатывает некорректно. Opportunities API без уведомления игнорирует фильтры deptname и subtier. Функция search_opportunities предоставляет параметр agency_keyword, который фильтрует результаты после получения, сопоставляя подстроку с fullParentPathName.

  • Значения по умолчанию для includeSections. При поиске сведений об организации по умолчанию используются entityRegistration,coreData. Всегда добавляйте entityRegistration вместе с любыми другими разделами, иначе в ответе не будет идентификационных данных. Разделы repsAndCerts и integrityInformation требуют отдельных вызовов инструментов (get_entity_reps_and_certs, get_entity_integrity_info): они не включаются даже при includeSections=All.

  • Нормализация ответов Contract Awards. В зависимости от наличия результатов API Contract Awards возвращает JSON в разных обёртках. Все инструменты приводят ответы к единому формату {"awardSummary": [...], "totalRecords": int}. Ошибки возвращаются в виде обычного текста, а не JSON; сервер распознаёт их и формирует понятные сообщения.

  • Пагинация Contract Awards. Используются параметры limit/offset, а не page/size, как в Entity Management. Максимальное значение limit — 100. Даты должны быть в формате MM/dd/yyyy, а диапазон задаётся как [MM/dd/yyyy,MM/dd/yyyy].

  • Составной сценарий. vendor_responsibility_check объединяет типовую проверку по FAR 9.104-1 (регистрация организации и поиск исключений) в один вызов инструмента. Результат содержит структурированный список флагов для последующего анализа.

  • Особенности Federal Hierarchy учтены в реализации.

    • В API используются ключи totalrecords и orglist в нижнем регистре, в отличие от остальных интерфейсов SAM.gov, где применяется camelCase; нормализатор сохраняет оба ключа

    • По умолчанию возвращаются только действующие организации. Передача status=ACTIVE не меняет результат по сравнению с запросом без фильтра. Чтобы включить архивные организации, укажите INACTIVE

    • Фактические значения fhorgtype имеют вид Department/Ind. Agency, однако API также принимает сокращённые варианты (DEPARTMENT, AGENCY) без учёта регистра

  • Особенности Subaward Reporting учтены в реализации.

    • Даты задаются в формате ISO yyyy-MM-dd, а не MM/dd/yyyy, как в Contract Awards. При смешении форматов сервер выдаёт понятную ошибку до обращения к сети

    • Для пагинации используются параметры pageNumber/pageSize, а не page/size или limit/offset

    • При проверке в рабочей среде в апреле 2026 года выяснилось, что API без уведомления игнорирует три задокументированных варианта написания параметров: PIID отбрасывается (используйте строчное piid), referencedIdvPIID отбрасывается (используйте referencedIDVPIID), а referencedIDVAgencyID отбрасывается (используйте referencedIDVAgencyId). В сервере теперь используются правильные имена параметров на уровне запросов

В составе

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

Лицензия

MIT