ab-ibge-mcp-server 1.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,24 +2,36 @@
2
2
 
3
3
  Servidor MCP (Model Context Protocol) para as **APIs públicas do IBGE**, permitindo que agentes de IA como Claude acessem dados estatísticos, geográficos e econômicos do Brasil em tempo real.
4
4
 
5
- ## Ferramentas Disponíveis (17 tools)
5
+ **✨ Versão 2.0.1** Agora com cache inteligente, API de Nomes e suporte multi-variável!
6
+
7
+ ---
8
+
9
+ **Sponsored by [Aeon Bridge Co.](https://aeonbridge.com)** 🌉
10
+ Building the future of AI-powered data integration.
11
+ Contact: [contact@aeonbridge.com](mailto:contact@aeonbridge.com)
12
+
13
+ ---
14
+
15
+ ## ✨ Ferramentas Disponíveis (27+ tools)
6
16
 
7
17
  ### 📍 Localidades
8
18
  | Tool | Descrição |
9
19
  |------|-----------|
10
20
  | `ibge_listar_regioes` | Lista as 5 regiões geográficas com seus estados |
11
21
  | `ibge_listar_estados` | Lista todos os 27 estados com sigla, ID e região |
12
- | `ibge_listar_municipios` | Lista municípios de um estado (com busca por nome) |
13
- | `ibge_buscar_municipio` | Busca município por ID IBGE (7 dígitos) |
22
+ | `ibge_listar_municipios` | Lista municípios de um estado (busca flexível sem acentos) |
23
+ | `ibge_buscar_municipio` | Busca município por nome em todo Brasil (suporta "Sao Paulo") |
14
24
 
15
25
  ### 📊 SIDRA (Sistema de Recuperação Automática)
16
26
  | Tool | Descrição |
17
27
  |------|-----------|
18
28
  | `ibge_sidra_pesquisar_tabelas` | Pesquisa tabelas por assunto (ex: "PIB", "agricultura") |
19
29
  | `ibge_sidra_metadados_tabela` | Metadados de uma tabela (variáveis, períodos, localidades) |
20
- | `ibge_sidra_consultar_tabela` | Consulta dados de qualquer tabela SIDRA |
30
+ | `ibge_sidra_consultar_tabela` | Consulta dados com **múltiplas variáveis** simultaneamente |
31
+ | `ibge_periodos_tabela` | Lista períodos disponíveis de uma tabela |
21
32
  | `ibge_ipca` | Inflação IPCA mensal com série histórica |
22
- | `ibge_pib_municipios` | PIB dos municípios ou estados |
33
+ | `ibge_pib_municipios` | PIB dos municípios (tabela 5938) |
34
+ | `ibge_pib_estados` | **NOVO** — PIB dos estados com ranking nacional |
23
35
 
24
36
  ### 📈 Indicadores Econômicos
25
37
  | Tool | Descrição |
@@ -27,13 +39,20 @@ Servidor MCP (Model Context Protocol) para as **APIs públicas do IBGE**, permit
27
39
  | `ibge_indicador_economico` | IPCA, IPCA acumulado, desemprego, rendimento, INPC |
28
40
  | `ibge_listar_indicadores` | Lista todos os indicadores disponíveis |
29
41
 
30
- ### 👥 Censo Demográfico 2022
42
+ ### 👥 Censo e População
31
43
  | Tool | Descrição |
32
44
  |------|-----------|
33
45
  | `ibge_populacao_municipio` | População de um município pelo Censo 2022 |
34
46
  | `ibge_populacao_estados` | Ranking de população de todos os estados |
35
47
  | `ibge_densidade_demografica` | Densidade demográfica (hab/km²) por estado |
36
48
  | `ibge_populacao_censo2022` | Dados populacionais do Censo com filtros avançados |
49
+ | `ibge_estimativas_populacionais` | **NOVO** — Estimativas anuais (2001-2024+) para municípios e estados |
50
+
51
+ ### 🏷️ API de Nomes (Censo)
52
+ | Tool | Descrição |
53
+ |------|-----------|
54
+ | `ibge_nomes_frequencia` | **NOVO** — Frequência histórica de um nome (ex: "João") por década |
55
+ | `ibge_nomes_ranking` | **NOVO** — Top 20 nomes mais populares do Brasil ou por UF |
37
56
 
38
57
  ### 🗺️ Malha e Notícias
39
58
  | Tool | Descrição |
@@ -104,25 +123,43 @@ Reinicie o Claude Desktop. O ícone 🔌 aparecerá indicando que o servidor est
104
123
  Usuário: "Qual o estado mais populoso do Brasil?"
105
124
  Agente: ibge_populacao_estados() → São Paulo com 44,4 milhões de habitantes (21,7% do total)
106
125
 
107
- Usuário: "Compare a inflação de 2023 e 2024 mês a mês"
126
+ Usuário: "Quantas pessoas se chamam Maria no Brasil?"
127
+ Agente: ibge_nomes_frequencia(nome="Maria") → 11,7 milhões de pessoas registradas
128
+
129
+ Usuário: "Quais os nomes masculinos mais populares na década de 1990?"
130
+ Agente: ibge_nomes_ranking(sexo="M", decada=1990) → Top 20 com frequência
131
+
132
+ Usuário: "Qual o PIB de São Paulo em 2021?"
133
+ Agente: ibge_pib_estados(ano=2021, uf_id=35) → R$ 2,7 trilhões (31% do PIB nacional)
134
+
135
+ Usuário: "População estimada do Brasil em 2024"
136
+ Agente: ibge_estimativas_populacionais(ano=2024, localidade="BR") → 212,6 milhões
137
+
138
+ Usuário: "Compare inflação de 2023 e 2024 mês a mês"
108
139
  Agente: ibge_indicador_economico(indicador="IPCA", periodos="202301-202412")
109
140
 
110
- Usuário: "Liste todas as cidades de SC com 'Floriano' no nome"
111
- Agente: ibge_listar_municipios(uf="SC", busca="Floriano")
141
+ Usuário: "Liste todas as cidades de SC com 'Floriano' (sem acento)"
142
+ Agente: ibge_listar_municipios(uf="SC", busca="Floriano") → Florianópolis encontrada!
143
+
144
+ Usuário: "Busque 'Sao Paulo' (sem acento)"
145
+ Agente: ibge_buscar_municipio(nome="Sao Paulo") → São Paulo-SP encontrado (normalização automática)
112
146
 
113
147
  Usuário: "Qual a densidade demográfica do DF vs SP?"
114
148
  Agente: ibge_densidade_demografica() → DF: 529.2 hab/km², SP: 177.3 hab/km²
115
149
 
116
- Usuário: "Me dados de PIB dos estados do Nordeste"
117
- Agente: ibge_sidra_consultar_tabela(tabela="5938", localidades="N3[21,22,23,24,25,26,27,28,29]")
150
+ Usuário: "Consulte IPCA e INPC simultaneamente"
151
+ Agente: ibge_sidra_consultar_tabela(tabela="1419", variaveis="63|44") → Múltiplas variáveis em uma chamada
118
152
  ```
119
153
 
120
- ## 🔧 Tecnologias
154
+ ## 🔧 Tecnologias e Performance
121
155
 
122
156
  - **TypeScript** com tipagem estrita
123
157
  - **MCP SDK** (@modelcontextprotocol/sdk)
124
158
  - **APIs do IBGE** — 100% públicas, sem autenticação necessária
125
159
  - **Zod** para validação de inputs
160
+ - **Cache in-memory** com TTL inteligente (até 7 dias para dados imutáveis)
161
+ - **Retry automático** com exponential backoff para maior confiabilidade
162
+ - **Busca sem acentos** — aceita "Sao Paulo", "Florianopolis", etc.
126
163
 
127
164
  ## 📚 APIs do IBGE Utilizadas
128
165
 
@@ -132,3 +169,26 @@ Agente: ibge_sidra_consultar_tabela(tabela="5938", localidades="N3[21,22,23,24,2
132
169
  | SIDRA | v3 | `servicodados.ibge.gov.br/api/v3/agregados` |
133
170
  | Malha Geográfica | v2 | `servicodados.ibge.gov.br/api/v2/malhas` |
134
171
  | Notícias | v3 | `servicodados.ibge.gov.br/api/v3/noticias` |
172
+
173
+ ## 🤝 Sponsorship
174
+
175
+ This project is proudly **sponsored by [Aeon Bridge Co.](https://aeonbridge.com)** 🌉
176
+
177
+ Aeon Bridge Co. is a technology company focused on building innovative solutions for AI-powered data integration and intelligent systems. We bridge the gap between complex data sources and modern AI agents, making information accessible and actionable.
178
+
179
+ **Learn more:** [https://aeonbridge.com](https://aeonbridge.com)
180
+ **Contact:** [contact@aeonbridge.com](mailto:contact@aeonbridge.com)
181
+
182
+ ---
183
+
184
+ ## 📄 License
185
+
186
+ MIT License - See [LICENSE](LICENSE) file for details.
187
+
188
+ ## 🙏 Contributing
189
+
190
+ Contributions are welcome! Please feel free to submit issues or pull requests.
191
+
192
+ ---
193
+
194
+ **Made with ❤️ by the Aeon Bridge team**
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ const malha_noticias_js_1 = require("./tools/malha-noticias.js");
9
9
  const indicadores_js_1 = require("./tools/indicadores.js");
10
10
  const censo_js_1 = require("./tools/censo.js");
11
11
  const cnae_js_1 = require("./tools/cnae.js");
12
+ const nomes_js_1 = require("./tools/nomes.js");
12
13
  const server = new mcp_js_1.McpServer({
13
14
  name: "ibge-mcp-server",
14
15
  version: "1.0.0",
@@ -19,10 +20,11 @@ const server = new mcp_js_1.McpServer({
19
20
  (0, indicadores_js_1.registerIndicadoresTools)(server);
20
21
  (0, censo_js_1.registerCensoTools)(server);
21
22
  (0, cnae_js_1.registerCnaeTools)(server);
23
+ (0, nomes_js_1.registerNomesTools)(server);
22
24
  async function main() {
23
25
  const transport = new stdio_js_1.StdioServerTransport();
24
26
  await server.connect(transport);
25
- console.error("✅ IBGE MCP Server iniciado — 22+ ferramentas disponíveis");
27
+ console.error("✅ IBGE MCP Server iniciado — 27+ ferramentas disponíveis");
26
28
  }
27
29
  main().catch((err) => {
28
30
  console.error("❌ Erro:", err);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,oEAAoE;AACpE,wEAAiF;AACjF,2DAAkE;AAClE,+CAAsD;AACtD,iEAAkE;AAClE,2DAAkE;AAClE,+CAAsD;AACtD,6CAAoD;AAEpD,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;IAC3B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,IAAA,yCAAwB,EAAC,MAAM,CAAC,CAAC;AACjC,IAAA,6BAAkB,EAAC,MAAM,CAAC,CAAC;AAC3B,IAAA,yCAAqB,EAAC,MAAM,CAAC,CAAC;AAC9B,IAAA,yCAAwB,EAAC,MAAM,CAAC,CAAC;AACjC,IAAA,6BAAkB,EAAC,MAAM,CAAC,CAAC;AAC3B,IAAA,2BAAiB,EAAC,MAAM,CAAC,CAAC;AAE1B,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC5E,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,oEAAoE;AACpE,wEAAiF;AACjF,2DAAkE;AAClE,+CAAsD;AACtD,iEAAkE;AAClE,2DAAkE;AAClE,+CAAsD;AACtD,6CAAoD;AACpD,+CAAsD;AAEtD,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;IAC3B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,IAAA,yCAAwB,EAAC,MAAM,CAAC,CAAC;AACjC,IAAA,6BAAkB,EAAC,MAAM,CAAC,CAAC;AAC3B,IAAA,yCAAqB,EAAC,MAAM,CAAC,CAAC;AAC9B,IAAA,yCAAwB,EAAC,MAAM,CAAC,CAAC;AACjC,IAAA,6BAAkB,EAAC,MAAM,CAAC,CAAC;AAC3B,IAAA,2BAAiB,EAAC,MAAM,CAAC,CAAC;AAC1B,IAAA,6BAAkB,EAAC,MAAM,CAAC,CAAC;AAE3B,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC5E,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ declare class SimpleCache {
2
+ private store;
3
+ get<T>(key: string): T | null;
4
+ set<T>(key: string, data: T, ttlMs: number): void;
5
+ clear(): void;
6
+ size(): number;
7
+ }
8
+ export declare const cache: SimpleCache;
9
+ export declare const TTL: {
10
+ readonly LOCALIDADES: number;
11
+ readonly NOMES: number;
12
+ readonly SIDRA_METADATA: number;
13
+ readonly SIDRA_DATA: number;
14
+ readonly INDICADORES: number;
15
+ readonly NOTICIAS: number;
16
+ };
17
+ export {};
18
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/services/cache.ts"],"names":[],"mappings":"AAQA,cAAM,WAAW;IACf,OAAO,CAAC,KAAK,CAA0C;IAEvD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAY7B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOjD,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,MAAM;CAGf;AAED,eAAO,MAAM,KAAK,aAAoB,CAAC;AAGvC,eAAO,MAAM,GAAG;;;;;;;CAON,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // services/cache.ts
3
+ // In-memory cache with TTL for IBGE API responses
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.TTL = exports.cache = void 0;
6
+ class SimpleCache {
7
+ store = new Map();
8
+ get(key) {
9
+ const entry = this.store.get(key);
10
+ if (!entry)
11
+ return null;
12
+ if (Date.now() > entry.expiresAt) {
13
+ this.store.delete(key);
14
+ return null;
15
+ }
16
+ return entry.data;
17
+ }
18
+ set(key, data, ttlMs) {
19
+ this.store.set(key, {
20
+ data,
21
+ expiresAt: Date.now() + ttlMs,
22
+ });
23
+ }
24
+ clear() {
25
+ this.store.clear();
26
+ }
27
+ size() {
28
+ return this.store.size;
29
+ }
30
+ }
31
+ exports.cache = new SimpleCache();
32
+ // TTL constants based on IBGE data update frequency
33
+ exports.TTL = {
34
+ LOCALIDADES: 24 * 60 * 60 * 1000, // 24 hours - rarely changes
35
+ NOMES: 7 * 24 * 60 * 60 * 1000, // 7 days - census data, never changes
36
+ SIDRA_METADATA: 6 * 60 * 60 * 1000, // 6 hours
37
+ SIDRA_DATA: 60 * 60 * 1000, // 1 hour - economic indicators update monthly
38
+ INDICADORES: 60 * 60 * 1000, // 1 hour
39
+ NOTICIAS: 30 * 60 * 1000, // 30 minutes
40
+ };
41
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/services/cache.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,kDAAkD;;;AAOlD,MAAM,WAAW;IACP,KAAK,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEvD,GAAG,CAAI,GAAW;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC,IAAS,CAAC;IACzB,CAAC;IAED,GAAG,CAAI,GAAW,EAAE,IAAO,EAAE,KAAa;QACxC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AAEY,QAAA,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;AAEvC,oDAAoD;AACvC,QAAA,GAAG,GAAG;IACjB,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAG,4BAA4B;IAC/D,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAK,sCAAsC;IACzE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU;IAC9C,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAU,8CAA8C;IAClF,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAS,SAAS;IAC7C,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAY,aAAa;CACzC,CAAC"}
@@ -8,7 +8,7 @@ export declare class IBGEApiError extends Error {
8
8
  readonly endpoint?: string | undefined;
9
9
  constructor(message: string, status?: number | undefined, endpoint?: string | undefined);
10
10
  }
11
- export declare function ibgeFetch<T>(url: string): Promise<T>;
11
+ export declare function ibgeFetch<T>(url: string, cacheTtl?: number): Promise<T>;
12
12
  export declare function formatToolError(err: unknown): string;
13
13
  export declare function truncateIfNeeded(text: string, maxChars?: number): string;
14
14
  //# sourceMappingURL=ibge-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ibge-client.d.ts","sourceRoot":"","sources":["../../src/services/ibge-client.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,qBAAa,YAAa,SAAQ,KAAK;aAGnB,MAAM,CAAC,EAAE,MAAM;aACf,QAAQ,CAAC,EAAE,MAAM;gBAFjC,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,QAAQ,CAAC,EAAE,MAAM,YAAA;CAKpC;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAkC1D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKpD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,MAAM,CAMvE"}
1
+ {"version":3,"file":"ibge-client.d.ts","sourceRoot":"","sources":["../../src/services/ibge-client.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,qBAAa,YAAa,SAAQ,KAAK;aAGnB,MAAM,CAAC,EAAE,MAAM;aACf,QAAQ,CAAC,EAAE,MAAM;gBAFjC,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,QAAQ,CAAC,EAAE,MAAM,YAAA;CAKpC;AA0ED,wBAAsB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAkB7E;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKpD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,MAAM,CAMvE"}
@@ -6,6 +6,7 @@ exports.IBGEApiError = exports.IBGE_API = void 0;
6
6
  exports.ibgeFetch = ibgeFetch;
7
7
  exports.formatToolError = formatToolError;
8
8
  exports.truncateIfNeeded = truncateIfNeeded;
9
+ const cache_js_1 = require("./cache.js");
9
10
  exports.IBGE_API = {
10
11
  v1: "https://servicodados.ibge.gov.br/api/v1",
11
12
  v2: "https://servicodados.ibge.gov.br/api/v2",
@@ -22,30 +23,73 @@ class IBGEApiError extends Error {
22
23
  }
23
24
  }
24
25
  exports.IBGEApiError = IBGEApiError;
25
- async function ibgeFetch(url) {
26
- const controller = new AbortController();
27
- const timeout = setTimeout(() => controller.abort(), 15000);
28
- try {
29
- const response = await fetch(url, {
30
- signal: controller.signal,
31
- headers: { Accept: "application/json" },
32
- });
33
- clearTimeout(timeout);
34
- if (!response.ok) {
35
- throw new IBGEApiError(`IBGE API retornou status ${response.status}: ${response.statusText}`, response.status, url);
26
+ async function sleep(ms) {
27
+ return new Promise((resolve) => setTimeout(resolve, ms));
28
+ }
29
+ async function fetchWithRetry(url, retries = 3, baseDelay = 500) {
30
+ let lastError;
31
+ for (let attempt = 0; attempt < retries; attempt++) {
32
+ const controller = new AbortController();
33
+ const timeout = setTimeout(() => controller.abort(), 15000);
34
+ try {
35
+ const response = await fetch(url, {
36
+ signal: controller.signal,
37
+ headers: { Accept: "application/json" },
38
+ });
39
+ clearTimeout(timeout);
40
+ // Retry on 503/504 (server errors)
41
+ if (response.status === 503 || response.status === 504) {
42
+ if (attempt < retries - 1) {
43
+ const delay = baseDelay * Math.pow(2, attempt);
44
+ await sleep(delay);
45
+ continue;
46
+ }
47
+ }
48
+ if (!response.ok) {
49
+ throw new IBGEApiError(`IBGE API retornou status ${response.status}: ${response.statusText}`, response.status, url);
50
+ }
51
+ const data = (await response.json());
52
+ return data;
53
+ }
54
+ catch (err) {
55
+ clearTimeout(timeout);
56
+ if (err instanceof IBGEApiError) {
57
+ lastError = err;
58
+ if (err.status !== 503 && err.status !== 504) {
59
+ throw err; // Don't retry on non-retryable errors
60
+ }
61
+ }
62
+ else if (err instanceof Error && err.name === "AbortError") {
63
+ lastError = new IBGEApiError("Timeout: a API do IBGE demorou mais de 15s", undefined, url);
64
+ }
65
+ else {
66
+ lastError = new IBGEApiError(`Erro ao conectar com a API do IBGE: ${err instanceof Error ? err.message : String(err)}`, undefined, url);
67
+ }
68
+ // If not last attempt and error is retryable, continue
69
+ if (attempt < retries - 1) {
70
+ const delay = baseDelay * Math.pow(2, attempt);
71
+ await sleep(delay);
72
+ continue;
73
+ }
36
74
  }
37
- const data = (await response.json());
38
- return data;
39
75
  }
40
- catch (err) {
41
- clearTimeout(timeout);
42
- if (err instanceof IBGEApiError)
43
- throw err;
44
- if (err instanceof Error && err.name === "AbortError") {
45
- throw new IBGEApiError("Timeout: a API do IBGE demorou mais de 15s", undefined, url);
76
+ throw lastError || new IBGEApiError("Erro desconhecido após retries", undefined, url);
77
+ }
78
+ async function ibgeFetch(url, cacheTtl) {
79
+ // Check cache first if TTL is provided
80
+ if (cacheTtl !== undefined) {
81
+ const cached = cache_js_1.cache.get(url);
82
+ if (cached !== null) {
83
+ return cached;
46
84
  }
47
- throw new IBGEApiError(`Erro ao conectar com a API do IBGE: ${err instanceof Error ? err.message : String(err)}`, undefined, url);
48
85
  }
86
+ // Fetch with retry
87
+ const data = await fetchWithRetry(url);
88
+ // Store in cache if TTL is provided
89
+ if (cacheTtl !== undefined) {
90
+ cache_js_1.cache.set(url, data, cacheTtl);
91
+ }
92
+ return data;
49
93
  }
50
94
  function formatToolError(err) {
51
95
  if (err instanceof IBGEApiError) {
@@ -1 +1 @@
1
- {"version":3,"file":"ibge-client.js","sourceRoot":"","sources":["../../src/services/ibge-client.ts"],"names":[],"mappings":";AAAA,0BAA0B;AAC1B,uDAAuD;;;AAmBvD,8BAkCC;AAED,0CAKC;AAED,4CAMC;AAlEY,QAAA,QAAQ,GAAG;IACtB,EAAE,EAAE,yCAAyC;IAC7C,EAAE,EAAE,yCAAyC;IAC7C,EAAE,EAAE,yCAAyC;CACrC,CAAC;AAEX,MAAa,YAAa,SAAQ,KAAK;IAGnB;IACA;IAHlB,YACE,OAAe,EACC,MAAe,EACf,QAAiB;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,WAAM,GAAN,MAAM,CAAS;QACf,aAAQ,GAAR,QAAQ,CAAS;QAGjC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AATD,oCASC;AAEM,KAAK,UAAU,SAAS,CAAI,GAAW;IAC5C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACxC,CAAC,CAAC;QAEH,YAAY,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CACpB,4BAA4B,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,EACrE,QAAQ,CAAC,MAAM,EACf,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,GAAG,YAAY,YAAY;YAAE,MAAM,GAAG,CAAC;QAC3C,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACtD,MAAM,IAAI,YAAY,CAAC,4CAA4C,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,uCAAuC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACzF,SAAS,EACT,GAAG,CACJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,GAAY;IAC1C,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;QAChC,OAAO,wBAAwB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACnG,CAAC;IACD,OAAO,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAY,EAAE,QAAQ,GAAG,KAAK;IAC7D,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;QACvB,qDAAqD,IAAI,CAAC,MAAM,iEAAiE,CAClI,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ibge-client.js","sourceRoot":"","sources":["../../src/services/ibge-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"censo.d.ts","sourceRoot":"","sources":["../../src/tools/censo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkBpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiJ1D"}
1
+ {"version":3,"file":"censo.d.ts","sourceRoot":"","sources":["../../src/tools/censo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqO1D"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerCensoTools = registerCensoTools;
4
4
  const zod_1 = require("zod");
5
5
  const ibge_client_js_1 = require("../services/ibge-client.js");
6
+ const cache_js_1 = require("../services/cache.js");
6
7
  function formatNum(v) {
7
8
  return v.toLocaleString("pt-BR");
8
9
  }
@@ -68,7 +69,7 @@ Retorna ranking de população com % do total nacional.`,
68
69
  }, async ({ uf_id }) => {
69
70
  try {
70
71
  const localidade = uf_id ? `N3[${uf_id}]` : "N3[all]";
71
- const url = `${ibge_client_js_1.IBGE_API.v3}/agregados/9514/periodos/2022/variaveis/93?localidades=${localidade}&view=flat`;
72
+ const url = `${ibge_client_js_1.IBGE_API.v3}/agregados/9514/periodos/2022/variaveis/93?localidades=${localidade}`;
72
73
  const dados = await (0, ibge_client_js_1.ibgeFetch)(url);
73
74
  const series = getSerie(dados);
74
75
  if (series.length === 0)
@@ -106,8 +107,8 @@ Retorna população, área em km² e densidade por estado, ordenados por densida
106
107
  try {
107
108
  const localidade = uf_id ? `N3[${uf_id}]` : "N3[all]";
108
109
  const [dadosPop, dadosArea] = await Promise.all([
109
- (0, ibge_client_js_1.ibgeFetch)(`${ibge_client_js_1.IBGE_API.v3}/agregados/9514/periodos/2022/variaveis/93?localidades=${localidade}&view=flat`),
110
- (0, ibge_client_js_1.ibgeFetch)(`${ibge_client_js_1.IBGE_API.v3}/agregados/9517/periodos/2022/variaveis/82?localidades=${localidade}&view=flat`).catch(() => []),
110
+ (0, ibge_client_js_1.ibgeFetch)(`${ibge_client_js_1.IBGE_API.v3}/agregados/9514/periodos/2022/variaveis/93?localidades=${localidade}`),
111
+ (0, ibge_client_js_1.ibgeFetch)(`${ibge_client_js_1.IBGE_API.v3}/agregados/9517/periodos/2022/variaveis/82?localidades=${localidade}`).catch(() => []),
111
112
  ]);
112
113
  const pop = getSerie(dadosPop);
113
114
  const area = getSerie(dadosArea);
@@ -132,5 +133,76 @@ Retorna população, área em km² e densidade por estado, ordenados por densida
132
133
  return { content: [{ type: "text", text: (0, ibge_client_js_1.formatToolError)(err) }] };
133
134
  }
134
135
  });
