ibge-br-mcp 5.7.0 → 5.8.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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Provenance block (portfolio contract v1.1) — pt-BR adapter over
2
+ * Provenance block (portfolio contract; version in `provenanceContext`) — pt-BR adapter over
3
3
  * `@sbissoli/mcp-provenance`. The canonical model, the `concise`/`detailed`
4
4
  * projections, serialization determinism, timezone handling and the footer
5
5
  * wording live in the package; this module binds them to the IBGE server:
@@ -35,7 +35,7 @@ import { z } from "zod";
35
35
  import { ConciseBlockSchema, type CanonicalProvenance, type ConciseBlock } from "@sbissoli/mcp-provenance";
36
36
  /** Single provenance context for the server: `_meta` namespace, locale, timezone, mode. */
37
37
  export declare const provenanceContext: import("@sbissoli/mcp-provenance").ProvenanceContext;
38
- /** Canonical envelope v1.0 (post-validation). */
38
+ /** Canonical envelope (post-validation); its `contract_version` is `provenanceContext.contractVersion`. */
39
39
  export type Provenance = CanonicalProvenance;
40
40
  /** Namespaced `_meta` keys (stable — audit/UI consumers read by these keys). */
41
41
  export declare const PROVENANCE_META_KEY: string;
@@ -53,59 +53,114 @@ export declare const IBGE_LICENSE: {
53
53
  readonly terms_url: "https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2016/decreto/d8777.htm";
54
54
  readonly verified_at: "2026-08-08";
55
55
  };
56
+ /**
57
+ * What the SIDRA does to numbers already published — the same sentence the
58
+ * server instructions carry (`SERVER_INSTRUCTIONS` in `server.ts`; a test keeps
59
+ * the two together). It is the `revision.note` of the two SIDRA-backed sources.
60
+ */
61
+ export declare const NOTA_REVISAO_SIDRA = "O IBGE revisa n\u00FAmeros j\u00E1 divulgados (PIB trimestral a cada divulga\u00E7\u00E3o, repondera\u00E7\u00E3o da PNAD, revis\u00F5es anuais de PIM, PMC e PMS) e a API n\u00E3o guarda a vers\u00E3o anterior.";
56
62
  /**
57
63
  * Source registry — one entry per IBGE API this server consumes. `name` is
58
64
  * what the concise projection shows as `source`; `endpoint` is the base URL
59
- * actually queried. Text only, never the IBGE logo/brand (docs/01).
65
+ * actually queried; `revision` is fixed per source (see `REVISAO_VIGENTE`).
66
+ * Text only, never the IBGE logo/brand (docs/01).
60
67
  */
