Consulte o PNCP pelo seu app de IA

Peça licitações, contratos e atas em uma conversa. O MCP é a conexão que permite ao seu app de IA consultar os dados públicos do PNCP pelo pncp.dev. Você também pode conferir a cota da sua conta.

Conecte sua conta

Em um app que aceite servidores MCP remotos com OAuth, adicione o endereço abaixo. O transporte é Streamable HTTP: você não precisa instalar um servidor local do pncp.dev.

Quando o app abrir o pncp.dev, entre na sua conta e aprove o acesso. A conexão cria uma chave com o nome do app. Não cole uma chave ou senha na conversa.

endereço MCP
https://api.pncp.dev/mcp

O que você pode pedir

Comece conferindo sua cota. Essa consulta não faz um pedido ao PNCP e não desconta requisições.

Depois, peça uma busca com os filtros necessários. Por exemplo, informe o período, a modalidade e o estado das licitações que quer consultar. As listas trazem uma página por chamada, não todos os resultados de uma vez.

Confira minha cota de consultas do PNCP e quantos créditos ainda tenho.

list_published_tenders
Licitações publicadas num período, com filtro de modalidade.
list_open_tenders
Licitações com prazo de proposta aberto até a data informada.
list_contracts
Contratos publicados num período.
list_price_records
Atas de registro de preço em vigor no período informado.
get_purchase
Uma compra em detalhe, pelo CNPJ do órgão, ano e número sequencial.
get_usage
Uso do mês, cota e créditos da sua conta. Não gasta cota.

Cota e limites

Cada consulta de dados ao PNCP usa uma requisição da sua cota, mesmo quando a resposta já está guardada. Só get_usage é grátis. Não há uma cobrança separada pelo MCP.

Nas listas, tamanhoPagina aceita de 10 a 50; sem esse campo, são 10 registros. Uma resposta com mais de 256 KB volta como erro e a chamada já foi descontada. Diminua tamanhoPagina ou use mais filtros antes de tentar de novo.

O acesso é somente leitura. Ele não envia propostas, não altera dados no PNCP e não entra em áreas privadas do gov.br. Também não compra créditos, muda seu plano ou cria outras chaves.

Para programadores

Use o endereço MCP com um cliente que aceite OAuth 2.1 com PKCE. Se o cliente aceitar o header Bearer, você também pode usar uma chave criada no painel, sem colocá-la em uma mensagem.

A API REST continua disponível nas mesmas rotas /api/ do PNCP, com a chave no header x-api-key. As consultas MCP passam pelo mesmo controle de cota e limite por minuto da API.

terminal
Authorization: Bearer $PNCP_API_KEY

Ver as rotas, os headers e os erros da API

Login por código no terminal

Um agente sem navegador local pode pedir um código com client_id=pncp-cli. Abra o verification_uri recebido, confira o código e aprove. O código vale por 10 minutos. Consulte /oauth/token no intervalo informado na resposta, sem tentar mais rápido.

terminal
curl https://api.pncp.dev/oauth/device_authorization \
  -d client_id=pncp-cli -d resource=https://api.pncp.dev/mcp

Desconecte e proteja sua conta

Para cortar o acesso, abra Chaves no painel e revogue a chave com o nome do app. Desconectar apenas no app de IA pode deixar a chave ativa no pncp.dev.

O app recebe os resultados das ferramentas que você autorizar. A consulta get_usage inclui a cota e os créditos da sua conta. Os dados já enviados ao app seguem a política de privacidade dele.

Abrir Chaves no painel

Como os apps de IA usam seus dados

Se a conexão não funcionar

Se receber 401, reconecte sua conta ou confira se a chave ainda está ativa no painel. Uma chave revogada não volta a funcionar.

Se não conseguir autorizar outra conexão, revogue uma chave que não usa e tente de novo. As chaves de apps de IA entram no mesmo limite de chaves da sua conta.

Se receber 429, confira se acabou a cota do mês ou se você atingiu o limite por minuto. Espere o prazo indicado na resposta antes de tentar de novo. Se a cota acabou, veja no painel quando ela volta ou use créditos.

Se o PNCP falhar, aguarde e consulte o status antes de repetir a busca. Uma nova tentativa pode descontar outra requisição.

Se o seu app não aceitar MCP remoto com OAuth, use um cliente que aceite ou chame a API REST com sua chave. Para pedir ajuda, escreva para [email protected] sem enviar chaves ou senhas.

Consultar o status