Skip to content

v0.2.0 — MCP analítico (Fase 7)

Latest

Choose a tag to compare

@laespina laespina released this 14 May 11:41
· 14 commits to main since this release

Minor release — MCP analítico (Fase 7). Vira o servidor de "lookup transacional" para "agregação temporal + comparação". Resolve #17.

✨ Novidades

aggregate_licitacoes_por_periodo

Série temporal de contagem (e opcionalmente valor) sobre uma janela de até 5 anos, com bucketing por dia / semana / mes / ano. Filtros: modalidades, uf, codigoMunicipioIbge, cnpjOrgao, esfera.

  • Modo rápido (count apenas, sem esfera): 1 call por bucket × modalidade — devolve totalRegistros do PNCP. Para 12 meses × 3 modalidades = 36 calls, em ~10s.
  • Modo paginado (com esfera ou métricas de valor): caps em 50 páginas/bucket e 200 buckets-modalidade no total. Concurrency interna de 4 em paralelo.

Exemplo:

{
  "dataInicial": "20240101",
  "dataFinal": "20240630",
  "granularidade": "mes",
  "modalidades": [6],
  "metricas": ["count"]
}

Retorna [{periodo: "2024-01", count: 8185}, ..., {periodo: "2024-06", count: 32921}].

compare_periodos

Compara dois períodos lado-a-lado com os mesmos filtros, retornando totais por métrica + delta { absoluto, percentual }.

Caso de uso primário: questões como "Houve antecipação de licitações em Jun/2024 (eleitoral, pré-vedação) comparado a Jun/2025?"

{
  "periodoA": { "label": "Jun/2024 (eleitoral)", "dataInicial": "20240601", "dataFinal": "20240630" },
  "periodoB": { "label": "Jun/2025 (controle)", "dataInicial": "20250601", "dataFinal": "20250630" },
  "modalidades": [6, 8, 9]
}

Resultado da query acima rodando contra o PNCP ao vivo: +2,6% em 2025 vs 2024 — nenhuma antecipação eleitoral mensurável em junho do ano eleitoral.

Filtro esfera em todas as search tools

Disponível em search_licitacoes, search_contratos, search_atas_rp:

{ "esfera": "municipal", ... }

Valores: federal / estadual / municipal / distrital. Aplicado client-side sobre orgaoEntidade.esferaId (PNCP usa mapping F/E/M/D).

Limitações conhecidas

  • search_pca ainda não suporta filtro esfera — o endpoint de PCA do PNCP não retorna esferaId. Cruze o orgaoCnpj retornado com get_orgao para esse recorte.
  • Modo paginado em aggregate_licitacoes_por_periodo pode dar timeout em janelas grandes com filtro esfera — use janelas menores ou granularidade mais grossa.

Tools totais: 16 → 18

Install / Upgrade

npx -y @licinexusbr/mcp@latest

Ou no seu claude_desktop_config.json (ou equivalente do seu cliente MCP), forçar refresh:

"args": ["-y", "@licinexusbr/mcp@latest"]