ibge-data-mcp
Enables LLMs to access Brazilian IBGE statistical data (population, economy, agriculture) via natural language, with tools for querying aggregated data and metadata.
README
Servidor MCP para API de Dados Agregados do IBGE
Um servidor Model Context Protocol (MCP) que permite que LLMs (Large Language Models) acessem facilmente os dados estatísticos do Instituto Brasileiro de Geografia e Estatística (IBGE) através de sua API de dados agregados.
🎯 Objetivo
Este projeto facilita o acesso aos dados do IBGE por LLMs, eliminando a necessidade de conhecimento técnico detalhado sobre a API. Com este servidor MCP, qualquer LLM compatível pode:
- Buscar dados de população, economia, agropecuária e mais
- Consultar informações por localidade (Brasil, estados, municípios)
- Acessar séries históricas de indicadores econômicos
- Obter metadados completos sobre pesquisas e variáveis
🔧 Funcionalidades
Ferramentas Disponíveis
listar_agregados- Lista agregados com filtros opcionaisobter_metadados_agregado- Obtém metadados completos de um agregadoobter_localidades- Lista localidades para diferentes níveis geográficosobter_periodos_agregado- Lista períodos disponíveisconsultar_dados_variaveis- Consulta dados das variáveis com filtrosbuscar_agregados_por_termo- Busca agregados por palavra-chave
Recursos
mcp://ibge/help- Documentação completa e exemplos de uso
🚀 Instalação Rápida
Pré-requisitos
- Python 3.8 ou superior
- pip (gerenciador de pacotes Python)
Opção 1: Instalação Automática
Windows:
install.bat
Linux/Mac:
chmod +x install.sh
./install.sh
Opção 2: Instalação Manual
- Clone ou baixe os arquivos do projeto
- Crie um ambiente virtual:
python -m venv venv source venv/bin/activate # Linux/Mac # ou venv\Scripts\activate # Windows - Instale as dependências:
pip install -r requirements.txt
🎮 Como Usar
Executando o Servidor
python ibge_mcp_server.py
O servidor iniciará e ficará disponível para conexões MCP via STDIO.
Integrando com Claude Desktop
-
Localize o arquivo de configuração do Claude Desktop:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Windows:
-
Adicione a configuração do servidor:
{ "mcpServers": { "ibge-data": { "command": "python", "args": ["caminho/para/ibge_mcp_server.py"], "env": {} } } } -
Reinicie o Claude Desktop
Integrando com Cursor IDE
- Abra as configurações do Cursor
- Procure por "MCP Servers"
- Adicione a configuração do servidor IBGE
📊 Exemplos de Uso
Buscar Dados de População
Busque dados sobre população do Brasil nos últimos anos
O LLM usará automaticamente: buscar_agregados_por_termo("população")
Consultar PIB por Estado
Mostre o PIB dos estados brasileiros no último período disponível
Obter Dados de Inflação
Quais são os índices de preços disponíveis no IBGE?
Análise Regional
Compare a população entre as regiões metropolitanas de São Paulo e Rio de Janeiro
🗺️ Níveis Geográficos Suportados
| Código | Descrição |
|---|---|
| BR | Brasil |
| N1 | Grandes Regiões |
| N2 | Unidades da Federação (Estados) |
| N3 | Mesorregiões |
| N6 | Municípios |
| N7 | Regiões Metropolitanas |
📚 API do IBGE - Informações Técnicas
Base URL
https://servicodados.ibge.gov.br/api/v3
Limites da API
- Máximo de 100.000 valores por requisição
- Fórmula:
Nº categorias × Nº períodos × Nº localidades ≤ 100.000
Valores Especiais nos Dados
| Símbolo | Significado |
|---|---|
| - | Zero (não resultante de arredondamento) |
| .. | Não se aplica |
| ... | Dado não disponível |
| X | Dado omitido para evitar individualização |
🔍 Exemplos Avançados
Consulta Específica com Filtros
# Exemplo de consulta programática
consultar_dados_variaveis(
agregado_id=1712, # Produção Agrícola
variavel="214|1982", # Quantidade produzida e vendida
localidades="N2[35,33]", # SP e RJ
periodos="-6", # Últimos 6 períodos
classificacao="226[4844]" # Abacaxi
)
Pesquisas Populares
- Agregado 1705: Estimativas de População
- Agregado 1712: Produção Agrícola Municipal
- Agregado 5938: Produto Interno Bruto dos Municípios
- Agregado 7060: Pesquisa Nacional por Amostra de Domicílios Contínua
🛠️ Desenvolvimento
Estrutura do Projeto
├── ibge_mcp_server.py # Servidor MCP principal
├── ibge_api_structure.json # Estrutura mapeada da API
├── requirements.txt # Dependências Python
├── claude_desktop_config.json # Configuração para Claude
├── install.bat # Instalador Windows
├── install.sh # Instalador Unix
└── README.md # Esta documentação
Tecnologias Utilizadas
- FastMCP: Framework para servidores MCP
- Requests: Cliente HTTP para Python
- JSON: Manipulação de dados estruturados
Contribuindo
- Fork o projeto
- Crie uma branch para sua feature
- Commit suas mudanças
- Abra um Pull Request
❓ Solução de Problemas
Erro "Módulo MCP não encontrado"
pip install mcp
Timeout na API do IBGE
O servidor possui timeout de 30 segundos. Reduza o escopo da consulta se necessário.
Limite de 100.000 valores excedido
Refine os filtros da consulta para reduzir o número de combinações.
📄 Licença
Este projeto é open source e está disponível sob a licença MIT.
🤝 Suporte
Para dúvidas e suporte:
- Consulte a documentação da API do IBGE
- Verifique os logs do servidor MCP
- Use a ferramenta de help:
mcp://ibge/help
Desenvolvido para facilitar o acesso aos dados oficiais do Brasil por LLMs 🇧🇷
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.