O Brasil
público,
no chat.

Pra que dados públicos brasileiros funcionem nativamente na era dos agentes de IA — sem ficar pra trás. Conecte seu agente (Claude, Cursor, GPT, VS Code) a 50 fontes oficiais: IBGE, BACEN, Câmara, Senado, TSE, Portal da Transparência, DataSUS, DataJud, TCEs estaduais e mais. Em português, no chat.

50 features oficiais
~/projects · zsh — install v1.0 · stdio
$ pip install mcp-brasil
Resolved 1 package · downloading…
✓ mcp-brasil 1.0.0 · 50 features · 435 tools · 2 chaves obrigatórias
Pronto. abra seu cliente MCP e pergunte algo.
github
prefere outro gerenciador? uvx mcp-brasil npx mcp-brasil brew install mcp-brasil pipx run mcp-brasil
funciona em Claude Desktop Claude Code Cursor VS Code Copilot ChatGPT + qualquer cliente MCP
fig. 01 · catálogo · scope resumo · 2026.04

Uma pergunta.
O Brasil inteiro responde.

Dados abertos brasileiros em um único catálogo. O agente já conhece 435 ferramentas oficiais e escolhe sozinho as 5 ou 10 que importam pra cada pergunta — sem ETL, sem scraping, sem decorar nome de série.

// tools
435
descobertas pelo agente, sem inflar o contexto
// features
50
federais, estaduais, judiciais, agências
// sem chave
48
de 50 — instalou, tá rodando
// estados
27
UFs respondem em paralelo · um único enter
macro & finanças legislativo eleitoral transparência justiça saúde compras públicas segurança meio ambiente utilidades (CEP, CNPJ, FIPE…) + tribunais de contas estaduais + diários oficiais (5.000+ municípios)
MCP-BRASIL
Schematic · Sequence
sheet 02 / 08
rev 2026.04
fig. 02
FIG. 02 — passo a passo · do enter à resposta

Você pergunta.
Ele descobre, busca,
cruza e responde.

step 01 · você

"gastos com saúde
per capita em SP × MG, 2024"

Pergunta do jeito que você pensaria. Sem decorar nome de API, sem ler manual.
→ pergunta
step 02 · escolha

buscar_tools(
  sua_pergunta
)

O servidor lê a pergunta, busca BM25 nas 435 tools e devolve as 5–10 que importam. Monta o plano.
↓ plano
step 03 · paralelo

executar_lote([
  ...tres_tools
])

As tools rodam de uma vez só: tce_sp.despesas(), tce_mg.despesas(), ibge.populacao()asyncio.gather.
↓ paralelo
step 04 · resposta

cruzado, citado,
em português.

Devolve JSON com fonte, código da série e timestamp. O agente lê e responde com citação rastreável.
✓ pronto · 412ms
github.com/mcp-brasil
$ pip install mcp-brasil
FIG. 03 — cobertura por UF · 10 TCEs integrados

10 estados
hoje. Mais a caminho.

Cada UF tem seu portal e API. Hoje, 10 TCEs estão integrados — SP, RJ, RS, SC, PE, CE, RN, PI, TO, ES. Os 17 restantes aparecem em cinza no mapa — passe o mouse pra contribuir adicionando o seu.

10 / 27
UFs cobertas
43
tools nos TCEs
17
a fazer
FIG. 04 — arquitetura por dentro · feito pra agente

Arquitetura pensada
pra AI Agent.

Discovery semântico, paralelismo nativo, base local com SQL em ms, cruzamento automático entre fontes. Tudo que o modelo precisa — sem afogar o contexto em wall of schema.

01 / discoveryBM25

O agente não vê 435 tools.
Vê só as que importam.

Despejar 435 schemas no contexto vira ruído puro — agente perdido, resposta errada. Aqui ele chama buscar_tools(...) e o servidor devolve as 5–10 ferramentas relevantes. BM25 sobre nome, descrição, área e exemplos.

