https://mcp-compras.up.railway.app/mcp ↗
Preços, atas, contratos e sanções das APIs públicas de compras do governo brasileiro
MCP Compras.gov.br is a remote MCP server published at mcp-compras.up.railway.app. It has been probed 6 times since 9/12/2026. It answered in 6 of them (100.0%), a near-uninterrupted record. Median response time is 537 ms, a delay an agent will notice. It exposes a broad tool surface of 100 tools. On the protocol side it still runs 2025-11-25 and has not moved to the newer spec.
Can an LLM agent pick the right tool here — names, descriptions and parameter clarity are assessed.
compras_arp_listar — Parameters 'uf' and 'esfera' have type 'null' with no input format clarification.compras_legado_licitacoes_listar — Description mentions upstream bug but does not explain workarounds or alternative approaches.compras_catmat_listar_grupos — Tool name is excessively long and could be shortened to 'catmat_groups_list' for clarity.Risk: low
tools/list structure, inputSchema validity, and a functional smoke test — the components of the 0-100 score.
Tools the server advertised in the latest measurement — measured, not catalog-claimed.
compras_aggregate_contratacoes_por_periodoSérie temporal de contratações no PNCP por bucket. **Modo `count` (recomendado para tendência)**: 1 chamada por bucket lendo apenas `totalRegistros`. Janelas grandes (até 5 anos) são viáveis. **Modo `valor_*`**: varre todas as páginas de cada bucket para somar. Mais lento; limita-se a `MAX_PAGES_PER_BUCKET=25` páginas (× 500 itens = 12.500 registros máx por bucket). Sinaliza `truncado=true` quando bate o teto. Concurrency interna: 4 calls simultâneas. Cache 30 min.
data_inicialstringrequireddata_finalstringrequiredcodigo_modalidadeintegerrequiredgranularidadestringmetricastringufesferacompras_comparar_periodos_contratacoesCompara dois períodos lado a lado para a mesma modalidade. Wrapper sobre `compras_aggregate_contratacoes_por_periodo` chamado duas vezes (granularidade='ano' implícita — soma todo o período em 1 bucket). Retorna totais de A e B + delta absoluto + delta percentual. Caso de uso típico: _"Houve antecipação de licitações em Jun/2024 (ano eleitoral) comparado a Jun/2025?"_ Ou _"As dispensas em Dez/2024 foram maiores que Dez/2023 no mesmo órgão?"_.
periodo_a_iniciostringrequiredperiodo_a_fimstringrequiredperiodo_b_iniciostringrequiredperiodo_b_fimstringrequiredcodigo_modalidadeintegerrequiredlabel_astringlabel_bstringmetricastringufesferacompras_arp_listarLista Atas de Registro de Preço (ARPs) por janela de início de vigência. Endpoint Dados Abertos `/modulo-arp/1_consultarARP`. O upstream exige janela `dataVigenciaInicialMin/Max` (≤ 365 dias). Para listar atas próximas do vencimento, use `compras_arp_por_fim_vigencia`. Cache 15 min.
data_vigencia_inicial_minstringrequireddata_vigencia_inicial_maxstringrequiredcodigo_unidade_gerenciadoracodigo_modalidade_compranumero_ata_registro_precopaginaintegertamanho_paginaintegercompras_arp_consultarConsulta uma ARP específica pelo identificador PNCP. Endpoint Dados Abertos `/modulo-arp/1.1_consultarARP_Id`. Devolve o cabeçalho completo da ata (vigência, modalidade, gerenciadora, valores). Quando o `numero_controle_pncp_ata` vem no formato de **compra** (sem o sufixo `-NNNNNN` que numera a ata), a tool detecta e devolve diagnóstico explícito em vez de propagar `encontrada=false` silencioso. Cache 15 min.
numero_controle_pncp_atastringrequiredcompras_arp_por_fim_vigenciaLista ARPs cuja vigência termina dentro do intervalo informado. Endpoint Dados Abertos `/modulo-arp/1.2_consultarARP_FimVigencia`. Permite ao gestor identificar atas próximas do vencimento. Cache 15 min.
data_vigencia_final_minstringrequireddata_vigencia_final_maxstringrequiredcodigo_unidade_gerenciadorapaginaintegertamanho_paginaintegercompras_arp_buscar_por_objetoBusca ARPs vigentes cujo `objeto` contém uma palavra-chave. Resolve a limitação do endpoint `/modulo-arp/1.2_consultarARP_FimVigencia`, que não aceita filtro por texto: pagina internamente até `max_paginas_varridas` e filtra client-side por presença de `palavra_chave` (case-insensitive, com normalização de acentos). Curto-circuita quando atinge `max_resultados`. O servidor faz o trabalho que antes era pedido ao LLM — sem isso, o roteiro `oportunidades_carona_arp` esbarrava em 169k ARPs vigentes e 339 páginas. Achado da bateria A v0.3.5. **Limitação conhecida**: o schema upstream de ARP **não traz UF** no item — só `nomeOrgao` e `nomeUnidadeGerenciadora`. Para filtrar por UF, cruze os matches com `compras_uasg_consultar` usando `codigoUnidadeGerenciadora` e compare `unidade.uf`. Não tent
palavra_chavestringrequireddata_vigencia_final_minstringrequireddata_vigencia_final_maxstringrequiredmax_paginas_varridasintegermax_resultadosintegercompras_arp_itens_listarLista itens de ARPs na janela de vigência informada. Endpoint Dados Abertos `/modulo-arp/2_consultarARPItem`. O upstream exige `dataVigenciaInicialMin/Max` (janela ≤365 dias). Use filtros opcionais para localizar atas com um item específico. Cache 15 min.
data_vigencia_inicial_minstringrequireddata_vigencia_inicial_maxstringrequiredcodigo_itemtipo_itemni_fornecedorcodigo_unidade_gerenciadorapaginaintegertamanho_paginaintegercompras_arp_unidades_itemLista UGs participantes (potenciais caronas) de um item da ARP. Endpoint Dados Abertos `/modulo-arp/3_consultarUnidadesItem`. Determina quais unidades podem usar a ata como carona (adesão). Cache 15 min.
numero_atastringrequiredunidade_gerenciadoraintegerrequirednumero_itemintegerrequiredpaginaintegertamanho_paginaintegercompras_arp_saldo_itemDevolve o **saldo** (quantidade ainda disponível) por item da ARP. Endpoint Dados Abertos `/modulo-arp/4_consultarEmpenhosSaldoItem`. **Crítico para adesão**: a ata pode estar vigente mas com saldo zerado. Sem saldo, não há como aderir. **Estrutura do payload**: o upstream retorna **1 linha por (numeroItem, unidade, tipo)** — onde `tipo` pode ser `GERENCIADORA`, `PARTICIPANTE` etc. O mesmo `numeroItem` aparece várias vezes quando há múltiplas unidades alocadas (carona ou rateio). **Não é duplicação** — são alocações distintas dentro da mesma ata. Para evitar confusão (achado bateria A v0.3.5), além do `resultado` cru, anexamos `resumo_por_item`: dicionário agregando por `numeroItem` com soma das quantidades registradas/empenhadas e saldo total — pronto para decisão de adesão. Cache 15
numero_atastringrequiredunidade_gerenciadoraintegerrequiredpaginaintegertamanho_paginaintegercompras_arp_adesoes_itemLista adesões (caronas) já realizadas a uma ARP. Endpoint Dados Abertos `/modulo-arp/5_consultarAdesoesItem`. Mostra quem aderiu e com que quantidade — indica nível de demanda e quanto ainda resta no limite legal de adesões. Cache 15 min.
numero_atastringrequiredunidade_gerenciadoraintegerrequirednumero_itemintegerrequiredpaginaintegertamanho_paginaintegercompras_pncp_atas_listarLista atas registradas no PNCP no período (federal + estadual + municipal). Endpoint PNCP `/v1/atas`. Permite encontrar atas de qualquer ente da federação — mais amplo que Dados Abertos (só federal SISG). Cache 15 min.
data_inicialstringrequireddata_finalstringrequiredcnpj_orgaopaginaintegertamanho_paginaintegercompras_catmat_listar_gruposLista os grupos do CATMAT (Catálogo de Materiais). Grupos são o nível mais alto da hierarquia CATMAT (ex.: 10=ARMAMENTO, 11=MATERIAIS BÉLICOS NUCLEARES). Use esta tool para enquadrar a contratação no grupo correto antes de descer para classes/PDM/itens. Cache de 24h: os grupos mudam muito raramente. Total atual ~79 grupos.
paginaintegertamanho_paginaintegerDerived by comparing consecutive probes — changes in era, protocol version, build and reachability.
Add this badge to your README — it updates automatically as measurements change.
[](https://mcpmetrics.io/servers/io-github-opedrosoares-mcp-compras)<a href="https://mcpmetrics.io/servers/io-github-opedrosoares-mcp-compras"><img src="https://mcpmetrics.io/badge/io.github.opedrosoares/mcp-compras/era.svg" alt="mcpmetrics"></a>You are seeing the last 7 days. Sign up for the full history. Which check failed and why is in the dashboard.
Sign up free to seeThe catalog entries whose name and description are closest to this one, found with the same index the search box uses.
25 pay-per-request intelligence APIs for AI agents via x402 micropayments (USDC/Base)
20+ pay-per-use APIs: image gen, crypto data, email verify, SSL check, web scraping, and more.
Spanish public property auctions (judicial, AEAT, Social Security): daily data and risk flags.
135 MCP tools: geo, email, phone, company, DNS, FX, equities, weather, tax, econ, intel — one key.
PostgreSQL, MySQL, OpenAPI/Swagger, and shared Agent Memory with scoped access.
One MCP endpoint over 69 public PPN APIs: search_apis to discover, execute_api to call. Free tier.
| Run | Era | Modern | ms | Legacy | ms | Versions |
|---|---|---|---|---|---|---|
| 2026-09-13 01:33:33 | Legacy | 400 | 543 | 200 | 537 | 2025-11-25 |
| 2026-09-12 23:31:36 | Legacy | 400 | 494 | 200 | 503 | 2025-11-25 |
| 2026-09-12 21:29:15 | Legacy | 400 | 819 | 200 | 806 | 2025-11-25 |
| 2026-09-12 19:27:29 | Legacy | 400 | 515 | 200 | 511 | 2025-11-25 |
| 2026-09-12 17:24:09 | Legacy | 400 | 480 | 200 | 495 | 2025-11-25 |
| 2026-09-12 15:21:42 | Legacy | 400 | 555 | 200 | 562 | 2025-11-25 |
Each block is one measurement round. Green: working response. Amber: responded but the server was returning errors (5xx). Red: no response at all.
Each cell is one probe run. Faded cells are incomplete probes — one leg did not answer, so the era is inconclusive.
The two probe legs separately: modern server/discover and legacy initialize.
Comments
Sign in to write a comment
No comments yet. Be the first.