136
+ server.registerTool("ibge_estimativas_populacionais", {
137
+ title: "Estimativas Populacionais Anuais",
138
+ description: `Consulta estimativas de população para anos entre censos (2001-2024+).
139
+ As estimativas são usadas pelo TCU para repasse de verbas e são atualizadas anualmente.
140
+
141
+ Args:
142
+ - ano (obrigatório): Ano da estimativa (ex: 2024, 2023, 2022...)
143
+ - localidade (opcional): "BR" (Brasil), "estados" (todos estados), ou código IBGE específico
144
+ - municipio_id (opcional): Código IBGE de 7 dígitos para consulta de município específico
145
+
146
+ Use para dados mais recentes que o Censo 2022 ou para anos intermediários.
147
+ Exemplo: População estimada de 2024, população de município não finalizado no censo.`,
148
+ inputSchema: zod_1.z.object({
149
+ ano: zod_1.z.number().int().min(2001).max(2030).describe("Ano da estimativa"),
150
+ localidade: zod_1.z.enum(["BR", "estados"]).optional().describe("BR=Brasil, estados=todos estados"),
151
+ municipio_id: zod_1.z.number().int().positive().optional().describe("Código IBGE do município (7 dígitos)"),
152
+ }),
153
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
154
+ }, async (args) => {
155
+ try {
156
+ const { ano, localidade, municipio_id } = args;
157
+ let nivel = "N1[all]"; // Brasil por padrão
158
+ if (localidade === "estados") {
159
+ nivel = "N3[all]";
160
+ }
161
+ else if (municipio_id) {
162
+ nivel = `N6[${municipio_id}]`;
163
+ }
164
+ const url = `${ibge_client_js_1.IBGE_API.v3}/agregados/6579/periodos/${ano}/variaveis/9324?localidades=${nivel}`;
165
+ const dados = await (0, ibge_client_js_1.ibgeFetch)(url, cache_js_1.TTL.SIDRA_DATA);
166
+ const series = getSerie(dados);
167
+ if (series.length === 0) {
168
+ return {
169
+ content: [{
170
+ type: "text",
171
+ text: `Dados não encontrados para o ano ${ano}.\n\nVerifique se o ano está disponível na base do IBGE (geralmente 2001-2024).`
172
+ }]
173
+ };
174
+ }
175
+ if (municipio_id || localidade === undefined) {
176
+ // Resultado único
177
+ const item = series[0];
178
+ return {
179
+ content: [{
180
+ type: "text",
181
+ text: `## ${item.nome} — Estimativa ${ano}\n\n**População estimada:** ${formatNum(item.valor)} habitantes\n\n_Fonte: IBGE Estimativas de População (Tabela 6579)_`
182
+ }]
183
+ };
184
+ }
185
+ // Múltiplas localidades
186
+ const total = series.reduce((acc, s) => acc + s.valor, 0);
187
+ series.sort((a, b) => b.valor - a.valor);
188
+ const linhas = series.map((s, i) => {
189
+ const pct = localidade === "estados" ? ` (${((s.valor / total) * 100).toFixed(2)}%)` : "";
190
+ return `${i + 1}. **${s.nome}**: ${formatNum(s.valor)} hab${pct}`;
191
+ });
192
+ const titulo = localidade === "estados" ? "por Estado" : "Brasil";
193
+ return {
194
+ content: [{
195
+ type: "text",
196
+ text: (0, ibge_client_js_1.truncateIfNeeded)(`## Estimativa de População ${titulo} — ${ano}\n\n` +
197
+ (localidade === "estados" ? `**Brasil:** ${formatNum(total)} habitantes\n\n` : "") +
198
+ linhas.join("\n") +
199
+ `\n\n_Fonte: IBGE Estimativas de População (Tabela 6579)_`)
200
+ }]
201
+ };
202
+ }
203
+ catch (err) {
204
+ return { content: [{ type: "text", text: (0, ibge_client_js_1.formatToolError)(err) }] };
205
+ }
206
+ });
135
207
  }