"selic histórica e ipca acumulado em 12 meses"⌘K
  • #1bacen.selic_historicotaxa selic — histórico9.42
  • #2bacen.serie_sgsséries SGS por código8.71
  • #3bacen.ipca_historicoIPCA — índice e variação mensal8.05
  • #4bacen.focus_expectativas_anuaisexpectativas Focus IPCA/Selic6.18
  • #5bacen.cdi_historicoCDI — histórico3.91
  • …397 tools não retornadas — fora do contexto
elapsed 11ms · index 435 tools✓ contexto enxuto
02 / localDuckDB

Bases pesadas, locais.
SQL em ms.

TSE, DataJud, CNPJ da Receita: baixa uma vez, fica indexado em DuckDB. SQL roda no seu laptop. Sem segundo de espera de API externa.

1-- vereadores 2024 com patrimônio > 1M
2SELECT uf, COUNT(*) AS n
3FROM tse.candidatos
4WHERE ano = 2024
5 AND patrim > 1_000_000
6GROUP BY uf;
✓ 487.213 rowsduckdb · 18ms
03 / fan-out27 UFs

O Brasil todo,
num pedido só.

Em vez de 27 chamadas em série, asyncio.gather dispara o país inteiro de uma vez. Você pede o consolidado e ele chega — junto, com fonte de cada estado.

tce.todas_ufs()412ms
SP98
MG120
RJ156
BA182
RS170
PR198
PE220
CE240
+19
asyncio.gather(*ufs) ✓ 27 / 27
04 / cross-refauto

Achou um CNPJ?
Ele já sabe onde cruzar.

Apareceu CNPJ, CPF, número de processo, licitação? O servidor sugere as próximas tools — receita.cnpj, datajud.processos, cgu.ceis. Cruzamento sem prompt engineering.

CNPJ 12.345.678/0001-99 DETECTADO receita.cnpj SÓCIOS · CNAE datajud.processos PROCESSOS · CNJ cgu.ceis SANÇÕES transparencia.contratos compras.atas_rp PNCP · LICITAÇÕES FIG. 04.04 · NODE GRAPH 5 ROTAS SUGERIDAS
05 / zero infralocal-first

48 das 50 fontes sem chave.
Roda direto no laptop.

Distribuído pelo PyPI. Sem servidor pra subir, sem provedor de auth, sem variável de ambiente. As 2 fontes que pedem cadastro estão sinalizadas — e o servidor avisa na hora exata.

✓ pip install8s
✓ 1 binário stdiorunning
✓ 0 chaves obrigatórias66 / 70
✗ servidor pra subirnão
✗ conta SaaSnão
✗ telemetrianão
06 / standardMCP

Padrão MCP.
Roda em qualquer cliente.

Implementa o Model Context Protocol da Anthropic. Mesmo binário, mesmas tools, em qualquer cliente que fala MCP — Claude, Cursor, VS Code, Copilot, ChatGPT (via plugin).

Claude Desktop✓ ok
Claude Code✓ ok
Cursor✓ ok
VS Code✓ ok
ChatGPT (via plugin)✓ ok
FIG. 05 — catálogo completo · 435 tools · 50 features

Cada tool. Cada fonte.
Cada dado.

A infraestrutura inteira que o agente passa a enxergar depois do install. Filtro semântico — entende sinônimos, ignora acentos, casa por intenção. Tente "voto candidato", "corrupcao", "cobertura vacinal".

esc
tools · fontes · scroll →
# fonte tool o dado que traz
carregando catálogo…
435 tools · 50 features · 108 resources · 82 prompts · catálogo vivo · atualizado a cada release descrição = schema.description que o agente lê via buscar_tools
FIG. 07 — instalação · em 2 minutos · setup visual

Em 2 minutos,
rodando.

Instala. Cola o JSON no cliente. Abre o chat. Pronto. Sem servidor pra subir, sem chave pra pedir, sem conta pra criar.

01

Instale

Via PyPI com pip install mcp-brasil. Ou nem instale — rode direto com uvx mcp-brasil.

