Skip to main content
Glama
marioluciofjr

mcp-dados-brasil

mcp-dados-brasil

Made with Python license - MIT site - prazocerto.me linkedin - @marioluciofjr M8ven Score

Índice

Introdução

O mcp-dados-brasil é um servidor remoto que implementa o Model Context Protocol (MCP). Ele junta 6 fontes de dados abertas do governo brasileiro atrás de 11 tools: Pix (Banco Central), IBGE, Câmara dos Deputados, Senado Federal, Diário Oficial da União e Agência Brasil. Qualquer cliente MCP compatível chama essas tools em tempo real, pelo URL público do servidor.

Este MCP existe para um caso de uso específico: dar a uma IA generativa acesso direto aos dados públicos brasileiros, sem instalação local e sem chave de API. Cada tool consulta a fonte oficial ao vivo e devolve o dado real, a IA generativa nunca precisa adivinhar um número ou citar uma fonte duvidosa.

O público-alvo são equipes de checagem de fatos e a comunidade OSINT (inteligência de fontes abertas, na sigla em inglês). Por isso, o recorte de fontes prioriza transparência legislativa, diário oficial e notícias.

O servidor usa o transporte Streamable HTTP e roda na nuvem, na Vercel, no URL https://mcp-dados-brasil.vercel.app/mcp. Não há login nem cadastro em nenhuma etapa, nem para conectar o MCP nem para nenhuma das 6 fontes de dados que ele consulta.

IMPORTANT

Esse URL só aceita pedidosPOST e DELETE, no formato do protocolo MCP. Se você colar o URL no navegador, ele faz um pedido GET e mostra a mensagem "Method Not Allowed". Isso é esperado, não é um erro. Confirma só que o servidor está no ar. Use o URL dentro de um cliente MCP, não direto no navegador.

IMPORTANT

Este projeto é inspirado nomcp-brasil, servidor MCP com 70 fontes de dados públicas brasileiras. O mcp-dados-brasil é um projeto independente, não um fork — não reaproveita código do mcp-brasil. Os créditos completos estão na seção Sobre o mcp-dados-brasil.

IMPORTANT

Cada cliente MCP decide, por conta própria, quando chamar as tools deste servidor, sendo que essa decisão não é controlada por este projeto. Em teste real, alguns clientes (ex.: Gemini Spark e ChatGPT) só chamam uma tool se você citar o nome do app no prompt, mesmo com o MCP já conectado; o Claude Chat, no mesmo teste, chamou a tool sem precisar disso. Se a IA generativa não usar o MCP sozinha, cite o nome quevocê deu ao app na instalação. Exemplo, supondo que você chamou o app de "DadosBrasil": @DadosBrasil quero saber como está o Pix em Salvador em agosto de 2026

NOTE

Toda tool deste servidor é só leitura. Nenhuma tool grava, altera ou apaga dado em nenhum sistema externo. Quando uma fonte não devolve resultado, a tool diz isso e não inventa um dado para preencher a resposta.

Sobre o mcp-dados-brasil

Este projeto nasceu de duas observações sobre o mcp-brasil:

(1) a documentação dele só ensina instalação local, que não funciona em clientes remotos como Gemini Spark, Claude Chat e ChatGPT;

(2) ele não expõe as estatísticas de transações Pix do Banco Central, só cita Pix de forma indireta, via emendas parlamentares do TransfereGov.

O mcp-dados-brasil resolve os dois pontos, pois é remoto por padrão, hospedado na Vercel, e traz os dados estatísticos do Pix como diferencial exclusivo.

Estrutura do projeto

É um MCP-Server em Python, com FastMCP e transporte Streamable HTTP, seguindo Programação Orientada a Objetos: cada fonte de dados vira uma classe (ClientePix, ClienteIBGE, ClienteCamara, ClienteSenado, ClienteDOU, ClienteNoticias), com alta coesão (a classe guarda URL base, cache e métodos daquela fonte) e baixo acoplamento (nenhum módulo de tools/ importa outro — o que é compartilhado mora em core.py). As funções marcadas com @mcp.tool são só a porta de entrada: validam a chamada do modelo e delegam para o método da classe.

Pix — ClientePix (3 tools)

Tool

O que faz

pix_transacoes_por_municipio

Transações Pix por município, estado e região: valores e quantidades pagas e recebidas, por pessoa física (PF) e jurídica (PJ). Parâmetros opcionais: municipio, estado, ano_mes, top (máximo 100).

pix_estatisticas_nacionais

Visão agregada nacional do Pix: perfil de pagador/recebedor, faixa etária, região, forma de iniciação e finalidade. Parâmetros opcionais: ano_mes, pagador, recebedor, top (máximo 100).

pix_fraudes_contestacoes

Contestações e fraudes por mês: Pix contestados, devoluções via MED, valor residual não devolvido. Parâmetros opcionais: ano_mes, top (máximo 60).

IBGE — ClienteIBGE (1 tool)

Tool

O que faz

ibge_localidades

Código IBGE, UF e região de um município ou estado. Parâmetros opcionais: municipio, estado, top (máximo 50). Lista de municípios fica em cache de 24h na instância da classe.

Câmara dos Deputados — ClienteCamara (3 tools)

Tool

O que faz