136
208
  //# sourceMappingURL=censo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"censo.js","sourceRoot":"","sources":["../../src/tools/censo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"censo.js","sourceRoot":"","sources":["../../src/tools/censo.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ exports.registerIndicadoresTools = registerIndicadoresTools;
4
4
  const zod_1 = require("zod");
5
5
  const ibge_client_js_1 = require("../services/ibge-client.js");
6
6
  const INDICADORES = {
7
- IPCA: { tabela: "1737", variavel: "63", nome: "IPCA - Variação Mensal", unidade: "%" },
8
- IPCA_ACUMULADO: { tabela: "1737", variavel: "69", nome: "IPCA - Acumulado 12 meses", unidade: "%" },
7
+ IPCA: { tabela: "1419", variavel: "63", nome: "IPCA - Variação Mensal", unidade: "%" },
8
+ IPCA_ACUMULADO: { tabela: "1419", variavel: "2266", nome: "IPCA - Acumulado 12 meses", unidade: "%" },
9
9
  DESEMPREGO: { tabela: "6381", variavel: "4099", nome: "PNAD - Taxa de Desocupação", unidade: "%" },
10
10
  RENDIMENTO: { tabela: "6403", variavel: "5929", nome: "PNAD - Rendimento Médio per capita", unidade: "R$" },
11
11
  INPC: { tabela: "1736", variavel: "44", nome: "INPC - Variação Mensal", unidade: "%" },
@@ -1 +1 @@
1
- {"version":3,"file":"indicadores.js","sourceRoot":"","sources":["../../src/tools/indicadores.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indicadores.js","sourceRoot":"","sources":["../../src/tools/indicadores.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"localidades.d.ts","sourceRoot":"","sources":["../../src/tools/localidades.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4HhE"}
1
+ {"version":3,"file":"localidades.d.ts","sourceRoot":"","sources":["../../src/tools/localidades.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoIhE"}
@@ -75,8 +75,12 @@ Retorna: id (7 dígitos), nome, microrregião. Use o id em consultas SIDRA de mu
75
75
  const uf_nome = municipios[0]?.microrregiao?.mesorregiao?.UF?.nome ?? uf;
76
76
  let lista = municipios.map((m) => municipioToSimples(m, uf_sigla, uf_nome));
77
77
  if (nome_filtro) {
78
- const f = nome_filtro.toLowerCase();
79
- lista = lista.filter((m) => m.nome.toLowerCase().includes(f));
78
+ // Normalizar acentos para busca flexível (São Paulo = Sao Paulo)
79
+ const filtroNorm = nome_filtro.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "");
80
+ lista = lista.filter((m) => {
81
+ const nomeNorm = m.nome.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "");
82
+ return nomeNorm.includes(filtroNorm);
83
+ });
80
84
  }
81
85
  lista.sort((a, b) => a.nome.localeCompare(b.nome));
82
86
  const texto = lista.map((m) => `• [${m.id}] ${m.nome}${m.microrregiao ? ` (${m.microrregiao})` : ""}`).join("\n");
@@ -105,9 +109,13 @@ Retorna: código IBGE, nome, UF, mesorregião de todos os municípios encontrado
105
109
  ? `${ibge_client_js_1.IBGE_API.v1}/localidades/estados/${uf}/municipios`
106
110
  : `${ibge_client_js_1.IBGE_API.v1}/localidades/municipios`;
107
111
  const municipios = await (0, ibge_client_js_1.ibgeFetch)(url);
108
- const filtro = nome.toLowerCase();
112
+ // Normalizar acentos para busca flexível (São Paulo = Sao Paulo)
113
+ const filtroNorm = nome.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "");
109
114
  const encontrados = municipios
110
- .filter((m) => m.nome.toLowerCase().includes(filtro))
115
+ .filter((m) => {
116
+ const nomeNorm = m.nome.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "");
117
+ return nomeNorm.includes(filtroNorm);
118
+ })
111
119
  .map((m) => municipioToSimples(m))
112
120
  .sort((a, b) => a.nome.localeCompare(b.nome));
113
121
  if (encontrados.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"localidades.js","sourceRoot":"","sources":["../../src/tools/localidades.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localidades.js","sourceRoot":"","sources":["../../src/tools/localidades.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerNomesTools(server: McpServer): void;
3
+ //# sourceMappingURL=nomes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nomes.d.ts","sourceRoot":"","sources":["../../src/tools/nomes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4BpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6J1D"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ // tools/nomes.ts — API de Nomes do Censo (frequência histórica e rankings)
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.registerNomesTools = registerNomesTools;
5
+ const zod_1 = require("zod");
6
+ const ibge_client_js_1 = require("../services/ibge-client.js");
7
+ const cache_js_1 = require("../services/cache.js");
8
+ function registerNomesTools(server) {
9
+ server.registerTool("ibge_nomes_frequencia", {
10
+ title: "Frequência Histórica de Nomes",
11
+ description: `Retorna a frequência de um nome próprio no Brasil por década desde 1930.
12
+ Args:
13
+ - nome (obrigatório): Nome próprio a pesquisar (ex: "João", "Maria")
14
+ - localidade (opcional): Código IBGE ou "BR" para Brasil (padrão: BR)
15
+ - sexo (opcional): "M" para masculino, "F" para feminino, null para ambos
16
+
17
+ Retorna dados do Censo com frequência por período (década).
18
+ Exemplo: "Quantas pessoas se chamam João no Brasil?"`,
19
+ inputSchema: zod_1.z.object({
20
+ nome: zod_1.z.string().min(2).describe("Nome próprio a pesquisar"),
21
+ localidade: zod_1.z.string().optional().describe("Código IBGE ou BR para Brasil"),
22
+ sexo: zod_1.z.enum(["M", "F"]).optional().describe("M=masculino, F=feminino"),
23
+ }),
24
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
25
+ }, async (args) => {
26
+ try {
27
+ const { nome, localidade = "BR", sexo } = args;
28
+ const nomeNormalizado = nome.trim().toLowerCase();
29
+ const nomeCapitalizado = nomeNormalizado.charAt(0).toUpperCase() + nomeNormalizado.slice(1);
30
+ let url = `${ibge_client_js_1.IBGE_API.v2}/censos/nomes/${encodeURIComponent(nomeNormalizado)}`;
31
+ const params = new URLSearchParams();
32
+ if (localidade && localidade !== "BR") {
33
+ params.append("localidade", localidade);
34
+ }
35
+ if (sexo) {
36
+ params.append("sexo", sexo);
37
+ }
38
+ if (params.toString()) {
39
+ url += `?${params.toString()}`;
40
+ }
41
+ const dados = await (0, ibge_client_js_1.ibgeFetch)(url, cache_js_1.TTL.NOMES);
42
+ if (!dados || dados.length === 0) {
43
+ return {
44
+ content: [{
45
+ type: "text",
46
+ text: `Nome "${nomeCapitalizado}" não encontrado nos dados do Censo.\n\nVerifique:\n- Grafia correta\n- Nomes compostos devem ser consultados separadamente\n- A base contém nomes registrados no Brasil desde 1930`
47
+ }]
48
+ };
49
+ }
50
+ let totalPessoas = 0;
51
+ const periodos = [];
52
+ for (const registro of dados) {
53
+ for (const item of registro.res) {
54
+ totalPessoas += item.frequencia;
55
+ const inicio = item.periodo.substring(0, 4);
56
+ const fim = item.periodo.substring(5, 9);
57
+ periodos.push(` • ${inicio}-${fim}: ${item.frequencia.toLocaleString("pt-BR")} pessoas`);
58
+ }
59
+ }
60
+ const sexoText = sexo === "M" ? " (masculino)" : sexo === "F" ? " (feminino)" : "";
61
+ const localidadeText = localidade === "BR" ? "Brasil" : `localidade ${localidade}`;
62
+ const resultado = `**Nome: ${nomeCapitalizado}${sexoText}**
63
+ **Total**: ${totalPessoas.toLocaleString("pt-BR")} pessoas registradas (${localidadeText})
64
+
65
+ **Frequência por década**:
66
+ ${periodos.join("\n")}
67
+
68
+ _Fonte: Censo Demográfico IBGE_`;
69
+ return { content: [{ type: "text", text: resultado }] };
70
+ }
71
+ catch (err) {
72
+ return { content: [{ type: "text", text: (0, ibge_client_js_1.formatToolError)(err) }] };
73
+ }
74
+ });
75
+ server.registerTool("ibge_nomes_ranking", {
76
+ title: "Ranking de Nomes Mais Populares",
77
+ description: `Retorna os nomes mais populares do Brasil ou de uma localidade específica.
78
+ Args:
79
+ - localidade (opcional): Código IBGE de estado/município ou "BR" para Brasil (padrão: BR)
80
+ - sexo (opcional): "M" para masculino, "F" para feminino, null para ambos
81
+ - decada (opcional): Década específica (ex: 1990, 2000, 2010)
82
+
83
+ Retorna ranking com nome, frequência e posição.
84
+ Exemplo: "Quais os nomes mais comuns no Brasil?"`,
85
+ inputSchema: zod_1.z.object({
86
+ localidade: zod_1.z.string().optional().describe("Código IBGE ou BR"),
87
+ sexo: zod_1.z.enum(["M", "F"]).optional().describe("M=masculino, F=feminino"),
88
+ decada: zod_1.z.number().int().min(1930).max(2010).multipleOf(10).optional()
89
+ .describe("Década (1930, 1940, ..., 2010)"),
90
+ }),
91
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
92
+ }, async (args) => {
93
+ try {
94
+ const { localidade = "BR", sexo, decada } = args;
95
+ let url = `${ibge_client_js_1.IBGE_API.v2}/censos/nomes/ranking`;
96
+ const params = new URLSearchParams();
97
+ if (localidade && localidade !== "BR") {
98
+ params.append("localidade", localidade);
99
+ }
100
+ if (sexo) {
101
+ params.append("sexo", sexo);
102
+ }
103
+ if (decada) {
104
+ params.append("decada", decada.toString());
105
+ }
106
+ if (params.toString()) {
107
+ url += `?${params.toString()}`;
108
+ }
109
+ const response = await (0, ibge_client_js_1.ibgeFetch)(url, cache_js_1.TTL.NOMES);
110
+ if (!response || response.length === 0 || !response[0].res || response[0].res.length === 0) {
111
+ return {
112
+ content: [{
113
+ type: "text",
114
+ text: "Nenhum dado de ranking encontrado para os parâmetros especificados."
115
+ }]
116
+ };
117
+ }
118
+ const ranking = response[0].res;
119
+ const top20 = ranking.slice(0, 20);
120
+ const lista = top20.map((item, idx) => {
121
+ const pos = (idx + 1).toString().padStart(2, " ");
122
+ const freq = item.frequencia !== undefined && item.frequencia !== null
123
+ ? item.frequencia.toLocaleString("pt-BR")
124
+ : "N/D";
125
+ return ` ${pos}. ${item.nome} — ${freq} pessoas`;
126
+ }).join("\n");
127
+ const sexoText = sexo === "M" ? " masculinos" : sexo === "F" ? " femininos" : "";
128
+ const localidadeText = localidade === "BR" ? "Brasil" : `localidade ${localidade}`;
129
+ const decadaText = decada ? ` (década de ${decada})` : "";
130
+ const resultado = `**Ranking de nomes${sexoText} mais populares**
131
+ **Localidade**: ${localidadeText}${decadaText}
132
+
133
+ **Top 20**:
134
+ ${lista}
135
+
136
+ ${ranking.length > 20 ? `_Mostrando 20 de ${ranking.length} nomes disponíveis_\n` : ""}_Fonte: Censo Demográfico IBGE_`;
137
+ return { content: [{ type: "text", text: resultado }] };
138
+ }
139
+ catch (err) {
140
+ return { content: [{ type: "text", text: (0, ibge_client_js_1.formatToolError)(err) }] };
141
+ }
142
+ });
143
+ }
144
+ //# sourceMappingURL=nomes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nomes.js","sourceRoot":"","sources":["../../src/tools/nomes.ts"],"names":[],"mappings":";AAAA,2EAA2E;;AA8B3E,gDA6JC;AAxLD,6BAAwB;AACxB,+DAAkF;AAClF,mDAA2C;AAyB3C,SAAgB,kBAAkB,CAAC,MAAiB;IAClD,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,+BAA+B;QACtC,WAAW,EAAE;;;;;;;qDAOkC;QAC/C,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC5D,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC3E,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SACxE,CAAC;QACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;KACxG,EACD,KAAK,EAAE,IAAI,EAAyB,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE5F,IAAI,GAAG,GAAG,GAAG,yBAAQ,CAAC,EAAE,iBAAiB,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/E,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,UAAU,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtB,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjC,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAS,EAAmB,GAAG,EAAE,cAAG,CAAC,KAAK,CAAC,CAAC;YAEhE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,SAAS,gBAAgB,qLAAqL;yBACrN,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC7B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;oBAChC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC;oBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzC,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,MAAM,cAAc,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,UAAU,EAAE,CAAC;YAEnF,MAAM,SAAS,GAAG,WAAW,gBAAgB,GAAG,QAAQ;aACnD,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,cAAc;;;EAGtF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;gCAEW,CAAC;YAEzB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,gCAAe,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACrE,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,iCAAiC;QACxC,WAAW,EAAE;;;;;;;iDAO8B;QAC3C,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC/D,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACvE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;iBACnE,QAAQ,CAAC,gCAAgC,CAAC;SAC9C,CAAC;QACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;KACxG,EACD,KAAK,EAAE,IAAI,EAAyB,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAEjD,IAAI,GAAG,GAAG,GAAG,yBAAQ,CAAC,EAAE,uBAAuB,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,UAAU,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtB,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAS,EAAwB,GAAG,EAAE,cAAG,CAAC,KAAK,CAAC,CAAC;YAExE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3F,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,qEAAqE;yBAC5E,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACpC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;oBACpE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC;oBACzC,CAAC,CAAC,KAAK,CAAC;gBACV,OAAO,KAAK,GAAG,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,UAAU,CAAC;YACpD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,QAAQ,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,cAAc,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,UAAU,EAAE,CAAC;YACnF,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAE1D,MAAM,SAAS,GAAG,qBAAqB,QAAQ;kBACrC,cAAc,GAAG,UAAU;;;EAG3C,KAAK;;EAEL,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,CAAC,EAAE,iCAAiC,CAAC;YAEhH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,gCAAe,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACrE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sidra.d.ts","sourceRoot":"","sources":["../../src/tools/sidra.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwGpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4d1D"}
1
+ {"version":3,"file":"sidra.d.ts","sourceRoot":"","sources":["../../src/tools/sidra.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyGpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmkB1D"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.registerSidraTools = registerSidraTools;
5
5
  const zod_1 = require("zod");
6
6
  const ibge_client_js_1 = require("../services/ibge-client.js");
7
+ const cache_js_1 = require("../services/cache.js");
7
8
  const LOCALIDADES_COMUNS = {
8
9
  BR: "N1[all]",
9
10
  REGIOES: "N2[all]",
@@ -298,7 +299,7 @@ FLUXO RECOMENDADO para tabelas desconhecidas:
298
299
 
299
300
  Args:
300
301
  - tabela_id: código da tabela
301
- - variavel (opcional): ID da variável (veja em metadados). Sem valor = todas.
302
+ - variaveis (opcional): ID(s) da(s) variável(is) separados por pipe "|" (ex: "93|94|95"). Sem valor = todas.
302
303
  - localidade: "BR", "ESTADOS", "REGIOES", 2 dígitos=estado (ex:"35"), 7 dígitos=município
303
304
  - periodo: "last"=mais recente, "-6"=últimos 6, "-12"=últimos 12, "AAAA"=ano específico
304
305
  Use ibge_periodos_tabela para ver períodos válidos e evitar HTTP 500.
@@ -309,16 +310,16 @@ Args:
309
310
  Tabelas populares: 9514=Censo2022 pop, 9543=Censo2022 alfabetização, 5938=PIB Municipal, 1419=IPCA, 6381=PNAD Desocupação`,
310
311
  inputSchema: zod_1.z.object({
311
312
  tabela_id: zod_1.z.string().describe("Código da tabela SIDRA"),
312
- variavel: zod_1.z.string().optional().describe("Código da variável (sem valor = todas)"),
313
+ variaveis: zod_1.z.string().optional().describe("Código(s) da(s) variável(is) separados por pipe '|' (ex: '93|94|95')"),
313
314
  localidade: zod_1.z.string().default("BR").describe("BR, ESTADOS, REGIOES, código de estado (2 dígitos) ou município (7 dígitos)"),
314
315
  periodo: zod_1.z.string().default("last").describe("last, last[N], AAAA, AAAAMM"),
315
316
  classificacao: zod_1.z.string().optional().describe("Filtro de classificação no formato 'ID[cats]'"),
316
317
  }),
317
318
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
318
- }, async ({ tabela_id, variavel, localidade, periodo, classificacao }) => {
319
+ }, async ({ tabela_id, variaveis, localidade, periodo, classificacao }) => {
319
320
  try {
320
321
  const codigoLocalidade = resolverLocalidade(localidade);
321
- const variavelStr = variavel ?? "allxp";
322
+ const variavelStr = variaveis ?? "allxp";
322
323
  // Normalizar formato do período:
323
324
  // last[N] → last N (SIDRA usa espaço não colchetes)
324
325
  // -N → last N (shorthand da API: -6 = últimos 6)
@@ -331,7 +332,7 @@ Tabelas populares: 9514=Censo2022 pop, 9543=Censo2022 alfabetização, 5938=PIB
331
332
  let url = `${ibge_client_js_1.IBGE_API.v3}/agregados/${tabela_id}/periodos/${periodoNorm}/variaveis/${variavelStr}?localidades=${codigoLocalidade}`;
332
333
  if (classificacao)
333
334
  url += `&classificacao=${classificacao}`;
334
- const dados = await (0, ibge_client_js_1.ibgeFetch)(url);
335
+ const dados = await (0, ibge_client_js_1.ibgeFetch)(url, cache_js_1.TTL.SIDRA_DATA);
335
336
  if (!dados?.length)
336
337
  return { content: [{ type: "text", text: `Nenhum dado encontrado para a tabela ${tabela_id}.` }] };
337
338
  const resultado = formatarResultadoSidra(dados);
@@ -346,6 +347,7 @@ Tabelas populares: 9514=Censo2022 pop, 9543=Censo2022 alfabetização, 5938=PIB
346
347
  description: `Consulta o IPCA — principal indicador de inflação do Brasil.
347
348
  Args:
348
349
  - ultimos_meses: número de meses a retornar (1-60, padrão: 12)
350
+ IMPORTANTE: para tipos "acumulada_ano" ou "acumulada_12_meses", retorna apenas os N períodos mais recentes
349
351
  - tipo: "variacao_mensal" (padrão), "variacao_acumulada_ano", "variacao_acumulada_12_meses"
350
352
  Retorna: série histórica com variação percentual por mês.`,
351
353
  inputSchema: zod_1.z.object({
@@ -356,8 +358,10 @@ Retorna: série histórica com variação percentual por mês.`,
356
358
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: false, openWorldHint: false },
357
359
  }, async ({ ultimos_meses, tipo }) => {
358
360
  try {
359
- const varMap = { variacao_mensal: "63", variacao_acumulada_ano: "69", variacao_acumulada_12_meses: "2266" };
360
- const url = `${ibge_client_js_1.IBGE_API.v3}/agregados/1419/periodos/last%20${ultimos_meses}/variaveis/${varMap[tipo]}?localidades=N1[all]`;
361
+ const varMap = { variacao_mensal: "63", variacao_acumulada_ano: "69", variacao_acumulada_12_meses: "2265" };
362
+ // Para variações acumuladas, cada ponto já é um acumulado, então usamos "last N" normalmente
363
+ const periodo = `last%20${ultimos_meses}`;
364
+ const url = `${ibge_client_js_1.IBGE_API.v3}/agregados/1419/periodos/${periodo}/variaveis/${varMap[tipo]}?localidades=N1[all]`;
361
365
  const dados = await (0, ibge_client_js_1.ibgeFetch)(url);
362
366
  return { content: [{ type: "text", text: `**IPCA — ${tipo.replace(/_/g, " ")}** (últimos ${ultimos_meses} meses)\n${formatarResultadoSidra(dados)}` }] };
363
367
  }
@@ -517,5 +521,83 @@ Exemplos:
517
521
  return { content: [{ type: "text", text: (0, ibge_client_js_1.formatToolError)(err) }] };
518
522
  }
519
523
  });
524
+ server.registerTool("ibge_pib_estados", {
525
+ title: "PIB dos Estados",
526
+ description: `Consulta o Produto Interno Bruto (PIB) dos estados brasileiros.
527
+ Dados oficiais do IBGE para análise econômica regional.
528
+
529
+ Args:
530
+ - ano (obrigatório): Ano do PIB (ex: 2021, 2020, 2019...)
531
+ - uf_id (opcional): ID do estado específico (ex: 35=SP). Omita para todos os estados.
532
+ - per_capita (opcional): true para PIB per capita, false para PIB total (padrão: false)
533
+
534
+ Retorna ranking de PIB com participação percentual no total nacional.
535
+ Exemplo: "Qual o PIB de São Paulo em 2021?" ou "Ranking de PIB dos estados"`,
536
+ inputSchema: zod_1.z.object({
537
+ ano: zod_1.z.number().int().min(1995).max(2030).describe("Ano do PIB (ex: 2021)"),
538
+ uf_id: zod_1.z.number().int().positive().optional().describe("ID do estado (ex: 35=SP). Omita para todos."),
539
+ per_capita: zod_1.z.boolean().default(false).describe("true=PIB per capita, false=PIB total"),
540
+ }),
541
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
542
+ }, async ({ ano, uf_id, per_capita }) => {
543
+ try {
544
+ const localidade = uf_id ? `N3[${uf_id}]` : "N3[all]";
545
+ const variavel = per_capita ? "47" : "37"; // 37=PIB total, 47=PIB per capita
546
+ const url = `${ibge_client_js_1.IBGE_API.v3}/agregados/5938/periodos/${ano}/variaveis/${variavel}?localidades=${localidade}&view=flat`;
547
+ const dados = await (0, ibge_client_js_1.ibgeFetch)(url, cache_js_1.TTL.SIDRA_DATA);
548
+ const series = dados?.[0]?.resultados?.[0]?.series ?? [];
549
+ if (series.length === 0) {
550
+ return {
551
+ content: [{
552
+ type: "text",
553
+ text: `Dados não encontrados para ${ano}.\n\nVerifique se o ano está disponível. Dados de PIB geralmente têm 2-3 anos de defasagem.`
554
+ }]
555
+ };
556
+ }
557
+ const estados = series.map((s) => ({
558
+ nome: s.localidade.nome,
559
+ id: s.localidade.id,
560
+ valor: parseFloat(Object.values(s.serie)[0] ?? "0"),
561
+ })).filter((e) => e.valor > 0);
562
+ estados.sort((a, b) => b.valor - a.valor);
563
+ if (uf_id && estados.length === 1) {
564
+ // Resultado único
565
+ const estado = estados[0];
566
+ const valorFormatado = per_capita
567
+ ? `R$ ${estado.valor.toLocaleString("pt-BR", { minimumFractionDigits: 2 })}`
568
+ : `R$ ${(estado.valor / 1000).toLocaleString("pt-BR", { minimumFractionDigits: 3 })} mil`;
569
+ return {
570
+ content: [{
571
+ type: "text",
572
+ text: `## ${estado.nome} — PIB ${ano}\n\n**${per_capita ? "PIB per capita" : "PIB total"}:** ${valorFormatado}\n\n_Fonte: IBGE PIB dos Municípios (Tabela 5938)_`
573
+ }]
574
+ };
575
+ }
576
+ // Múltiplos estados - ranking
577
+ const total = estados.reduce((acc, e) => acc + e.valor, 0);
578
+ const linhas = estados.map((e, i) => {
579
+ const pct = ((e.valor / total) * 100).toFixed(2);
580
+ const valorFormatado = per_capita
581
+ ? `R$ ${e.valor.toLocaleString("pt-BR", { minimumFractionDigits: 2 })}`
582
+ : `R$ ${(e.valor / 1000).toLocaleString("pt-BR", { minimumFractionDigits: 0 })} mil`;
583
+ return `${i + 1}. **${e.nome}**: ${valorFormatado}${per_capita ? "" : ` (${pct}%)`}`;
584
+ });
585
+ const titulo = per_capita ? "PIB per capita" : "PIB total";
586
+ const totalFormatado = per_capita
587
+ ? ""
588
+ : `\n**Brasil:** R$ ${(total / 1000).toLocaleString("pt-BR", { minimumFractionDigits: 0 })} mil`;
589
+ return {
590
+ content: [{
591
+ type: "text",
592
+ text: (0, ibge_client_js_1.truncateIfNeeded)(`## ${titulo} por Estado — ${ano}${totalFormatado}\n\n` +
593
+ linhas.join("\n") +
594
+ `\n\n_Fonte: IBGE PIB dos Municípios (Tabela 5938)_\n_${per_capita ? "Valores em reais por habitante" : "Valores em milhares de reais"}_`)
595
+ }]
596
+ };
597
+ }
598
+ catch (err) {
599
+ return { content: [{ type: "text", text: (0, ibge_client_js_1.formatToolError)(err) }] };
600
+ }
601
+ });
520
602
  }
521
603
  //# sourceMappingURL=sidra.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidra.js","sourceRoot":"","sources":["../../src/tools/sidra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidra.js","sourceRoot":"","sources":["../../src/tools/sidra.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ab-ibge-mcp-server",
3
- "version": "1.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "MCP Server para as APIs públicas do IBGE - Acesso a dados estatísticos, geográficos e econômicos do Brasil",
5
5
  "main": "dist/index.js",
6
6
  "bin": {