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 🇧🇷
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。