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.
- package/dist/provenance.d.ts +72 -6
- package/dist/provenance.d.ts.map +1 -1
- package/dist/provenance.js +59 -9
- package/dist/provenance.js.map +1 -1
- package/package.json +3 -3
package/dist/provenance.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance block (portfolio contract
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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 (
|
|
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
|
package/dist/provenance.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGL,kBAAkB,EAGlB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AAKlC,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGL,kBAAkB,EAGlB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AAKlC,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,sDAS5B,CAAC;AAEH,2GAA2G;AAC3G,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAE7C,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,QAAwC,CAAC;AACzE,eAAO,MAAM,oBAAoB,QAAyC,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,YAAY;aACvB,EAAE;aACF,IAAI,EAAE,gFAAgF;aACtF,GAAG;aACH,SAAS,EAAE,4EAA4E;aACvF,WAAW,EAAE,YAAY;CACjB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,uNAC0I,CAAC;AAY1K;;;;;GAKG;AACH,eAAO,MAAM,WAAW;aACtB,WAAW;iBACT,IAAI,EAAE,2BAA2B;iBACjC,QAAQ;iBACR,QAAQ;6BAbsB,SAAS;;;;aAezC,KAAK;iBACH,IAAI,EAAE,8CAA8C;iBACpD,QAAQ;iBACR,QAAQ;6BAjBoB,SAAS;;;;aAmBvC,SAAS;iBACP,IAAI,EAAE,iCAAiC;iBACvC,QAAQ;iBACR,QAAQ;;;;;aAEV,KAAK;iBACH,IAAI,EAAE,8CAA8C;iBACpD,QAAQ;iBACR,QAAQ;;;;;aAEV,MAAM;iBACJ,IAAI,EAAE,kCAAkC;iBACxC,QAAQ;iBACR,QAAQ;;;;;aAEV,WAAW;iBACT,IAAI,EAAE,6CAA6C;iBACnD,QAAQ;iBACR,QAAQ;;;;;aAEV,QAAQ;iBACN,IAAI,EAAE,wBAAwB;iBAC9B,QAAQ;iBACR,QAAQ;;;;;aAEV,SAAS;iBACP,IAAI,EAAE,sCAAsC;iBAC5C,QAAQ;iBACR,QAAQ;;;;;aAEV,IAAI;iBACF,IAAI,EAAE,iBAAiB;iBACvB,QAAQ;iBACR,QAAQ;;;;;aAEV,UAAU;iBACR,IAAI,EAAE,yCAAyC;iBAC/C,QAAQ;iBACR,QAAQ;;;;;aAEV,MAAM;iBACJ,IAAI,EAAE,sBAAsB;iBAC5B,QAAQ;iBACR,QAAQ;;;;;aAEV,SAAS;iBACP,IAAI,EAAE,oCAAoC;iBAC1C,QAAQ;iBACR,QAAQ;;;;;CAEF,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC;AAajD,MAAM,WAAW,uBAAuB;IACtC,6CAA6C;IAC7C,KAAK,EAAE,SAAS,CAAC;IACjB,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,QAAQ,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,UAAU,CAwB1E;AAED,wFAAwF;AACxF,eAAO,MAAM,2BAA2B,2MACmJ,CAAC;AAE5L;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACvC,MAAM,GAAG,IAAI,CAkCf;AAqFD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,EAI7B,OAAO,kBAAkB,CAAC;AAE/B;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAS9E;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,UAAU,GAAG;IACnD,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAEA;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAExD"}
|
package/dist/provenance.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance block (portfolio contract
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
|
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 (
|
|
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
|
}
|
package/dist/provenance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,GAGd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;IACvD,aAAa,EAAE,2BAA2B;IAC1C,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE;IAC5D,WAAW,EAAE,SAAS;CACvB,CAAC,CAAC;AAKH,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,gFAAgF;IACtF,GAAG,EAAE,IAAI;IACT,SAAS,EAAE,4EAA4E;IACvF,WAAW,EAAE,YAAY;CACjB,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,WAAW,EAAE;QACX,IAAI,EAAE,2BAA2B;QACjC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW;
|
|
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.
|
|
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.
|
|
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.
|
|
67
|
+
"@sbissoli/mcp-upstream": "^0.4.2",
|
|
68
68
|
"zod": "^4.5.4"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|