MCP-сервер для российских госзакупок (zakupki.gov.ru, 44-ФЗ / 223-ФЗ / 615-ПП): поиск тендеров, карточки, история заказчиков и поставщиков, справочник ОКПД2.
Project description
atomno-mcp-zakupki
MCP server for Russian government procurement data (44-FZ / 223-FZ / 615-PP) — find tenders, customer/supplier history, OKPD2 lookup directly from Cursor, Claude Desktop, Cline, Goose and any MCP-compatible client.
atomno-mcp-zakupki — это MCP-сервер
(Model Context Protocol — открытый протокол подключения LLM-клиентов к
внешним инструментам), который превращает портал ЕИС
zakupki.gov.ru в набор тулзов для AI-ассистента.
Установили локально, прописали в конфиге Cursor / Claude Desktop / Cline — и в одном промпте просите: «Покажи свежие тендеры за сегодня по ОКПД2 62.0 в Москве с НМЦК ≤ 5 млн ₽». Сервер сходит в выбранный источник данных, нормализует ответ и вернёт LLM готовую структуру.
Зачем
| Боль | Сейчас | С atomno-mcp-zakupki |
|---|---|---|
| Каждое утро 30–60 мин просеивать ЕИС вручную или платить 16–67 K ₽/год за Контур / Seldon | Excel-сводки + email-уведомления | Один MCP-вызов из Cursor → LLM сама фильтрует, объясняет, сравнивает |
Скрипты на Python с ftp.zakupki.gov.ru сломались с января 2025 |
Ищут замену через коммерческие API | Hybrid-провайдеры: DaMIA, ГосПлан API v2, navodki; опц. ЕИС-токен |
| AI-агент не может прочитать тендер сам | Копи-паст в чат | get_tender(reg_number) отдаёт всю карточку как JSON |
Что внутри (open-клиент, бесплатно)
5 инструментов, доступных любому MCP-клиенту:
| Tool | Что делает |
|---|---|
search_tenders |
Поиск тендеров по 30+ фильтрам: 44-ФЗ / 223-ФЗ / 615-ПП, ОКПД2, КТРУ, регион, диапазон НМЦК, ЭТП, заказчик, статус, даты. До 100 объектов на вызов с пагинацией. |
get_tender |
Полная карточка тендера по реестровому номеру: заказчик, документация, сроки, площадка, протоколы (если есть), победитель и итоговая цена. |
get_customer_history |
История закупок заказчика (по ИНН/ОГРН): объём, средний контракт, топ-ОКПД2, доля СМП, топ-победителей. |
get_supplier_stats |
Статистика поставщика: победы / поражения / РНП-статус / отрасли / регионы / средний дисконт от НМЦК. |
lookup_okpd2 |
Поиск кода ОКПД2 / КТРУ по тексту запроса (полнотекстовый, локальный). |
Pro-функции (
summarize_tender_risks,predict_win_probability,subscribe_watchlist,ask_44fz_223fz,batch_search_tenders) требуютMCP_ZAKUPKI_API_KEYотapi.atomno-mcp.ru/zakupki/. Запускаются после текущего спринта — открытая beta для пилотов.
Quick start
1. Установка
# Через uvx (рекомендуется — без установки в систему):
uvx atomno-mcp-zakupki --help
# Через pipx:
pipx install atomno-mcp-zakupki
atomno-mcp-zakupki --version
# В виртуальное окружение проекта:
pip install atomno-mcp-zakupki
Опциональный экстра для официального ЕИС-токена (требует сертификат Минфина):
pip install "atomno-mcp-zakupki[eis-official]"
2. Конфигурация (минимум — ключ одного API-провайдера)
По умолчанию atomno-mcp-zakupki использует только легальные API-источники
(DaMIA, ГосПлан, navodki, опц. официальный ЕИС-токен). Без ключей работает
только lookup_okpd2 (локальный справочник ОКПД2).
Для поиска тендеров и карточек добавьте ключ хотя бы одного провайдера
в .env или переменные окружения. Полный список — в .env.example.
HTML-fallback (парсинг публичных страниц
zakupki.gov.ru) не включён по умолчанию — только явный opt-in черезMCP_ZAKUPKI_PROVIDERS=...,html_fallback. Используйте на свой риск и соблюдайте robots/ToS портала.
| Переменная | Описание | Где взять |
|---|---|---|
MCP_ZAKUPKI_DAMIA_KEY |
API-ключ DaMIA API-Закупки | https://damia.ru/apizakupki (free-тариф «Старт» ≈ 100 запросов/мес) |
MCP_ZAKUPKI_GOSPLAN_KEY |
API-ключ ГосПлан API v2 | https://wiki.gosplan.info (sandbox без регистрации: fz44test.gosplan.info) |
MCP_ZAKUPKI_NAVODKI_KEY |
API-ключ navodki.ru | https://navodki.ru |
MCP_ZAKUPKI_EIS_TOKEN |
Токен ЕИС (через pmd/auth/welcome) |
https://zakupki.gov.ru/pmd/auth/welcome + сертификат Минфина |
MCP_ZAKUPKI_API_KEY |
Ключ Pro-режима atomno | https://app.atomno-labs.ru/zakupki (после публичного запуска) |
MCP_ZAKUPKI_LOG_LEVEL |
DEBUG / INFO / WARNING / ERROR / CRITICAL | по умолчанию INFO |
MCP_ZAKUPKI_CACHE_DB |
Путь к SQLite-кэшу | по умолчанию ./mcp_zakupki_cache.sqlite |
MCP_ZAKUPKI_PROVIDERS |
Цепочка fallback'а через запятую | по умолчанию damia,gosplan,navodki (без HTML) |
MCP_ZAKUPKI_RPS |
Лимит запросов в минуту | по умолчанию 30 |
3. Подключение к Cursor
Откройте ~/.cursor/mcp.json (или Cursor → Settings → Model Context Protocol) и добавьте:
{
"mcpServers": {
"zakupki": {
"command": "uvx",
"args": ["atomno-mcp-zakupki"],
"env": {
"MCP_ZAKUPKI_DAMIA_KEY": "your-damia-key-here",
"MCP_ZAKUPKI_LOG_LEVEL": "INFO"
}
}
}
}
4. Подключение к Claude Desktop
%APPDATA%\Claude\claude_desktop_config.json (Windows) или
~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"zakupki": {
"command": "uvx",
"args": ["atomno-mcp-zakupki"]
}
}
}
5. Подключение к Cline / Goose / Kiro
Любой MCP-клиент: запустите atomno-mcp-zakupki (по умолчанию stdio
транспорт) и пропишите в его конфиге команду запуска.
Для HTTP-режима:
atomno-mcp-zakupki --transport http --host 127.0.0.1 --port 8765
Примеры
Утренний мониторинг тендеров
[Cursor]: Покажи свежие тендеры за сегодня по ОКПД2 62.0 в УрФО
с НМЦК 500K-3M ₽, СМП-only.
→ search_tenders(
okpd2_codes=["62.01", "62.02", "62.09"],
regions=["66", "74", "59", "45", "72", "86", "89"],
price_min_rub=500000, price_max_rub=3000000,
smp_only=True,
publish_date_from="2026-04-26",
status=["applications_open"]
)
← 7 тендеров найдено за 412 мс.
Карточка тендера
[Cursor]: Расскажи подробно про реестровый номер 0173100007426000018.
→ get_tender(reg_number="0173100007426000018", include_documents=True)
← Все поля: заказчик, НМЦК, документация (PDF), сроки, площадка...
Анализ заказчика
[Cursor]: Кто такой ИНН 7449023800? Покажи историю закупок за 2 года.
→ get_customer_history(inn="7449023800", period_from="2024-01-01")
← Сводка: 142 тендера, 312 млн ₽, 38.7% СМП, топ-ОКПД2, топ-победителей.
Подбор кода ОКПД2
[Cursor]: Какой ОКПД2 у разработки веб-портала?
→ lookup_okpd2(query="разработка веб-портала", limit=5)
← [{"code":"62.01.11.000","name":"Услуги по проектированию ИС","match":0.94}, ...]
CLI
atomno-mcp-zakupki --help
atomno-mcp-zakupki --version
atomno-mcp-zakupki --check-config
atomno-mcp-zakupki --log-level DEBUG
atomno-mcp-zakupki --transport http --host 127.0.0.1 --port 8765
atomno-mcp-zakupki --transport sse --port 9000
Полный список опций — в atomno-mcp-zakupki --help.
Источники данных
| Провайдер | Тариф | Что покрывает | Когда используется |
|---|---|---|---|
| DaMIA API-Закупки | Free «Старт» ≈ 100/мес → per-request | 44-ФЗ + 223-ФЗ + 615-ПП, методы zakupka, contract, zsearch, customer, eruz, rnp |
Default 1-й (если есть MCP_ZAKUPKI_DAMIA_KEY) |
| ГосПлан API v2 | Free sandbox + платные планы | 44-ФЗ (Beta), 615-ПП (Pre1), 223-ФЗ (Pre2) | Fallback 2-й |
| navodki.ru | Free | 44-ФЗ + 223-ФЗ | Fallback 3-й |
| HTML-fallback | Free | Публичные страницы printForm/viewXml.html?regNumber=... |
Opt-in only — добавьте html_fallback в MCP_ZAKUPKI_PROVIDERS |
| ЕИС-официальный (опц.) | Free для физ.лица с токеном | SOAP-сервис int.zakupki.gov.ru/eis-integration/services/getDocsIP |
Если есть MCP_ZAKUPKI_EIS_TOKEN + сертификат Минфина |
Цепочка fallback'а настраивается через MCP_ZAKUPKI_PROVIDERS=damia,gosplan,navodki.
Для HTML-парсинга явно добавьте ,html_fallback в конец цепочки.
Если ни один не отвечает, тулза вернёт типизированную ошибку
provider_unavailable.
Архитектура (вкратце)
AI-клиент (Cursor / Claude / Cline) ──MCP──▶ atomno-mcp-zakupki
│
├──▶ SQLite cache (TTL 1 ч / 6 ч / 24 ч)
├──▶ DaMIA API
├──▶ ГосПлан API v2
├──▶ navodki.ru
├──▶ EIS SOAP (опц., через токен Минфина)
└──▶ HTML-fallback (opt-in only)
Все провайдеры реализуют общий BaseProvider-интерфейс. Ответы
нормализуются в Pydantic-модели Tender, Customer, Document,
OrgHistorySummary.
Разработка
git clone https://github.com/atomno-mcp/mcp-zakupki.git
cd mcp-zakupki
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
pip install -e ".[dev]"
pytest -v --cov=src/mcp_zakupki
ruff check src tests
Disclaimer
- Сервис не аффилирован с Министерством финансов РФ, ФАС, оператором ЕИС или конкретными ЭТП.
- Данные ЕИС — общедоступные согласно 44-ФЗ ст. 4 ч. 1 и 223-ФЗ ст. 4 ч. 5. Мы получаем их через лицензированные API-провайдеры или официальный ЕИС-токен, а не через обход CAPTCHA или массовый scraping.
- HTML-fallback (если явно включён) — экспериментальный режим; пользователь
несёт ответственность за соблюдение ToS
zakupki.gov.ru. - Используйте на свой риск. Решения о подаче заявок на тендеры — на ответственности пользователя.
Лицензия
MIT © 2026 atomno-labs.
Семья MCP-серверов atomno
atomno-mcp-zakupki — пятый сервер семьи atomno-mcp-*:
atomno-mcp-cbr-rates— курсы ЦБ РФatomno-mcp-egrul— реквизиты юр.лиц из ЕГРЮЛatomno-mcp-fns-check— налоговая благонадёжностьatomno-mcp-fssp— задолженности и исп. производства (готовится)atomno-mcp-zakupki— вы здесьatomno-mcp-rosreestr— недвижимость, кадастр (готовится)atomno-mcp-sudact— судебная практика (готовится)
Подключите все вместе — и получите полное B2G-досье по тендеру за один промпт.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atomno_mcp_zakupki-0.1.0.tar.gz.
File metadata
- Download URL: atomno_mcp_zakupki-0.1.0.tar.gz
- Upload date:
- Size: 54.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cbd33c7063acdc600b918395756b61f72d208f1999bc26d2de40455c78669bb
|
|
| MD5 |
ad105c58a3540bc5f4414d948b3c164d
|
|
| BLAKE2b-256 |
383a753e8ae1ee8097e421683e060e8db8106f8066a0224b0af9eaf529412bea
|
File details
Details for the file atomno_mcp_zakupki-0.1.0-py3-none-any.whl.
File metadata
- Download URL: atomno_mcp_zakupki-0.1.0-py3-none-any.whl
- Upload date:
- Size: 62.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e4a96c0a561c4c68eea0097f1c655e372f9439c179f6597ec3acd3a7c0f8453
|
|
| MD5 |
aa0ca1415ec2ea3f355ccba359d20f96
|
|
| BLAKE2b-256 |
f4c02e66005cd74b9c8758f4e10f6b15813b57c1df496944b51b64776d3ffba5
|