61
68
  export declare const FONTES_IBGE: {
62
69
  readonly LOCALIDADES: {
63
70
  readonly name: "IBGE — API de Localidades";
64
71
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v1/localidades";
72
+ readonly revision: {
73
+ readonly status: "current";
74
+ readonly note: null;
75
+ };
65
76
  };
66
77
  readonly SIDRA: {
67
78
  readonly name: "IBGE — SIDRA (Banco de Tabelas Estatísticas)";
68
79
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v3/agregados";
80
+ readonly revision: {
81
+ readonly status: "current";
82
+ readonly note: "O IBGE revisa números já divulgados (PIB trimestral a cada divulgação, reponderação da PNAD, revisões anuais de PIM, PMC e PMS) e a API não guarda a versão anterior.";
83
+ };
69
84
  };
70
85
  readonly AGREGADOS: {
71
86
  readonly name: "IBGE — API de Agregados (SIDRA)";
72
87
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v3/agregados";
88
+ readonly revision: {
89
+ readonly status: "current";
90
+ readonly note: "O IBGE revisa números já divulgados (PIB trimestral a cada divulgação, reponderação da PNAD, revisões anuais de PIM, PMC e PMS) e a API não guarda a versão anterior.";
91
+ };
73
92
  };
74
93
  readonly NOMES: {
75
94
  readonly name: "IBGE — API de Nomes (Censo Demográfico 2010)";
76
95
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v2/censos/nomes";
96
+ readonly revision: {
97
+ readonly status: "current";
98
+ readonly note: null;
99
+ };
77
100
  };
78
101
  readonly MALHAS: {
79
102
  readonly name: "IBGE — API de Malhas Geográficas";
80
103
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v3/malhas";
104
+ readonly revision: {
105
+ readonly status: "current";
106
+ readonly note: null;
107
+ };
81
108
  };
82
109
  readonly GEOSERVICOS: {
83
110
  readonly name: "IBGE — Geosserviços (WFS, IBGE Geociências)";
84
111
  readonly endpoint: "https://geoservicos.ibge.gov.br/geoserver/ows";
112
+ readonly revision: {
113
+ readonly status: "current";
114
+ readonly note: null;
115
+ };
85
116
  };
86
117
  readonly NOTICIAS: {
87
118
  readonly name: "IBGE — API de Notícias";
88
119
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v3/noticias";
120
+ readonly revision: {
121
+ readonly status: "current";
122
+ readonly note: null;
123
+ };
89
124
  };
90
125
  readonly POPULACAO: {
91
126
  readonly name: "IBGE — API de Projeções de População";
92
127
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v1/projecoes/populacao";
128
+ readonly revision: {
129
+ readonly status: "current";
130
+ readonly note: null;
131
+ };
93
132
  };
94
133
  readonly CNAE: {
95
134
  readonly name: "IBGE — API CNAE";
96
135
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v2/cnae";
136
+ readonly revision: {
137
+ readonly status: "current";
138
+ readonly note: null;
139
+ };
97
140
  };
98
141
  readonly CALENDARIO: {
99
142
  readonly name: "IBGE — API de Calendário de Divulgações";
100
143
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v3/calendario";
144
+ readonly revision: {
145
+ readonly status: "current";
146
+ readonly note: null;
147
+ };
101
148
  };
102
149
  readonly PAISES: {
103
150
  readonly name: "IBGE — API de Países";
104
151
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v1/paises";
152
+ readonly revision: {
153
+ readonly status: "current";
154
+ readonly note: null;
155
+ };
105
156
  };
106
157
  readonly PESQUISAS: {
107
158
  readonly name: "IBGE — API de Pesquisas (Cidades@)";
108
159
  readonly endpoint: "https://servicodados.ibge.gov.br/api/v1/pesquisas";
160
+ readonly revision: {
161
+ readonly status: "current";
162
+ readonly note: null;
163
+ };
109
164
  };
110
165
  };
111
166
  export type FonteIbge = keyof typeof FONTES_IBGE;
@@ -168,8 +223,8 @@ export declare function extrairPeriodoSidra(colunas: string[], registros: Array<
168
223
  */
169
224
  export declare const provenanceBlockSchema: typeof ConciseBlockSchema;
170
225
  /**
171
- * Extends a tool's output schema with the provenance channel of the contract
172
- * v1.1: the concise block + the `attribution` URL list (MCP RFC #711). Every
226
+ * Extends a tool's output schema with the provenance channel of the contract:
227
+ * the concise block + the `attribution` URL list (MCP RFC #711). Every
173
228
  * successful response carries both (wired in `toMcpResult`).
174
229
  */
175
230
  export declare function comProveniencia<T extends z.ZodObject<z.ZodRawShape>>(schema: T): z.ZodObject<{
@@ -205,6 +260,17 @@ export declare function comProveniencia<T extends z.ZodObject<z.ZodRawShape>>(sc
205
260
  retrieved_at: z.ZodNullable<z.ZodString>;
206
261
  served_from_cache: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
207
262
  }, z.core.$strict>>>;
263
+ notices: z.ZodOptional<z.ZodArray<z.ZodString>>;
264
+ derived: z.ZodOptional<z.ZodBoolean>;
265
+ derivation_note: z.ZodOptional<z.ZodString>;
266
+ revision: z.ZodOptional<z.ZodObject<{
267
+ status: z.ZodEnum<{
268
+ current: "current";
269
+ final: "final";
270
+ provisional: "provisional";
271
+ }>;
272
+ note: z.ZodNullable<z.ZodString>;
273
+ }, z.core.$strict>>;
208
274
  }, z.core.$strict>;
209
275
  attribution: z.ZodArray<z.ZodString>;
210
276
  }, z.core.$strip>;
@@ -213,6 +279,6 @@ export declare function projetarProveniencia(p: Provenance): {
213
279
  provenance: ConciseBlock;
214
280
  attribution: string[];
215
281
  };
