Pitch: Liberei um MCP open source pra conversar com licitações públicas BR (PNCP) via Claude/Cursor
Trabalho com govtech (Licinexus) e a gente acabou de liberar um pedaço de código que ajuda a comunidade: o licinexus-mcp.
É um servidor MCP (Model Context Protocol — protocolo da Anthropic pra LLMs acessarem dados externos) que conecta Claude Desktop, Cursor, Continue, etc. ao Portal Nacional de Contratações Públicas (PNCP) e dados de CNPJ.
Em uma linha de config no claude_desktop_config.json, você passa a poder perguntar coisas como:
- "tem ata de registro de preço ativa pra notebook em SP?"
- "quais editais de TI publicados nos últimos 7 dias acima de 200k?"
- "histórico de contratos do CNPJ X com órgãos federais"
- "o que a Prefeitura de Y planeja comprar este ano (PCA)?"
São 16 tools no total, todas hitting endpoints públicos. MIT, sem auth, sem banco local. Build com TypeScript + zod + cache em memória.
Por que liberei?
Porque dado público devia ser acessível pra todo mundo, não só quem sabe escrever cliente de API. A plataforma paga da Licinexus continua com matching, scoring, análise de viabilidade, geração de propostas
— esse é o diferencial. Mas acesso ao dado cru? Aberto pra todos.
Stack técnica
- TypeScript + @modelcontextprotocol/sdk oficial
- Zod pra validação de resposta
- LRU cache em memória pra ser educado com o PNCP
- CI rodando lint + typecheck + testes + isolation grep que falha qualquer PR importando de pacote interno
- Smoke test diário contra endpoints reais — caçou bug do PNCP migrando endpoint entre /api/pncp/v1 e /api/consulta/v1 durante o dev
Instalação
npx @licinexusbr/mcp
E no claude_desktop_config.json:
{
"mcpServers": {
"licinexus": {
"command": "npx",
"args": ["-y", "@licinexusbr/mcp"]
}
}
}
Quem mexe com transparência, jornalismo de dados, pesquisa em compras públicas ou só curte LLMs com tools — testem aí. PRs e issues bem-vindas (com DCO).
🎬 Demo (18s): https://x.com/licinexus/status/2053872243629846936
📦 Repo: https://github.com/Licinexus/licinexus-mcp
📥 npm: @licinexusbr/mcp