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-labs.

Семья 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.2.tar.gz (56.9 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.2-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: atomno_mcp_zakupki-0.1.2.tar.gz
  • Upload date:
  • Size: 56.9 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.2.tar.gz
Algorithm Hash digest
SHA256 870cb1cbb4857a025c56715a18fa741483fa3b8cacb899a94acd3fd82949e965
MD5 6043b80a04163330f376c970f9749c5d
BLAKE2b-256 0ec4cfc4e84d9e04cb1b40a5763ee57e189e197224805ebd0569e310866b74a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atomno_mcp_zakupki-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 047e5beaa4fb07cda2c53b89152aa3543d3fc89ab10105c5da5e3625cc99cc0e
MD5 629e5f6c42e9640795e20f7f6af22a63
BLAKE2b-256 6d02b9e784e0bcff2ac9fcc9c8cde73e6352164674a05cb3350c71b742a82b36

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