camara_buscar_deputados

Busca deputados por nome, estado ou partido. Parâmetro opcional top (máximo 50).

camara_votacoes

Votações de uma proposição (sigla_tipo + numero + ano), ou votos individuais de uma votação específica (id_votacao) quando há chamada nominal — avisa quando não há registro nominal, em vez de inventar um resultado.

camara_despesas_deputado

Despesas da CEAP de um deputado (id_deputado ou nome, ano, mes opcionais, top máximo 100).

Senado Federal — ClienteSenado (2 tools)

Tool

O que faz

senado_buscar_senadores

Busca senadores em exercício por nome, estado ou partido (top máximo 81).

senado_materias

Matérias legislativas de autoria de um senador (codigo_senador ou nome, top máximo 50).

Diário Oficial da União — ClienteDOU (1 tool)

Tool

O que faz

dou_buscar_termo

Busca um termo nas edições do DOU, por seção (1, 2, 3 ou edital) e período (dia, semana, mes ou ano). Cache de 10 minutos por busca. top máximo 30.

Notícias — ClienteNoticias (1 tool)

Tool

O que faz

noticias_agencia_brasil

Últimas notícias por editoria (política, economia, justiça, saúde e outras 5). top máximo 20 — limite fixo do próprio feed da Agência Brasil.

Tecnologias utilizadas

Python FastMCP Starlette Uvicorn httpx Vercel

  • Python — linguagem do servidor.

  • FastMCP — framework que implementa o protocolo MCP e expõe as 11 tools via Streamable HTTP.

  • Starlette — aplicação ASGI por baixo do FastMCP; aqui, acrescenta o CORS aberto para clientes remotos.

  • Uvicorn — servidor ASGI usado para rodar o projeto localmente.

  • httpx — busca cada uma das 6 fontes de dados, em tempo real, a cada chamada de tool.

  • Vercel — hospeda o servidor remoto e disponibiliza o URL público.

Requisitos

Para usar o servidor a partir de um cliente MCP (Gemini Spark, Claude Chat ou ChatGPT), você não precisa instalar nada. Basta um cliente que aceite um servidor MCP remoto via Streamable HTTP, e o URL público deste servidor.

Como instalar no Gemini Spark

O Gemini Spark é o modo agêntico do Gemini App.

  1. Acesse a barra lateral do Gemini Web e clique em "Spark".

  2. Clique na aba "Apps Conectados".

  3. Desça a barra de rolagem e clique no botão "Adicionar app personalizado".

  4. Cole o link do MCP (https://mcp-dados-brasil.vercel.app/mcp) no espaço "Adicione um link de app personalizado".

  5. Clique no botão "Avançar".

  6. Desça a barra de rolagem da nova tela e marque a caixa de seleção que tem a mensagem "Entendo e aceito os riscos de segurança e privacidade ao conectar este app personalizado".

  7. Clique no botão "Conectar" e aguarde a próxima tela.

  8. Aparecerá uma tela chamada "Salvar app personalizado". Você pode editar o nome do app.

  9. Depois de conferir se está tudo certo e a tool estar listada, clique no botão "Conectar".

Você saberá que está tudo certo se o MCP aparecer como um novo app em "Apps personalizados para o Spark".

Como instalar no Claude Web

  1. Na barra lateral do Claude Web, clique em "Personalizar".

  2. Escolha a aba "Conectores".

  3. Clique no botão "Adicionar" e escolha a opção "Adicionar conector personalizado".

  4. Dê um nome para o conector.

  5. Cole o link do MCP (https://mcp-dados-brasil.vercel.app/mcp) no espaço abaixo do nome que escolheu na etapa 4.

  6. Clique no botão "Adicionar".

  7. Clique no botão "Vincular".

  8. Clique no botão "Requer aprovação" e mude para "Sempre permitir".

Como instalar no ChatGPT

  1. Na barra lateral, clique em "Plugins".

  2. Clique no botão "+", que fica do lado de "Pesquisar plugins".

  3. Na tela "Novo plugin", dê um nome no espaço "Nome".

  4. Em "Conexão", cole o link do MCP (https://mcp-dados-brasil.vercel.app/mcp) e deixe a opção "URL do Servidor" habilitada.

  5. Em "Autenticação", escolha a opção "Sem autenticação" (este servidor não usa OAuth).

  6. Clique na caixa de seleção "Entendi e quero continuar".

  7. Clique no botão "Criar".

  8. Na nova tela, clique no botão "Conectar".

Exemplos de uso

Conectou o MCP e não sabe o que perguntar? Veja exemplos-de-uso.md — um guia com 50 perguntas em linguagem natural, prontas para usar, cobrindo as 11 tools. Cada uma foi testada, incluindo 20 perguntas que cruzam 2 ou 3 tools ao mesmo tempo (ex.: "onde fica Cuiabá, como está o Pix por lá, e o que saiu no Diário Oficial mencionando a cidade?"). É o ponto de partida recomendado para quem quer ter ideia rápida das possibilidades antes de explorar por conta própria.

Contribuições

Contribuições são bem-vindas! Se você tiver ideias para melhorar este projeto, sinta-se à vontade para abrir um fork do repositório.

Licença

Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

Contato

Mário Lúcio - Prazo Certo®