02

Cole no cliente MCP

Snippet ao lado, claude_desktop_config.json · mcp.json · settings.json. Funciona em todos.

03

Pergunte em português

O agente já vê as 435 tools via buscar_tools. Comece com "qual a Selic hoje?" — você pega o jeito sozinho.

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-brasil": {
      "command": "uvx",
      "args": ["mcp-brasil"]
    }
  }
}
// reinicie o Claude Desktop e pronto.
~/.cursor/mcp.json
{
  "mcpServers": {
    "mcp-brasil": {
      "command": "uvx",
      "args": ["mcp-brasil"]
    }
  }
}
.vscode/mcp.json ou settings.json
{
  "servers": {
    "mcp-brasil": {
      "type": "stdio",
      "command": "uvx",
      "args": ["mcp-brasil"]
    }
  }
}
terminal · uma linha
$ claude mcp add mcp-brasil "uvx mcp-brasil"

# ou edite ~/.claude/mcp.json manualmente:
{
  "mcpServers": {
    "mcp-brasil": { "command": "uvx", "args": ["mcp-brasil"] }
  }
}
fig. 08 · install · cta end of sheet · v1.0

O Brasil público,
em um install.

Open source sob licença MIT. Funciona em qualquer cliente MCP. Mantido por contribuidores — issues, PRs e sugestões são bem-vindas. Leia o disclaimer antes de usar em produção.

$pip install mcp-brasil
github.com/Mcp-Brasil  ·  pypi.org/mcp-brasil
MIT license · open source
DISCLAIMER · escopo, garantias e limites

O que o servidor faz — e não faz

Todos os dados vêm de APIs oficiais do governo brasileiro. O servidor não cria nem altera o conteúdo dos dados — apenas normaliza formato (JSON, datetime, encoding). O servidor também não interpreta nem editorializa: a interpretação fica com o agente de IA que consome.

Risco de erro do agente (hallucination)

O servidor entrega o dado bruto com fonte e timestamp rastreáveis. A interpretação do agente de IA pode conter erros — números podem ser confabulados a partir de retornos legítimos, comparações podem estar invertidas, citações podem apontar pra fonte errada. Antes de citar em jornalismo, pesquisa ou decisão pública, verifique o dado bruto na fonte original.

Cobertura desigual entre UFs e fontes

A documentação dos órgãos brasileiros é inconsistente. Alguns endpoints retornam parcial, outros mudam schema sem aviso, outros ficam offline. O catálogo cobre 10 dos 27 TCEs estaduais — as 17 UFs sem cobertura aparecem em cinza no mapa. Dados não cobertos: TCM-SP, TCM-RJ, INSS, Receita Federal direta, sistemas estaduais de saúde, eleições anteriores a 2014.

LGPD e dados pessoais

Algumas tools retornam dados pessoais (CPF, e-mail, título eleitoral, vínculos de servidores). O servidor mascara PII por padrão; desabilitar o masking é responsabilidade do operador, sob LGPD (Lei 13.709/2018). Não armazene, não republique nem use dados mascarados desativados sem base legal apropriada.

Termos de uso upstream

Algumas APIs (Portal da Transparência, DataJud/CNJ, Meta Ad Library, dados.gov.br) têm Termos de Uso próprios que limitam redistribuição, finalidade ou indexação. Ao usar este servidor você está sujeito a esses ToS upstream — leia antes de aplicar comercialmente.

Sem afiliação institucional

"Fontes oficiais" significa origem oficial do dado, não endosso institucional. Nenhum órgão público — IBGE, BACEN, TSE, CGU, CNJ, ou qualquer outro — patrocina, valida ou certifica este projeto. Dados sob licença pública dos respectivos órgãos.

Como projeto

Mcp-brasil é um projeto open-source sem entidade legal — não há CNPJ, contrato de SLA ou suporte comercial. Mantido por contribuidores na organização Mcp-Brasil no GitHub. Se algo está quebrado ou pode melhorar, abra uma issue ou envie um PR.