Skip to main content
Glama
Natal IBGE MCP Server

Natal IBGE MCP Server

by fabioff30

Natal IBGE MCP Server

O Natal IBGE MCP Server é um servidor implementado seguindo o padrão Model Context Protocol (MCP) da Anthropic. Ele disponibiliza a modelos de Inteligência Artificial (como Claude, GPT-4o, Gemini, etc.) acesso estruturado e direto a dados oficiais do Censo Demográfico 2022 e do PIB para a cidade de Natal (RN) — código IBGE 2408102.

O servidor combina consultas dinâmicas às APIs públicas agregadas do IBGE/SIDRA com dados extremamente granulares a nível de bairros fornecidos por planilhas locais preprocessadas, tornando-se uma ferramenta indispensável para análises econômicas, demográficas e habitacionais da capital potiguar.


Requisitos

  • Node.js (Versão recomendada: >= 18)

  • NPM (incluso com o Node)


Related MCP server: mcp-brasil

Instalação e Configuração

1. Clonar e Instalar o Servidor

Clone este repositório no seu computador e instale as dependências:

git clone <url-do-repositorio>
cd mcp-ibge-natal
npm install
npm run build

2. Adicionar ao Claude Desktop

Abra o arquivo de configuração do seu Claude Desktop (claude_desktop_config.json). No macOS, ele fica em: ~/Library/Application Support/Claude/claude_desktop_config.json

Adicione a seguinte configuração no objeto "mcpServers":

{
  "mcpServers": {
    "mcp-ibge-natal": {
      "command": "node",
      "args": ["/Users/fabiofariasfigueiroa/Desktop/mcp-ibge-natal/build/index.js"]
    }
  }
}

3. Adicionar ao Cursor IDE

  1. Abra o Cursor e vá nas configurações (Settings -> Features -> MCP).

  2. Clique em + Add New MCP Server.

  3. Configure os seguintes valores:

    • Name: mcp-ibge-natal

    • Type: stdio

    • Command: node "/Users/fabiofariasfigueiroa/Desktop/mcp-ibge-natal/build/index.js"

  4. Clique em Save.


Atualizar dados por bairro

Os arquivos CSV em data/ são gerados a partir de fontes públicas do IBGE, utilizando os scripts de extração disponíveis no projeto:

python3 scripts/extract_natal_bairros.py   # população, domicílios e esgotamento por bairro
python3 scripts/extract_natal_renda.py     # renda do responsável pelo domicílio por bairro

Requer Python 3 instalado na máquina.

Como os dados são provenientes do Censo 2022 (estáticos), não é necessário rodar os scripts novamente a menos que as fontes sejam atualizadas. Execute-os apenas quando houver uma nova versão dos dados de origem.

Sobre a renda por bairro: o dado granular é o rendimento do responsável pelo domicílio (chefe), do release IBGE "Agregados por Setores Censitários — Rendimento do Responsável". É um universo distinto da tool municipal get_average_income (que cobre todas as pessoas de 14+ anos ocupadas), portanto os números por bairro não são diretamente comparáveis com o municipal.


Ferramentas Disponíveis (MCP Tools)

Nome da Ferramenta

Descrição

Parâmetros

get_total_population

População total residente de Natal (Censo 2022).

Nenhum

get_population_by_age_group

Pirâmide/faixa etária com proporção (%) por faixa.

Nenhum

get_population_history

Série histórica das estimativas populacionais.

Nenhum

get_gdp_pib

PIB a preços correntes de Natal (2022).

Nenhum

compare_gdp_neighbors

Comparativo de PIB: Natal vs. Parnamirim, São Gonçalo do Amarante e Mossoró.

Nenhum

get_average_income

Renda nominal média e mediana mensal dos trabalhadores (Censo 2022).

Nenhum

get_households_count

Total de domicílios particulares permanentes ocupados.

Nenhum

get_density_area

Área territorial (km²) e densidade demográfica (hab/km²).

Nenhum

get_city_sanitation

Panorama do esgotamento sanitário do município.

Nenhum

get_literacy_rate

Taxa de alfabetização das pessoas de 15+ anos (Censo 2022).

Nenhum

list_neighborhoods

Lista os 36 bairros com população, área, densidade, moradores/dom. e renda média do responsável.

Nenhum

get_neighborhood_demographics

Demografia e ocupação de domicílios de um bairro.

query (nome ou código)

get_neighborhood_sanitation

Detalhamento do esgotamento e % de adequação por bairro.

query (nome ou código)

get_neighborhood_income

Renda média e mediana mensal do responsável pelo domicílio em um bairro, com ranking (Censo 2022).

query (nome ou código)

rank_neighborhoods_by_income

Ranqueia os bairros pela renda média do responsável (maiores ou menores).

order (top/bottom), limit

compare_neighborhoods

Tabelas comparativas lado a lado entre bairros (demografia, saneamento e renda).

bairros (array, mín. 2)


Exemplos de Perguntas

