mcp-zakupki

Servidor MCP para dados de licitações governamentais russas (44-FZ / 223-FZ / 615-PP) — encontre licitações, histórico de clientes/fornecedores, consulta OKPD2 diretamente do Cursor, Claude Desktop, Cline, Goose e qualquer MCP-c...

Documentação

atomno-mcp-zakupki

Servidor MCP de compras governamentais: busca de licitações no zakupki.gov.ru, histórico de clientes e fornecedores, guia de referência OKPD2. Leis 44-FZ, 223-FZ e 615-PP — direto no Cursor, Claude e em qualquer cliente MCP.

Busca de compras públicas russas para agentes de IA.

PyPI version License: MIT Python 3.11+ MCP

Instale localmente, configure no Cursor / Claude Desktop / Cline — e em um único prompt você pede: «Mostre licitações recentes de hoje por OKPD2 62.0 em Moscou com NMCC ≤ 5 milhões ₽». O servidor acessa a fonte de dados selecionada, normaliza a resposta e retorna à LLM uma estrutura pronta.

Por quê

ProblemaAgoraCom atomno-mcp-zakupki
Toda manhã, 30–60 min filtrando o EIS manualmente ou pagando 16–67 mil ₽/ano por Kontur / SeldonPlanilhas Excel + notificações por e-mailUma chamada MCP do Cursor → a LLM filtra, explica e compara sozinha
Scripts Python com ftp.zakupki.gov.ru quebraram desde janeiro de 2025Buscando substitutos via APIs comerciaisSite oficial do EIS: busca, ficha XML, ficha da organização
O agente de IA não consegue ler uma licitação sozinhoCopiar e colar no chatget_tender(reg_number) entrega a ficha completa como JSON

O que há dentro (cliente aberto)

FerramentaO que faz
search_tendersBusca de compras no site oficial zakupki.gov.ru. Sem necessidade de chave.
get_tenderFicha da compra pelo número de registro (formulário oficial XML/impresso).
lookup_okpd2Busca de código OKPD2 / KTRU por texto (guia local, sem rede).
get_customer_historyFicha do cliente por INN e status no registro de fornecedores não confiáveis. O site não calcula resumo de volumes.
get_supplier_statsResumo do fornecedor. Sem token de intercâmbio de máquina do EIS, indisponível — a ferramenta retornará recusa, não zeros.

Fonte padrão — site oficial do EIS. Intermediário pago desativado. Resumo de volumes e estatísticas do fornecedor sem token de intercâmbio de máquina ficam indisponíveis.

Início rápido

1. Instalação

# Через uvx (рекомендуется — без установки в систему):
uvx atomno-mcp-zakupki --help

# Через pipx:
pipx install atomno-mcp-zakupki
atomno-mcp-zakupki --version

# В виртуальное окружение проекта:
pip install atomno-mcp-zakupki

Extra opcional para o token oficial do EIS (exige certificado do Ministério das Finanças):

pip install "atomno-mcp-zakupki[eis-official]"

2. Configuração

Busca e ficha da compra funcionam sem chave — fonte zakupki.gov.ru. Intermediário pago e token SOAP do EIS não são obrigatórios.

VariávelDescriçãoOnde obter
MCP_ZAKUPKI_DAMIA_KEYChave de API DaMIA API-Zakupkihttps://damia.ru/apizakupki (plano gratuito «Start» ≈ 100 requisições/mês)
MCP_ZAKUPKI_GOSPLAN_KEYChave de API GosPlan API v2https://wiki.gosplan.info (sandbox sem registro: fz44test.gosplan.info)
MCP_ZAKUPKI_NAVODKI_KEYChave de API navodki.ruhttps://navodki.ru
MCP_ZAKUPKI_EIS_TOKENToken EIS (via pmd/auth/welcome)https://zakupki.gov.ru/pmd/auth/welcome + certificado do Ministério das Finanças
MCP_ZAKUPKI_API_KEYPro hospedado — obrigatório para get_customer_history / get_supplier_stats e futuras ferramentas de IAhttps://atomno-mcp.ru/pricing#zakupki-pro
MCP_ZAKUPKI_LOG_LEVELDEBUG / INFO / WARNING / ERROR / CRITICALpadrão INFO
MCP_ZAKUPKI_CACHE_DBCaminho para cache SQLitediretório de dados do usuário (%LOCALAPPDATA%/atomno/ ou ~/.local/share/atomno/)
MCP_ZAKUPKI_PROVIDERSCadeia de fontespadrão eis_public
MCP_ZAKUPKI_RPSLimite de requisições por minutopadrão 30

3. Conexão ao Cursor

Abra ~/.cursor/mcp.json (ou Cursor → Settings → Model Context Protocol) e adicione:

{
  "mcpServers": {
    "zakupki": {
      "command": "uvx",
      "args": ["atomno-mcp-zakupki"],
      "env": {
        "MCP_ZAKUPKI_LOG_LEVEL": "INFO"
      }
    }
  }
}

4. Conexão ao Claude Desktop

%APPDATA%\Claude\claude_desktop_config.json (Windows) ou ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "zakupki": {
      "command": "uvx",
      "args": ["atomno-mcp-zakupki"]
    }
  }
}

5. Conexão ao Cline / Goose / Kiro

Qualquer cliente MCP: execute atomno-mcp-zakupki (transporte stdio por padrão) e configure o comando de inicialização no arquivo de configuração dele.

Para modo HTTP:

atomno-mcp-zakupki --transport http --host 127.0.0.1 --port 8765

Exemplos

Monitoramento matinal de licitações

[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 мс.

Ficha da licitação

[Cursor]: Расскажи подробно про реестровый номер 0173100007426000018.

→ get_tender(reg_number="0173100007426000018", include_documents=True)
← Все поля: заказчик, НМЦК, документация (PDF), сроки, площадка...

Análise do cliente (Pro)

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

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

Seleção de código OKPD2

[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

Lista completa de opções — em atomno-mcp-zakupki --help.

Fontes de dados

FonteO que forneceQuando é usada
EIS, site oficialBusca, ficha XML, ficha da organização, registro de não confiáveisPadrão, sem chave
SOAP EIS (int.zakupki.gov.ru)Exportação de máquinaSomente com token após registro no portal
DaMIA / GosPlan / navodkiAPIs comerciaisSomente se definidas explicitamente em MCP_ZAKUPKI_PROVIDERS e houver chave

Cadeia padrão: MCP_ZAKUPKI_PROVIDERS=eis_public. Se a fonte não responder, a ferramenta retornará erro tipado provider_unavailable ou not_implemented — não uma lista vazia.

Arquitetura (resumo)

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

Todos os provedores implementam a interface comum BaseProvider. As respostas são normalizadas em modelos Pydantic Tender, Customer, Document, OrgHistorySummary.

Desenvolvimento

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

Aviso legal

  • O serviço não é afiliado ao Ministério das Finanças da Federação Russa, FAS, operador do EIS ou a ETPs específicas.
  • Os dados são obtidos do site oficial do EIS (zakupki.gov.ru) por endereços públicos comuns, com certificados raiz oficiais do Ministério de Digital.
  • O intercâmbio de máquina SOAP exige token e registro no portal — sem isso, resumo de volumes e estatísticas do fornecedor ficam indisponíveis.
  • Use por sua conta e risco. Decisões sobre envio de propostas em licitações são de responsabilidade do usuário.

Licença

MIT © 2026 Atomno.

Família de servidores MCP atomno

atomno-mcp-zakupki — quinto servidor da família atomno-mcp-*:

Conecte todos juntos — e obtenha um dossiê B2G completo sobre a licitação em um único prompt.