216
- /** Compact text footer for the Markdown channel (fixed wording, contract v1.0). */
282
+ /** Compact text footer for the Markdown channel (wording owned by the package). */
217
283
  export declare function rodapeProveniencia(p: Provenance): string;
218
284
  //# sourceMappingURL=provenance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Provenance block (portfolio contract v1.1) — pt-BR adapter over
2
+ * Provenance block (portfolio contract; version in `provenanceContext`) — pt-BR adapter over
3
3
  * `@sbissoli/mcp-provenance`. The canonical model, the `concise`/`detailed`
4
4
  * projections, serialization determinism, timezone handling and the footer
5
5
  * wording live in the package; this module binds them to the IBGE server:
@@ -42,6 +42,10 @@ export const provenanceContext = createProvenanceContext({
42
42
  locale: "pt-BR",
43
43
  timezone: { offset: "-03:00", label: "horário de Brasília" },
44
44
  defaultMode: "concise",
45
+ // 1.2: `field_sources` goes out on responses that merge sub-sources (none of
46
+ // the IBGE tools does today, so the wire is byte-identical to 1.1). The 1.3
47
+ // keys are already declared by the schema; emitting them is the next step.
48
+ contractVersion: "1.2",
45
49
  });
46
50
  /** Namespaced `_meta` keys (stable — audit/UI consumers read by these keys). */
47
51
  export const PROVENANCE_META_KEY = provenanceContext.metaKeys.provenance;
@@ -59,59 +63,87 @@ export const IBGE_LICENSE = {
59
63
  terms_url: "https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2016/decreto/d8777.htm",
60
64
  verified_at: "2026-08-08",
61
65
  };
66
+ /**
67
+ * What the SIDRA does to numbers already published — the same sentence the
68
+ * server instructions carry (`SERVER_INSTRUCTIONS` in `server.ts`; a test keeps
69
+ * the two together). It is the `revision.note` of the two SIDRA-backed sources.
70
+ */
71
+ export const NOTA_REVISAO_SIDRA = "O IBGE revisa números já divulgados (PIB trimestral a cada divulgação, reponderação da PNAD, revisões anuais de PIM, PMC e PMS) e a API não guarda a versão anterior.";
72
+ /**
73
+ * Revision status of the IBGE sources (contract v1.3, owner's decision of
74
+ * 08/10/2026): `current` for every one — the value is the version in force at
75
+ * the extraction instant and the source may revise it. `final` needs proof from
76
+ * the source and nobody uses it yet. The note is the source's own story when the
77
+ * server already tells it (SIDRA), `null` otherwise — never a new claim.
78
+ */
79
+ const REVISAO_VIGENTE = { status: "current", note: null };
80
+ const REVISAO_SIDRA = { status: "current", note: NOTA_REVISAO_SIDRA };
62
81
  /**
63
82
  * Source registry — one entry per IBGE API this server consumes. `name` is
64
83
  * what the concise projection shows as `source`; `endpoint` is the base URL
65
- * actually queried. Text only, never the IBGE logo/brand (docs/01).
84
+ * actually queried; `revision` is fixed per source (see `REVISAO_VIGENTE`).
85
+ * Text only, never the IBGE logo/brand (docs/01).
66
86
  */
