Estou montando um servidor MCP sobre o PNCP, focado em licitações, compras e contratos públicos. O que me custou tempo não foi chamar a API, mas entender como ela funciona quando você pede algo que ela não sabe fazer.

A API do PNCP ignora filtros em silêncio: o que aprendi montando um servidor MCP de licitações

Filtros Ignorados

A API do PNCP aceita palavraChave e niFornecedor e ignora ambos, sem avisar. Você manda notebook e recebe todas as licitações, e manda CNPJ de um fornecedor e recebe todos os contratos.

Erros e Padrões

A API não documenta esse comportamento, então pode mudar. Outras pegadinhas incluem 204 sem corpo como 'nenhum registro', não erro, e sem aviso de limite de chamadas.

Fato, Não Opinião

Nada de score ou IA dentro do servidor. Cada resposta traz fonte e data da consulta.

Filtros e Limitações

  • Filtros Ignorados: A API ignora palavraChave e niFornecedor.
  • 204 Sem Corpo: Considerado 'nenhum registro' sem aviso.
  • Limitação de Chamadas: Sem aviso de limite de chamadas.
  • Modalidades: Uma chamada por modalidade para várias.
  • tamanhoPagina: Diferentes tamanhos por endpoint.
  • Contratos: Exigem CNPJ do órgão.
  • Contratos Pessoa Física: Descartados e contados, com campos específicos para CPF e nomeFornecedorPessoaFisica omitidos.

Fato

Nada de score, nada de IA dentro do servidor. Cada resposta traz fonte e data da consulta.

Conclusão

O PNCP é uma ferramenta útil, mas há limitações e pegadinhas que devem ser consideradas.

Recomendações

  • Implementar busca por palavra no objeto.
  • Documentar melhor o comportamento da API.
  • Implementar melhor controle de limite de chamadas.
  • Considerar a inclusão de campos para CPF e nomeFornecedorPessoaFisica em contratos.
IgnoraLicitacoesMontandoPncpServidor