# atomno-mcp-zakupki MCP-сервер госзакупок: поиск тендеров на [zakupki.gov.ru](https://zakupki.gov.ru), история заказчиков и поставщиков, справочник ОКПД2. Законы 44-ФЗ, 223-ФЗ и 615-ПП — прямо в Cursor, Claude и любом клиенте MCP. Russian public procurement search for AI agents. [![PyPI version](https://img.shields.io/pypi/v/atomno-mcp-zakupki.svg)](https://pypi.org/project/atomno-mcp-zakupki/) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/) [![MCP](https://img.shields.io/badge/MCP-2025--06--18-purple.svg)](https://modelcontextprotocol.io) Установили локально, прописали в конфиге 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 | Официальный сайт ЕИС: поиск, XML-карточка, карточка организации | | AI-агент не может прочитать тендер сам | Копи-паст в чат | `get_tender(reg_number)` отдаёт всю карточку как JSON | ## Что внутри (open-клиент) | Tool | Что делает | |---|---| | `search_tenders` | Поиск закупок на официальном сайте `zakupki.gov.ru`. Ключ не нужен. | | `get_tender` | Карточка закупки по реестровому номеру (официальная XML-печатная форма). | | `lookup_okpd2` | Поиск кода ОКПД2 / КТРУ по тексту (локальный справочник, без сети). | | `get_customer_history` | Карточка заказчика по ИНН и статус в реестре недобросовестных. Сводку объёмов сайт не считает. | | `get_supplier_stats` | Сводка по поставщику. Без токена машинного обмена ЕИС недоступна — тулза вернёт отказ, не нули. | > Источник по умолчанию — официальный сайт ЕИС. Покупной посредник отключён. > Сводка объёмов и статистика поставщика без токена машинного обмена недоступны. ## Quick start ### 1. Установка ```bash # Через uvx (рекомендуется — без установки в систему): uvx atomno-mcp-zakupki --help # Через pipx: pipx install atomno-mcp-zakupki atomno-mcp-zakupki --version # В виртуальное окружение проекта: pip install atomno-mcp-zakupki ``` Опциональный экстра для официального ЕИС-токена (требует сертификат Минфина): ```bash pip install "atomno-mcp-zakupki[eis-official]" ``` ### 2. Конфигурация Поиск и карточка закупки работают без ключа — источник `zakupki.gov.ru`. Покупной посредник и SOAP-токен ЕИС не обязательны. | Переменная | Описание | Где взять | |---|---|---| | `MCP_ZAKUPKI_DAMIA_KEY` | API-ключ DaMIA API-Закупки | (free-тариф «Старт» ≈ 100 запросов/мес) | | `MCP_ZAKUPKI_GOSPLAN_KEY` | API-ключ ГосПлан API v2 | (sandbox без регистрации: `fz44test.gosplan.info`) | | `MCP_ZAKUPKI_NAVODKI_KEY` | API-ключ navodki.ru | | | `MCP_ZAKUPKI_EIS_TOKEN` | Токен ЕИС (через `pmd/auth/welcome`) | + сертификат Минфина | | `MCP_ZAKUPKI_API_KEY` | **Pro hosted** — обязателен для `get_customer_history` / `get_supplier_stats` и будущих AI-тулов | | | `MCP_ZAKUPKI_LOG_LEVEL` | DEBUG / INFO / WARNING / ERROR / CRITICAL | по умолчанию `INFO` | | `MCP_ZAKUPKI_CACHE_DB` | Путь к SQLite-кэшу | каталог данных пользователя (`%LOCALAPPDATA%/atomno/` или `~/.local/share/atomno/`) | | `MCP_ZAKUPKI_PROVIDERS` | Цепочка источников | по умолчанию `eis_public` | | `MCP_ZAKUPKI_RPS` | Лимит запросов в минуту | по умолчанию `30` | ### 3. Подключение к Cursor Откройте `~/.cursor/mcp.json` (или `Cursor → Settings → Model Context Protocol`) и добавьте: ```json { "mcpServers": { "zakupki": { "command": "uvx", "args": ["atomno-mcp-zakupki"], "env": { "MCP_ZAKUPKI_LOG_LEVEL": "INFO" } } } } ``` ### 4. Подключение к Claude Desktop `%APPDATA%\Claude\claude_desktop_config.json` (Windows) или `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS): ```json { "mcpServers": { "zakupki": { "command": "uvx", "args": ["atomno-mcp-zakupki"] } } } ``` ### 5. Подключение к Cline / Goose / Kiro Любой MCP-клиент: запустите `atomno-mcp-zakupki` (по умолчанию stdio транспорт) и пропишите в его конфиге команду запуска. Для HTTP-режима: ```bash 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 ```text 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`. ## Источники данных | Источник | Что отдаёт | Когда используется | |---|---|---| | **ЕИС, официальный сайт** | Поиск, XML-карточка, карточка организации, реестр недобросовестных | По умолчанию, без ключа | | **SOAP ЕИС** (`int.zakupki.gov.ru`) | Машинная выгрузка | Только с токеном после регистрации на портале | | **DaMIA / ГосПлан / navodki** | Коммерческие API | Только если явно заданы в `MCP_ZAKUPKI_PROVIDERS` и есть ключ | Цепочка по умолчанию: `MCP_ZAKUPKI_PROVIDERS=eis_public`. Если источник не ответил, тулза вернёт типизированную ошибку `provider_unavailable` или `not_implemented` — не пустой список. ## Архитектура (вкратце) ``` 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`. ## Разработка ```bash 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 - Сервис **не аффилирован** с Министерством финансов РФ, ФАС, оператором ЕИС или конкретными ЭТП. - Данные берём с официального сайта ЕИС (`zakupki.gov.ru`) по обычным публичным адресам, с официальными корневыми сертификатами Минцифры. - Машинный обмен SOAP требует токен и регистрацию на портале — без этого сводка объёмов и статистика поставщика недоступны. - Используйте на свой риск. Решения о подаче заявок на тендеры — на ответственности пользователя. ## Лицензия [MIT](LICENSE) © 2026 Atomno. ## Семья MCP-серверов atomno `atomno-mcp-zakupki` — пятый сервер семьи `atomno-mcp-*`: - [`atomno-mcp-cbr-rates`](https://github.com/atomno-mcp/mcp-cbr-rates) — курсы ЦБ РФ - [`atomno-mcp-egrul`](https://github.com/atomno-mcp/mcp-egrul) — реквизиты юр.лиц из ЕГРЮЛ - [`atomno-mcp-fns-check`](https://github.com/atomno-mcp/mcp-fns-check) — налоговая благонадёжность - [`atomno-mcp-fssp`](https://github.com/atomno-mcp/mcp-fssp) — задолженности и исп. производства (готовится) - **`atomno-mcp-zakupki`** — *вы здесь* - [`atomno-mcp-rosreestr`](https://github.com/atomno-mcp/mcp-rosreestr) — недвижимость, кадастр (готовится) - [`atomno-mcp-sudact`](https://github.com/atomno-mcp/mcp-sudact) — судебная практика (готовится) Подключите все вместе — и получите полное B2G-досье по тендеру за один промпт.