67
87
  export const FONTES_IBGE = {
68
88
  LOCALIDADES: {
69
89
  name: "IBGE — API de Localidades",
70
90
  endpoint: API_ENDPOINTS.IBGE.LOCALIDADES,
91
+ revision: REVISAO_VIGENTE,
71
92
  },
72
93
  SIDRA: {
73
94
  name: "IBGE — SIDRA (Banco de Tabelas Estatísticas)",
74
95
  endpoint: API_ENDPOINTS.SIDRA,
96
+ revision: REVISAO_SIDRA,
75
97
  },
76
98
  AGREGADOS: {
77
99
  name: "IBGE — API de Agregados (SIDRA)",
78
100
  endpoint: API_ENDPOINTS.IBGE.AGREGADOS,
101
+ revision: REVISAO_SIDRA,
79
102
  },
80
103
  NOMES: {
81
104
  name: "IBGE — API de Nomes (Censo Demográfico 2010)",
82
105
  endpoint: API_ENDPOINTS.IBGE.NOMES,
106
+ revision: REVISAO_VIGENTE,
83
107
  },
84
108
  MALHAS: {
85
109
  name: "IBGE — API de Malhas Geográficas",
86
110
  endpoint: API_ENDPOINTS.IBGE.MALHAS,
111
+ revision: REVISAO_VIGENTE,
87
112
  },
88
113
  GEOSERVICOS: {
89
114
  name: "IBGE — Geosserviços (WFS, IBGE Geociências)",
90
115
  endpoint: API_ENDPOINTS.IBGE.GEOSERVICOS,
116
+ revision: REVISAO_VIGENTE,
91
117
  },
92
118
  NOTICIAS: {
93
119
  name: "IBGE — API de Notícias",
94
120
  endpoint: API_ENDPOINTS.IBGE.NOTICIAS,
121
+ revision: REVISAO_VIGENTE,
95
122
  },
96
123
  POPULACAO: {
97
124
  name: "IBGE — API de Projeções de População",
98
125
  endpoint: API_ENDPOINTS.IBGE.POPULACAO,
126
+ revision: REVISAO_VIGENTE,
99
127
  },
100
128
  CNAE: {
101
129
  name: "IBGE — API CNAE",
102
130
  endpoint: API_ENDPOINTS.IBGE.CNAE,
131
+ revision: REVISAO_VIGENTE,
103
132
  },
104
133
  CALENDARIO: {
105
134
  name: "IBGE — API de Calendário de Divulgações",
106
135
  endpoint: API_ENDPOINTS.IBGE.CALENDARIO,
136
+ revision: REVISAO_VIGENTE,
107
137
  },
108
138
  PAISES: {
109
139
  name: "IBGE — API de Países",
110
140
  endpoint: API_ENDPOINTS.IBGE.PAISES,
141
+ revision: REVISAO_VIGENTE,
111
142
  },
112
143
  PESQUISAS: {
113
144
  name: "IBGE — API de Pesquisas (Cidades@)",
114
145
  endpoint: API_ENDPOINTS.IBGE.PESQUISAS,
146
+ revision: REVISAO_VIGENTE,
115
147
  },
116
148
  };
117
149
  /** "dd/mm/aaaa" of an instant in Brasília time, for the citation text. */
