Skip to main content

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.

PyPI version License: MIT Python 3.11+ MCP

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-клиент)

Tool Tier Что делает
search_tenders Self-hosted Поиск тендеров по 30+ фильтрам. Требует API-ключ DaMIA / ГосПлан / navodki.
get_tender Self-hosted Карточка тендера по реестровому номеру. Требует API-ключ провайдера.
lookup_okpd2 Free Поиск кода ОКПД2 / КТРУ по тексту (локальный справочник, без сети).
get_customer_history Pro hosted История закупок заказчика — только MCP_ZAKUPKI_API_KEY.
get_supplier_stats Pro hosted Статистика поставщика — только MCP_ZAKUPKI_API_KEY.

Production: рекомендуется корпоративный API Atomno (MCP_ZAKUPKI_API_KEY на api.atomno-mcp.ru/zakupki/). Self-hosted (свой ключ DaMIA/ГосПлан) — для разработки и пилотов; агрегированная аналитика и расширенные отчёты доступны через корпоративный endpoint.

v0.1.1: убран неофициальный HTML-парсинг ЕИС. Инструменты get_customer_history и get_supplier_stats требуют корпоративного API-ключа.

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. Конфигурация

Для production — получите hosted Pro-ключ: atomno-mcp.ru/pricing#zakupki-proMCP_ZAKUPKI_API_KEY.

Для разработки (self-hosted) — ключ одного API-провайдера (DaMIA / ГосПлан / navodki) для search_tenders и get_tender. Без ключей работает только lookup_okpd2 (локальный справочник ОКПД2).

HTML-fallback удалён в v0.1.1. Парсинг zakupki.gov.ru без API — только на hosted backend (private server, Phase 2).

Переменная Описание Где взять
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 hosted — обязателен для get_customer_history / get_supplier_stats и будущих AI-тулов https://atomno-mcp.ru/pricing#zakupki-pro
MCP_ZAKUPKI_LOG_LEVEL DEBUG / INFO / WARNING / ERROR / CRITICAL по умолчанию INFO
MCP_ZAKUPKI_CACHE_DB Путь к SQLite-кэшу по умолчанию ./mcp_zakupki_cache.sqlite
MCP_ZAKUPKI_PROVIDERS Цепочка fallback'а (BYOK) по умолчанию damia,gosplan,navodki
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), сроки, площадка...

Анализ заказчика (Pro)

[Cursor]: Кто такой ИНН 7449023800? Покажи историю закупок за 2 года.

→ get_customer_history(inn="7449023800", period_from="2024-01-01")
← Требуется MCP_ZAKUPKI_API_KEY (hosted Pro).

Подбор кода ОКПД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-й
ЕИС-официальный (опц.) Free для физ.лица с токеном SOAP int.zakupki.gov.ru Если есть MCP_ZAKUPKI_EIS_TOKEN

Цепочка BYOK: MCP_ZAKUPKI_PROVIDERS=damia,gosplan,navodki. HTML-scraping удалён в v0.1.1 — используйте hosted Pro. Если ни один не отвечает, тулза вернёт типизированную ошибку provider_unavailable.

Архитектура (вкратце)

AI-клиент (Cursor / Claude / Cline) ──MCP──▶ atomno-mcp-zakupki
                                              │
                                              ├──▶ lookup_okpd2 (offline)
                                              ├──▶ Self-hosted API (search/get)
                                              └──▶ hosted Pro (api.atomno-mcp.ru) — production

Все провайдеры реализуют общий 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

  • Сервис не аффилирован с Министерством финансов РФ, ФАС, оператором ЕИС или конкретными ЭТП.
  • Данные ЕИС получаем через лицензированные API-провайдеры, официальный ЕИС-токен или hosted backend Atomno — не через scraping open-клиента.
  • HTML-fallback убран в v0.1.1 (соответствие ToS реестра закупок).
  • Используйте на свой риск. Решения о подаче заявок на тендеры — на ответственности пользователя.

Лицензия

MIT © 2026 Atomno.

Семья MCP-серверов atomno

atomno-mcp-zakupki — пятый сервер семьи atomno-mcp-*:

Подключите все вместе — и получите полное B2G-досье по тендеру за один промпт.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atomno_mcp_zakupki-0.1.3.tar.gz (57.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atomno_mcp_zakupki-0.1.3-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

Details for the file atomno_mcp_zakupki-0.1.3.tar.gz.

File metadata

  • Download URL: atomno_mcp_zakupki-0.1.3.tar.gz
  • Upload date:
  • Size: 57.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.4

File hashes

Hashes for atomno_mcp_zakupki-0.1.3.tar.gz
Algorithm Hash digest
SHA256 58a34e6519c515d9ca82180f4681ac3440f6eadc339529f179677fe915a2da07
MD5 04cd41aab101f63432ecdefc1004c62e
BLAKE2b-256 e76937d8ca7afc68c9953f6933ee8792596670e6a71027c8f392737e0037bd30

See more details on using hashes here.

File details

Details for the file atomno_mcp_zakupki-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for atomno_mcp_zakupki-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5e236d2f8409d5e6d48993d1d0793484b34a6150a91d4faad0fb62acd8dacfb6
MD5 5a0532b98b57b5e7bc9b8f98f58fc818
BLAKE2b-256 f1a2affbb505fd0ea698d92ca71a340f2e9466928d0dfc9fc8dae14b7a530ff0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page