ibge-br-mcp 5.1.2 → 5.2.0

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.
@@ -25,10 +25,12 @@ export declare const cnaeOutputSchema: z.ZodObject<{
25
25
  termo: z.ZodString;
26
26
  nivel: z.ZodString;
27
27
  total: z.ZodNumber;
28
+ encontrados: z.ZodNumber;
28
29
  resultados: z.ZodArray<z.ZodObject<{
29
30
  id: z.ZodString;
30
31
  descricao: z.ZodString;
31
32
  }, z.core.$strip>>;
33
+ notas_vocabulario: z.ZodOptional<z.ZodArray<z.ZodString>>;
32
34
  }, z.core.$strip>>;
33
35
  codigo: z.ZodOptional<z.ZodObject<{
34
36
  id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"cnae.d.ts","sourceRoot":"","sources":["../../src/tools/cnae.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAsC7D,eAAO,MAAM,UAAU;;;;;;;;;;;iBAoBrB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEnD,gFAAgF;AAChF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4D3B,CAAC;AAEH;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiC9E"}
1
+ {"version":3,"file":"cnae.d.ts","sourceRoot":"","sources":["../../src/tools/cnae.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AA4C7D,eAAO,MAAM,UAAU;;;;;;;;;;;iBAwBrB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEnD,gFAAgF;AAChF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuE3B,CAAC;AAEH;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiC9E"}
@@ -7,6 +7,7 @@ import { createMarkdownTable, truncate } from "../utils/index.js";
7
7
  import { parseHttpError, ValidationErrors } from "../errors.js";
8
8
  import { isValidCnaeCode, formatValidationError } from "../validation.js";
9
9
  import { provenienciaIbge } from "../provenance.js";
10
+ import { casaBuscaCnae, expandirBuscaCnae, normalizar, notasDeVocabularioCnae, } from "../vocabulario.js";
10
11
  export const cnaeSchema = z.object({
11
12
  codigo: z.string().optional()
12
13
  .describe(`Código CNAE para buscar (seção, divisão, grupo, classe ou subclasse).
@@ -19,7 +20,11 @@ Exemplos:
19
20
  busca: z
20
21
  .string()
21
22
  .optional()
22
- .describe("Termo para buscar na descrição das atividades (ex: 'software', 'restaurante', 'comércio')"),
23
+ .describe(`Termo para buscar na descrição das atividades (ex: 'software', 'restaurante', 'comércio').
24
+ Acento e caixa não importam, e várias palavras casam em E ('comercio varejista').
25
+ A palavra de todo dia é traduzida para a da CNAE quando preciso — farmácia →
26
+ produtos farmacêuticos, academia → condicionamento físico, lixo → resíduos — e a
27
+ resposta diz quando traduziu.`),
23
28
  nivel: z
24
29
  .enum(["secoes", "divisoes", "grupos", "classes", "subclasses"])
25
30
  .optional()
@@ -36,12 +41,19 @@ export const cnaeOutputSchema = z.object({
36
41
  termo: z.string().describe("Termo pesquisado"),
37
42
  nivel: z.string().describe("Nível hierárquico pesquisado (ex: subclasses, classes)"),
38
43
  total: z.number().describe("Quantidade de resultados retornados"),
44
+ encontrados: z
45
+ .number()
46
+ .describe("Quantidade de atividades que casam o termo no catálogo inteiro (pode ser maior que 'total', que é limitado por 'limite')"),
39
47
  resultados: z
40
48
  .array(z.object({
41
49
  id: z.string().describe("Código CNAE da atividade"),
42
50
  descricao: z.string().describe("Descrição da atividade"),
43
51
  }))
44
52
  .describe("Atividades encontradas para o termo"),
53
+ notas_vocabulario: z
54
+ .array(z.string())
55
+ .optional()
56
+ .describe("Presente quando o termo foi traduzido para a palavra que a CNAE usa (ex: farmácia → produtos farmacêuticos)"),
45
57
  })
46
58
  .optional()
47
59
  .describe("Presente no modo de busca por termo"),
@@ -256,28 +268,51 @@ async function searchCnae(termo, nivel, limite = 20) {
256
268
  const endpoint = `${IBGE_API.CNAE}/${searchLevel}`;
257
269
  const key = cacheKey("cnae-list", { nivel: searchLevel });
258
270
  const allData = await cachedFetch(endpoint, key, CACHE_TTL.STATIC);
259
- // Filter by search term
260
- const termoLower = termo.toLowerCase();
261
- const filtered = allData
262
- .filter((item) => item.descricao.toLowerCase().includes(termoLower))
263
- .slice(0, limite);
271
+ // Filter by search term. Até a 5.1.2 era `descricao.toLowerCase().includes(termo)`:
272
+ // caixa resolvida, ACENTO não — e as descrições da CNAE são em CAIXA ALTA COM
273
+ // acento. Medido nas 1.332 subclasses em 22/09/2026: "comercio" achava 2 de
274
+ // 211, "servicos" 0 de 95, "manutencao" 0 de 51. Agora os dois lados são
275
+ // normalizados, as palavras casam em AND, e cada uma vira um OR das grafias
276
+ // que a CNAE usa para ela (farmácia → produtos farmacêuticos; src/vocabulario.ts).
277
+ const expandidos = expandirBuscaCnae(termo);
278
+ const encontrados = allData.filter((item) => casaBuscaCnae(normalizar(item.descricao), expandidos));
279
+ const notas = notasDeVocabularioCnae(expandidos);
280
+ const filtered = encontrados.slice(0, limite);
264
281
  if (filtered.length === 0) {
282
+ // Zero sem explicação é beco sem saída: o catálogo é do IBGE e usa o
283
+ // vocabulário dele. Dizer o que fazer em seguida é parte da resposta.
265
284
  return {
266
- markdown: `Nenhuma atividade encontrada para "${termo}".\n\n` +
285
+ markdown: `Nenhuma atividade encontrada para "${termo}" (nível: ${searchLevel}).\n\n` +
286
+ (notas.length ? notas.map((n) => `- ${n}\n`).join("") + "\n" : "") +
287
+ `Todas as palavras precisam casar com a descrição da atividade (acento e caixa não importam).\n\n` +
267
288
  `Dicas:\n` +
268
- `- Tente termos mais genéricos\n` +
289
+ `- Tente menos palavras, ou a palavra que a CNAE usa: "programas de computador" ` +
290
+ `(não software), "produtos farmacêuticos" (não farmácia), "condicionamento físico" ` +
291
+ `(não academia), "artes cênicas" (não teatro), "resíduos" (não lixo)\n` +
292
+ `- Oficina de carro está em "manutenção e reparação de veículos automotores" ` +
293
+ `(grupo 4520); comércio eletrônico cai em 4790-3 "comércio ambulante e outros ` +
294
+ `tipos de comércio varejista"\n` +
269
295
  `- Use ibge_cnae(nivel="secoes") para ver as categorias principais`,
270
296
  isError: true,
271
297
  };
272
298
  }
273
299
  let output = `## Busca CNAE: "${termo}"\n\n`;
274
- output += `Encontrados ${filtered.length} resultados (nível: ${searchLevel}):\n\n`;
300
+ if (notas.length) {
301
+ output += notas.map((n) => `- ${n}\n`).join("") + "\n";
302
+ }
303
+ // O cabeçalho conta o que o catálogo TEM, não o que coube no limite: com o
304
+ // acento consertado "comercio" casa 211 subclasses, e anunciar as 20 exibidas
305
+ // como "encontrados 20" é a mesma resposta plausível e errada que se conserta.
306
+ output +=
307
+ encontrados.length > filtered.length
308
+ ? `Encontradas ${encontrados.length} atividades (nível: ${searchLevel}); mostrando as ${filtered.length} primeiras:\n\n`
309
+ : `Encontrados ${filtered.length} resultados (nível: ${searchLevel}):\n\n`;
275
310
  const rows = filtered.map((item) => [item.id, truncate(item.descricao, 80)]);
276
311
  output += createMarkdownTable(["Código", "Descrição"], rows, {
277
312
  alignment: ["left", "left"],
278
313
  });
279
- if (filtered.length === limite) {
280
- output += `\n_Mostrando primeiros ${limite} resultados. Use limite maior para ver mais._\n`;
314
+ if (encontrados.length > filtered.length) {
315
+ output += `\n_Use \`limite\` maior para ver as outras ${encontrados.length - filtered.length}._\n`;
281
316
  }
282
317
  const resultados = filtered.map((item) => ({
283
318
  id: item.id,
@@ -291,7 +326,9 @@ async function searchCnae(termo, nivel, limite = 20) {
291
326
  termo,
292
327
  nivel: searchLevel,
293
328
  total: filtered.length,
329
+ encontrados: encontrados.length,
294
330
  resultados,
331
+ ...(notas.length ? { notas_vocabulario: notas } : {}),
295
332
  },
296
333
  },
297
334
  provenance: provenienciaIbge({
@@ -1 +1 @@
1
- {"version":3,"file":"cnae.js","sourceRoot":"","sources":["../../src/tools/cnae.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cnae.js","sourceRoot":"","sources":["../../src/tools/cnae.ts"],"names":[],"mappings":"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"}
@@ -76,7 +76,92 @@ export interface EntradaVocabulario {
76
76
  /** Como o IBGE escreve — substrings normalizadas, podendo ser frase ("nascidos vivos"). */
77
77
  readonly fonte: readonly string[];
78
78
  }
79
+ /**
80
+ * A tabela do catálogo de AGREGADOS (`ibge_sidra_tabelas`), medida contra os
81
+ * 9.336 agregados da API v3. Não serve à CNAE: ver `VOCABULARIO_CNAE` e a
82
+ * medição que separou as duas.
83
+ */
79
84
  export declare const VOCABULARIO: readonly EntradaVocabulario[];
85
+ /**
86
+ * A tabela do catálogo da CNAE (`ibge_cnae`), medida contra as 1.332
87
+ * subclasses da API v2 em 2026-09-22.
88
+ *
89
+ * É uma SEGUNDA tabela, e não entradas novas na de cima, porque a regra "só
90
+ * entra par medido" é medida CONTRA UM CATÁLOGO: são 1.332 subclasses de
91
+ * atividade econômica contra 9.336 agregados estatísticos, e o par bom num é
92
+ * falso positivo no outro. Medido nas subclasses, com os pares do SIDRA:
93
+ *
94
+ * etaria → idade 126 subclasses, e são "ATIVIDADE..." (ativIDADEs de apoio)
95
+ * negro → preta 1, "SERVIÇOS DE TRADUÇÃO, INTERPRETAÇÃO" (interPRETAção)
96
+ * emprego → ocupa 1, "ATIVIDADES DE TERAPIA OCUPACIONAL"
97
+ *
98
+ * Misturar as duas apagaria a medição de origem e entregaria esses falsos
99
+ * positivos como resposta plausível — o mesmo defeito que a tabela conserta.
100
+ *
101
+ * Medido nas 1.332 subclasses em 2026-09-22 (`scripts/medicoes/tabela-pares.mjs`):
102
+ *
103
+ * perguntado n o IBGE escreve n
104
+ * software 1* programas de computador 3 * "REPRODUÇÃO DE SOFTWARE"
105
+ * app 0 programas de computador 3
106
+ * aplicativo 0 programas de computador 3
107
+ * site 0 programas de computador / portais 3 / 1
108
+ * farmacia 0 produtos farmacêuticos 3
109
+ * drogaria 0 produtos farmacêuticos 3
110
+ * dentista 0 odontolog 5
111
+ * consultorio 0 ambulatorial 4
112
+ * advogado 0 advocatícios 1
113
+ * advocacia 0 advocatícios 1
114
+ * contador 0 contabilidade / contábil 1 / 2
115
+ * hotel 0 hotéis 2 só o PLURAL existe
116
+ * motel 0 motéis 1
117
+ * pousada 0 pensões / alojamento 1 / 4
118
+ * academia 0 condicionamento físico 1
119
+ * salao 0 cabeleireiro 1
120
+ * barbearia 0 cabeleireiro 1
121
+ * caminhao 0 transporte rodoviário de carga 2
122
+ * frete 0 transporte rodoviário de carga 2
123
+ * delivery 0 consumo domiciliar 1
124
+ * pizzaria 0 restaurantes / lanchonetes 1 / 1
125
+ * petshop 0 animais domésticos 2
126
+ * teatro 0 artes cênicas 3
127
+ * jardinagem 0 paisagísticas 1
128
+ * reciclagem 0 resíduos / sucatas 8 / 3
129
+ * lixo 0 resíduos 8
130
+ * faculdade 0 educação superior 3
131
+ * universidade 0 educação superior 3
132
+ * propaganda 0 publicidade 5
133
+ *
134
+ * `software` é o único com lado perguntado diferente de zero nos cinco níveis,
135
+ * e o 1 é a resposta ERRADA (`1830003 REPRODUÇÃO DE SOFTWARE EM QUALQUER
136
+ * SUPORTE` — prensar mídia); o par acrescenta as três de desenvolvimento sem
137
+ * tirá-la. Nos outros 28 o lado perguntado é 0 em seções, divisões, grupos,
138
+ * classes e subclasses, então o par nunca REMOVE resultado em nível nenhum —
139
+ * só acrescenta. Por isso a tabela vale para os cinco níveis.
140
+ *
141
+ * Medidos e deixados de FORA em 2026-09-22 (registrado para ninguém refazer):
142
+ *
143
+ * - `oficina`. As duas grafias plausíveis dão par largo demais: OR de
144
+ * "manutenção e reparação" com "veículos automotores" casa 63 subclasses,
145
+ * entre elas 12 de FABRICAÇÃO de peças e o comércio varejista de
146
+ * combustíveis; "veículos automotores" sozinho casa 26, metade fabricação e
147
+ * comércio. O AND das duas casaria 3, e perderia 5 das 8 do grupo 4520
148
+ * (borracharia, lanternagem, alinhamento, lavagem, capotaria) — além de a
149
+ * mecânica fazer OR, e não AND, das grafias de um par. Resultado plausível e
150
+ * errado é o defeito que se está consertando, então `oficina` vai para a
151
+ * dica do zero, não para a tabela.
152
+ * - `startup`, `coworking`, `influencer`, `ecommerce`, `comercio eletronico`,
153
+ * `streaming` — 0 dos DOIS lados. A CNAE 2.0 não publica esses rótulos, e
154
+ * inventar apelido para dado inexistente é prometer o que a fonte não tem.
155
+ * - `marketing` (1), `loja` (8), `mercado` (14), `bar` (12), `banco` (12) — a
156
+ * palavra de todo dia JÁ casa; par nenhum a melhora.
157
+ *
158
+ * Armadilha medida e NÃO consertada aqui: `uber` casa 1 subclasse por estar
159
+ * dentro de `TUBÉRCULOS`. A mecânica casa substring sem fronteira de palavra;
160
+ * isso é de `@sbissoli/mcp-search` e vale para os cinco servidores que a usam,
161
+ * não de uma tabela. Fica como caso de teste que documenta o comportamento de
162
+ * hoje.
163
+ */
164
+ export declare const VOCABULARIO_CNAE: readonly EntradaVocabulario[];
80
165
  export interface TermoExpandido {
81
166
  readonly termo: string;
82
167
  readonly padroes: readonly string[];
@@ -99,4 +184,10 @@ export declare function casaTermo(nomeNormalizado: string, expandido: TermoExpan
99
184
  export declare function casaBusca(nomeNormalizado: string, expandidos: readonly TermoExpandido[]): boolean;
100
185
  /** A ponta inversa: as palavras com que se PERGUNTA por este nome — keywords do índice de `search`. */
101
186
  export declare const palavrasPerguntadas: (name: string) => string[];
187
+ /** A busca inteira contra o vocabulário da CNAE, pronta para virar filtro. */
188
+ export declare function expandirBuscaCnae(busca: string): TermoExpandido[];
189
+ /** A frase que conta ao chamador que a palavra dele não é a da CNAE. */
190
+ export declare function notasDeVocabularioCnae(expandidos: readonly TermoExpandido[]): string[];
191
+ /** Uma descrição (já normalizada) casa TODOS os termos da busca expandida? */
192
+ export declare function casaBuscaCnae(descricaoNormalizada: string, expandidos: readonly TermoExpandido[]): boolean;
102
193
  //# sourceMappingURL=vocabulario.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vocabulario.d.ts","sourceRoot":"","sources":["../src/vocabulario.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAIH,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,WAAW,EAAE,SAAS,kBAAkB,EAgCpD,CAAC;AAQF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAaD,4FAA4F;AAC5F,eAAO,MAAM,UAAU,0BAAwB,CAAC;AAChD,0EAA0E;AAC1E,eAAO,MAAM,aAAa,6BAAyB,CAAC;AACpD,sFAAsF;AACtF,eAAO,MAAM,aAAa,4BAAyB,CAAC;AACpD,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAE7D;AACD,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,EAAE,CAElF;AACD,uDAAuD;AACvD,wBAAgB,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,OAAO,CAErF;AACD,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAEjG;AACD,uGAAuG;AACvG,eAAO,MAAM,mBAAmB,4BAA4B,CAAC"}
1
+ {"version":3,"file":"vocabulario.d.ts","sourceRoot":"","sources":["../src/vocabulario.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAIH,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,kBAAkB,EAgCpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,kBAAkB,EA8BzD,CAAC;AAcF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAaD,4FAA4F;AAC5F,eAAO,MAAM,UAAU,0BAAwB,CAAC;AAChD,0EAA0E;AAC1E,eAAO,MAAM,aAAa,6BAAyB,CAAC;AACpD,sFAAsF;AACtF,eAAO,MAAM,aAAa,4BAAyB,CAAC;AACpD,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAE7D;AACD,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,EAAE,CAElF;AACD,uDAAuD;AACvD,wBAAgB,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,OAAO,CAErF;AACD,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAEjG;AACD,uGAAuG;AACvG,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAI7D,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAEjE;AACD,wEAAwE;AACxE,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,EAAE,CAEtF;AACD,8EAA8E;AAC9E,wBAAgB,aAAa,CAC3B,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,SAAS,cAAc,EAAE,GACpC,OAAO,CAET"}
@@ -71,6 +71,11 @@
71
71
  * nomes exportados são os de sempre (em português), para quem chama não mudar.
72
72
  */
73
73
  import { createVocabulary } from "@sbissoli/mcp-search";
74
+ /**
75
+ * A tabela do catálogo de AGREGADOS (`ibge_sidra_tabelas`), medida contra os
76
+ * 9.336 agregados da API v3. Não serve à CNAE: ver `VOCABULARIO_CNAE` e a
77
+ * medição que separou as duas.
78
+ */
74
79
  export const VOCABULARIO = [
75
80
  { perguntado: "desemprego", fonte: ["desocupa"] },
76
81
  { perguntado: "desempregado", fonte: ["desocupa"] },
@@ -104,11 +109,126 @@ export const VOCABULARIO = [
104
109
  { perguntado: "expectativa", fonte: ["expectativa", "esperanca"] },
105
110
  { perguntado: "quarto", fonte: ["quarto", "dormitorio"] },
106
111
  ];
112
+ /**
113
+ * A tabela do catálogo da CNAE (`ibge_cnae`), medida contra as 1.332
114
+ * subclasses da API v2 em 2026-09-22.
115
+ *
116
+ * É uma SEGUNDA tabela, e não entradas novas na de cima, porque a regra "só
117
+ * entra par medido" é medida CONTRA UM CATÁLOGO: são 1.332 subclasses de
118
+ * atividade econômica contra 9.336 agregados estatísticos, e o par bom num é
119
+ * falso positivo no outro. Medido nas subclasses, com os pares do SIDRA:
120
+ *
121
+ * etaria → idade 126 subclasses, e são "ATIVIDADE..." (ativIDADEs de apoio)
122
+ * negro → preta 1, "SERVIÇOS DE TRADUÇÃO, INTERPRETAÇÃO" (interPRETAção)
123
+ * emprego → ocupa 1, "ATIVIDADES DE TERAPIA OCUPACIONAL"
124
+ *
125
+ * Misturar as duas apagaria a medição de origem e entregaria esses falsos
126
+ * positivos como resposta plausível — o mesmo defeito que a tabela conserta.
127
+ *
128
+ * Medido nas 1.332 subclasses em 2026-09-22 (`scripts/medicoes/tabela-pares.mjs`):
129
+ *
130
+ * perguntado n o IBGE escreve n
131
+ * software 1* programas de computador 3 * "REPRODUÇÃO DE SOFTWARE"
132
+ * app 0 programas de computador 3
133
+ * aplicativo 0 programas de computador 3
134
+ * site 0 programas de computador / portais 3 / 1
135
+ * farmacia 0 produtos farmacêuticos 3
136
+ * drogaria 0 produtos farmacêuticos 3
137
+ * dentista 0 odontolog 5
138
+ * consultorio 0 ambulatorial 4
139
+ * advogado 0 advocatícios 1
140
+ * advocacia 0 advocatícios 1
141
+ * contador 0 contabilidade / contábil 1 / 2
142
+ * hotel 0 hotéis 2 só o PLURAL existe
143
+ * motel 0 motéis 1
144
+ * pousada 0 pensões / alojamento 1 / 4
145
+ * academia 0 condicionamento físico 1
146
+ * salao 0 cabeleireiro 1
147
+ * barbearia 0 cabeleireiro 1
148
+ * caminhao 0 transporte rodoviário de carga 2
149
+ * frete 0 transporte rodoviário de carga 2
150
+ * delivery 0 consumo domiciliar 1
151
+ * pizzaria 0 restaurantes / lanchonetes 1 / 1
152
+ * petshop 0 animais domésticos 2
153
+ * teatro 0 artes cênicas 3
154
+ * jardinagem 0 paisagísticas 1
155
+ * reciclagem 0 resíduos / sucatas 8 / 3
156
+ * lixo 0 resíduos 8
157
+ * faculdade 0 educação superior 3
158
+ * universidade 0 educação superior 3
159
+ * propaganda 0 publicidade 5
160
+ *
161
+ * `software` é o único com lado perguntado diferente de zero nos cinco níveis,
162
+ * e o 1 é a resposta ERRADA (`1830003 REPRODUÇÃO DE SOFTWARE EM QUALQUER
163
+ * SUPORTE` — prensar mídia); o par acrescenta as três de desenvolvimento sem
164
+ * tirá-la. Nos outros 28 o lado perguntado é 0 em seções, divisões, grupos,
165
+ * classes e subclasses, então o par nunca REMOVE resultado em nível nenhum —
166
+ * só acrescenta. Por isso a tabela vale para os cinco níveis.
167
+ *
168
+ * Medidos e deixados de FORA em 2026-09-22 (registrado para ninguém refazer):
169
+ *
170
+ * - `oficina`. As duas grafias plausíveis dão par largo demais: OR de
171
+ * "manutenção e reparação" com "veículos automotores" casa 63 subclasses,
172
+ * entre elas 12 de FABRICAÇÃO de peças e o comércio varejista de
173
+ * combustíveis; "veículos automotores" sozinho casa 26, metade fabricação e
174
+ * comércio. O AND das duas casaria 3, e perderia 5 das 8 do grupo 4520
175
+ * (borracharia, lanternagem, alinhamento, lavagem, capotaria) — além de a
176
+ * mecânica fazer OR, e não AND, das grafias de um par. Resultado plausível e
177
+ * errado é o defeito que se está consertando, então `oficina` vai para a
178
+ * dica do zero, não para a tabela.
179
+ * - `startup`, `coworking`, `influencer`, `ecommerce`, `comercio eletronico`,
180
+ * `streaming` — 0 dos DOIS lados. A CNAE 2.0 não publica esses rótulos, e
181
+ * inventar apelido para dado inexistente é prometer o que a fonte não tem.
182
+ * - `marketing` (1), `loja` (8), `mercado` (14), `bar` (12), `banco` (12) — a
183
+ * palavra de todo dia JÁ casa; par nenhum a melhora.
184
+ *
185
+ * Armadilha medida e NÃO consertada aqui: `uber` casa 1 subclasse por estar
186
+ * dentro de `TUBÉRCULOS`. A mecânica casa substring sem fronteira de palavra;
187
+ * isso é de `@sbissoli/mcp-search` e vale para os cinco servidores que a usam,
188
+ * não de uma tabela. Fica como caso de teste que documenta o comportamento de
189
+ * hoje.
190
+ */
191
+ export const VOCABULARIO_CNAE = [
192
+ { perguntado: "software", fonte: ["software", "programas de computador"] },
193
+ { perguntado: "app", fonte: ["programas de computador"] },
194
+ { perguntado: "aplicativo", fonte: ["programas de computador"] },
195
+ { perguntado: "site", fonte: ["programas de computador", "portais"] },
196
+ { perguntado: "farmacia", fonte: ["produtos farmaceuticos"] },
197
+ { perguntado: "drogaria", fonte: ["produtos farmaceuticos"] },
198
+ { perguntado: "dentista", fonte: ["odontolog"] },
199
+ { perguntado: "consultorio", fonte: ["ambulatorial"] },
200
+ { perguntado: "advogado", fonte: ["advocaticios"] },
201
+ { perguntado: "advocacia", fonte: ["advocaticios"] },
202
+ { perguntado: "contador", fonte: ["contabilidade", "contabil"] },
203
+ { perguntado: "hotel", fonte: ["hoteis"] },
204
+ { perguntado: "motel", fonte: ["moteis"] },
205
+ { perguntado: "pousada", fonte: ["pensoes", "alojamento"] },
206
+ { perguntado: "academia", fonte: ["condicionamento fisico"] },
207
+ { perguntado: "salao", fonte: ["cabeleireiro"] },
208
+ { perguntado: "barbearia", fonte: ["cabeleireiro"] },
209
+ { perguntado: "caminhao", fonte: ["transporte rodoviario de carga"] },
210
+ { perguntado: "frete", fonte: ["transporte rodoviario de carga"] },
211
+ { perguntado: "delivery", fonte: ["consumo domiciliar"] },
212
+ { perguntado: "pizzaria", fonte: ["restaurantes", "lanchonetes"] },
213
+ { perguntado: "petshop", fonte: ["animais domesticos"] },
214
+ { perguntado: "teatro", fonte: ["artes cenicas"] },
215
+ { perguntado: "jardinagem", fonte: ["paisagisticas"] },
216
+ { perguntado: "reciclagem", fonte: ["residuos", "sucatas"] },
217
+ { perguntado: "lixo", fonte: ["residuos"] },
218
+ { perguntado: "faculdade", fonte: ["educacao superior"] },
219
+ { perguntado: "universidade", fonte: ["educacao superior"] },
220
+ { perguntado: "propaganda", fonte: ["publicidade"] },
221
+ ];
107
222
  const vocabulario = createVocabulary({
108
223
  entries: VOCABULARIO.map((e) => ({ asked: e.perguntado, source: e.fonte })),
109
224
  locale: "pt-BR",
110
225
  sourceName: "o IBGE",
111
226
  });
227
+ const vocabularioCnae = createVocabulary({
228
+ entries: VOCABULARIO_CNAE.map((e) => ({ asked: e.perguntado, source: e.fonte })),
229
+ locale: "pt-BR",
230
+ sourceName: "a CNAE",
231
+ });
112
232
  const emPortugues = (e) => ({
113
233
  termo: e.term,
114
234
  padroes: e.patterns,
@@ -143,4 +263,17 @@ export function casaBusca(nomeNormalizado, expandidos) {
143
263
  }
144
264
  /** A ponta inversa: as palavras com que se PERGUNTA por este nome — keywords do índice de `search`. */
145
265
  export const palavrasPerguntadas = vocabulario.askedWordsFor;
266
+ /* ── A mesma ponta, para o catálogo da CNAE (`VOCABULARIO_CNAE`) ───────────── */
267
+ /** A busca inteira contra o vocabulário da CNAE, pronta para virar filtro. */
268
+ export function expandirBuscaCnae(busca) {
269
+ return vocabularioCnae.expandQuery(busca).map(emPortugues);
270
+ }
271
+ /** A frase que conta ao chamador que a palavra dele não é a da CNAE. */
272
+ export function notasDeVocabularioCnae(expandidos) {
273
+ return vocabularioCnae.vocabularyNotes(expandidos.map(emIngles));
274
+ }
275
+ /** Uma descrição (já normalizada) casa TODOS os termos da busca expandida? */
276
+ export function casaBuscaCnae(descricaoNormalizada, expandidos) {
277
+ return vocabularioCnae.matchesQuery(descricaoNormalizada, expandidos.map(emIngles));
278
+ }
146
279
  //# sourceMappingURL=vocabulario.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vocabulario.js","sourceRoot":"","sources":["../src/vocabulario.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vocabulario.js","sourceRoot":"","sources":["../src/vocabulario.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ibge-br-mcp",
3
- "version": "5.1.2",
3
+ "version": "5.2.0",
4
4
  "mcpName": "io.github.SidneyBissoli/ibge-br-mcp",
5
5
  "description": "MCP server giving AI assistants live, sourced access to Brazilian public data — geography, census, economy and health — from the official IBGE APIs. Exact figures with provenance, not approximations.",
6
6
  "type": "module",