@@ -142,6 +174,9 @@ export function provenienciaIbge(opts) {
142
174
  license: IBGE_LICENSE,
143
175
  derived: opts.derivado !== undefined,
144
176
  ...(opts.derivado !== undefined ? { derivation_note: opts.derivado.nota } : {}),
177
+ // Informed now, on the wire only once the context emits 1.3 (the lib drops
178
+ // it from 1.1/1.2 blocks).
179
+ revision: fonte.revision,
145
180
  served_from_cache: meta ? meta.servedFromCache : null,
146
181
  // The REAL count of this call (requests, attempts, anomalies), measured by
147
182
  // the collector `withMetrics` opened; `null` = not measured (cache only, or
@@ -206,10 +241,14 @@ const DESCRICOES_IBGE = {
206
241
  source_url: "URL canônica que reproduz a consulta",
207
242
  data_vintage: "Período de referência do dado segundo a fonte; null se a fonte não expõe",
208
243
  retrieved_at: "Instante real da extração no upstream (ISO-8601, horário de Brasília)",
209
- retrieval: "Diagnóstico de origem desta chamada (contrato v1.1): idas à API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)",
244
+ retrieval: "Diagnóstico de origem desta chamada: idas à API do IBGE, tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null quando nada foi medido (resposta servida só do cache)",
210
245
  citation: "Citação pronta para uso",
211
246
  license: "Regime legal do dado",
212
- field_sources: "Proveniência por sub-fonte (contrato v1.2): presente só quando a resposta junta partes extraídas de origens ou em momentos distintos, uma entrada por grupo de campos; ausente quando a resposta vem de uma única extração",
247
+ field_sources: "Proveniência por sub-fonte: presente só quando a resposta junta partes extraídas de origens ou em momentos distintos, uma entrada por grupo de campos; ausente quando a resposta vem de uma única extração",
248
+ notices: "Avisos que o IBGE publica junto com o dado (quebra de série, unidade, atualização), copiados como vieram; ausente quando não há aviso",
249
+ derived: "Presente (true) só quando o servidor calculou o valor — estatísticas, rankings, comparações — em vez de repassá-lo como veio do IBGE",
250
+ derivation_note: "O que o servidor calculou; presente junto com derived",
251
+ revision: "Se o dado ainda pode mudar no IBGE: current = versão vigente na extração, que o IBGE pode revisar depois; provisional = preliminar; final = não muda mais. note traz o específico da fonte quando há",
213
252
  };
214
253
  /**
215
254
  * Grafts descriptions onto a zod schema, node by node, from the JSON Schema
@@ -225,8 +264,19 @@ texto = no?.description) {
225
264
  const interno = no?.oneOf ? no.oneOf.find((n) => n.type !== "null") : no;
226
265
  saida = descreverPeloJsonSchema(schema.unwrap(), interno, {}, "").nullable();
227
266
  }
267
+ else if (schema instanceof z.ZodOptional) {
268
+ // The keys added after v1.1 (`field_sources`, and the four of v1.3) are
269
+ // optional: walk into them so the package's text reaches their children,
270
+ // and keep them optional — out of `required` in the listed schema.
271
+ saida = descreverPeloJsonSchema(schema.unwrap(), no, {}, "").optional();
272
+ }
228
273
  else if (schema instanceof z.ZodArray) {
229
- saida = z.array(descreverPeloJsonSchema(schema.element, no?.items));
274
+ // `clone` keeps the array's checks (`.min(1)` of field_sources/notices);
275
+ // rebuilding it with `z.array(...)` would drop them.
276
+ saida = schema.clone({
277
+ ...schema.def,
278
+ element: descreverPeloJsonSchema(schema.element, no?.items),
279
+ });
230
280
  }
231
281
  else if (schema instanceof z.ZodObject) {
232
282
  saida = z.strictObject(Object.fromEntries(Object.entries(schema.shape).map(([chave, filho]) => [
@@ -254,13 +304,13 @@ texto = no?.description) {
254
304
  */
255
305
  export const provenanceBlockSchema = descreverPeloJsonSchema(ConciseBlockSchema, CONCISE_BLOCK_JSON_SCHEMA, DESCRICOES_IBGE);
256
306
  /**
257
- * Extends a tool's output schema with the provenance channel of the contract
258
- * v1.1: the concise block + the `attribution` URL list (MCP RFC #711). Every
307
+ * Extends a tool's output schema with the provenance channel of the contract:
308
+ * the concise block + the `attribution` URL list (MCP RFC #711). Every
259
309
  * successful response carries both (wired in `toMcpResult`).
260
310
  */
261
311
  export function comProveniencia(schema) {
262
312
  return schema.extend({
263
- provenance: provenanceBlockSchema.describe("Bloco de proveniência (contrato v1.1): fonte, URL, período, extração, diagnóstico de origem e licença"),
313
+ provenance: provenanceBlockSchema.describe("Bloco de proveniência do portfólio: fonte, URL, período, extração, diagnóstico de origem e licença"),
264
314
  attribution: z
265
315
  .array(z.string())
266
316
  .describe("URLs canônicas das fontes desta resposta (lista de atribuição)"),
@@ -270,7 +320,7 @@ export function comProveniencia(schema) {
270
320
  export function projetarProveniencia(p) {
271
321
  return { provenance: renderConcise(p), attribution: attributionList([p]) };
272
322
  }
273
- /** Compact text footer for the Markdown channel (fixed wording, contract v1.0). */
323
+ /** Compact text footer for the Markdown channel (wording owned by the package). */
274
324
  export function rodapeProveniencia(p) {
275
325
  return provenanceContext.footer(p);
276
326
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.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.7.0",
3
+ "version": "5.8.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",
@@ -61,10 +61,10 @@
61
61
  "license": "MIT",
62
62
  "dependencies": {
63
63
  "@modelcontextprotocol/server": "^2.0.0",
64
- "@sbissoli/mcp-provenance": "^0.3.0",
64
+ "@sbissoli/mcp-provenance": "^0.4.0",
65
65
  "@sbissoli/mcp-search": "^0.9.0",
66
66
  "@sbissoli/mcp-stats": "^0.3.0",
67
- "@sbissoli/mcp-upstream": "^0.4.0",
67
+ "@sbissoli/mcp-upstream": "^0.4.2",
68
68
  "zod": "^4.5.4"
69
69
  },
70
70
  "devDependencies": {