Depois de configurar o servidor MCP, você pode conversar com o assistente e fazer perguntas como:

  • "Qual o PIB de Natal comparado a Parnamirim, São Gonçalo do Amarante e Mossoró?"

  • "Como é a pirâmide etária de Natal?"

  • "Qual a taxa de alfabetização de Natal?"

  • "Quais os 3 bairros mais populosos de Natal e suas densidades?"

  • "Compare o saneamento (esgotamento adequado) entre Pajuçara e Lagoa Azul."

  • "Qual a média de moradores por domicílio no bairro Petrópolis?"

  • "Qual a renda do responsável pelo domicílio no bairro Tirol?"

  • "Quais os 5 bairros de Natal com menor renda do responsável?"

  • "Compare renda, saneamento e densidade entre Tirol e Guarapés."


Estrutura de Pastas

├── data/
│   ├── bairros_natal.csv                  # Dados demográficos locais por bairro
│   ├── esgotamento_por_bairro_natal.csv   # Dados de esgoto locais por bairro
│   └── renda_por_bairro_natal.csv         # Renda do responsável pelo domicílio por bairro
├── scripts/
│   ├── extract_natal_bairros.py           # Extração de população/domicílios/esgoto por bairro
│   ├── extract_natal_renda.py             # Extração da renda do responsável por bairro
│   └── verify.js                          # Script de verificação da integração MCP
├── src/
│   └── index.ts                           # Implementação principal do servidor MCP (TypeScript)
├── build/
│   └── index.js                           # Servidor compilado (JavaScript executável)
├── package.json                           # Dependências e scripts do projeto
├── tsconfig.json                          # Configuração do compilador TypeScript
└── README.md                              # Documentação de referência

Licença

Este projeto está licenciado sob a licença MIT. Desenvolvido para facilitar o acesso à informação pública e fomentar a cultura de Letramento de Dados.

Available Tools

16 tools
compare_gdp_neighborsA

Compara o PIB de Natal com municípios vizinhos da RM e Mossoró (2022).

Inputs: no named parameters.

compare_neighborhoodsB

Compara dados demográficos, habitacionais e de saneamento de múltiplos bairros de Natal.

Inputs: bairros (required).

get_average_incomeA

Obtém a renda nominal média e mediana mensal do trabalhador de 14 anos ou mais em Natal (Censo 2022).

Inputs: no named parameters.

get_city_sanitationA

Obtém o panorama geral de cobertura do esgotamento sanitário de Natal (Censo 2022).

Inputs: no named parameters.

get_density_areaB

Obtém a densidade demográfica (hab/km2) e a área territorial total (km2) de Natal (Censo 2022).

Inputs: no named parameters.

get_gdp_pibA

Obtém o Produto Interno Bruto (PIB) a preços correntes de Natal (2022).

Inputs: no named parameters.

get_households_countB

Obtém o número de domicílios particulares permanentes ocupados de Natal (Censo 2022).

Inputs: no named parameters.

get_literacy_rateA

Obtém a taxa de alfabetização das pessoas de 15 anos ou mais de idade em Natal (Censo 2022).

Inputs: no named parameters.

get_neighborhood_demographicsB

Obtém dados detalhados de demografia e domicílios (ocupados, vagos, uso ocasional) de um bairro específico de Natal.

Inputs: query (required).

get_neighborhood_incomeA

Obtém o rendimento nominal médio e mediano mensal do responsável pelo domicílio em um bairro específico de Natal (Censo 2022). Atenção: é a renda do responsável (chefe) do domicílio, universo distinto da renda municipal.

Inputs: query (required).

get_neighborhood_sanitationA

Obtém o detalhamento completo dos tipos de esgotamento sanitário e porcentagem de adequação de um bairro específico de Natal.

Inputs: query (required).

get_population_by_age_groupA

Obtém a população de Natal desaggregada por faixas etárias (Censo 2022).

Inputs: no named parameters.

get_population_historyA

Obtém a série histórica de estimativas populacionais de Natal dos últimos anos.

Inputs: no named parameters.

get_total_populationB

Obtém a população total residente de Natal (Censo 2022).

Inputs: no named parameters.

list_neighborhoodsA

Lista todos os 36 bairros de Natal com sua área, população total, densidade demográfica e número de domicílios.

Inputs: no named parameters.

rank_neighborhoods_by_incomeA

Ranqueia os bairros de Natal pela renda média mensal do responsável pelo domicílio (Censo 2022). Use order='top' para os mais ricos, 'bottom' para os mais pobres.

Inputs: order, limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 16 tools

    Disambiguation5/5

    Cada ferramenta tem um propósito claramente distinto: cidade vs. bairro, demografia vs. renda vs. saneamento vs. PIB. Não há sobreposição significativa entre as funções.

    Naming Consistency5/5

    Todas as ferramentas seguem o padrão verbo_substantivo (get_, list_, compare_, rank_) com snake_case consistente e verbos descritivos apropriados.

    Tool Count5/5

    Com 16 ferramentas, o conjunto cobre adequadamente os principais dados demográficos e econômicos de Natal sem ser excessivo ou muito enxuto.

    Completeness4/5

    O conjunto cobre os principais indicadores (população, renda, saneamento, PIB, alfabetização, domicílios, densidade) e inclui comparações. Faltam tópicos como emprego ou educação detalhada, mas o escopo é bem delimitado.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Connects AI agents to 28 Brazilian public APIs, providing over 200 tools to access data on economy, legislation, transparency, and the judiciary. It enables complex queries and cross-referencing of government datasets like IBGE, the Central Bank, and the National Congress through natural language.
      MIT