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.
This server provides 23 well-structured tools accessing the official IBGE Brazilian public data APIs. Strengths: consistent naming conventions (ibge_* prefix makes purpose clear), all tools have descriptions (10-250 chars typical), JSON Schema input/output definitions are complete for all tools, comprehensive parameter documentation, and logical tool composition. Weaknesses: some descriptions are generic/formulaic rather than LLM-optimized; parameters lack enum constraints where applicable (e.g., 'regiao' accepts string but should enumerate N/NE/CO/SE/S); error handling guidance is minimal in tool definitions; output schemas documented in code but not surfaced in tool metadata for LLM reasoning.
Deep Research contract (ChatGPT v4.3.0): fetch and summarize full content from IBGE URLs and web documents
Get IBGE official release calendar for upcoming data publications and census milestones
Query Brazilian Demographic Census data (1970–2022) with theme-based filtering and statistics mode for aggregations (top/bottom, median, percentiles, grouping by characteristics)
Get municipality profile and indicators (Cidades@): population, HDI, GDP per capita, salary, demographic and economic panorama of a single city
Search Brazilian business activity classification (CNAE) codes by keyword or exact match
Compare 2–10 localities on a single indicator (population, GDP, unemployment, income) with statistics mode for aggregations (median, percentiles, ranking)
String parameters accept free-form input without enum constraints. 'regiao' and 'tema' parameters should declare valid values (N|NE|CO|SE|S) as enums, not rely on LLM inference from description.
Descriptions are functional but generic and lack LLM-optimization guidance on WHEN to use each tool. For overlapping tools (e.g., ibge_indicadores vs ibge_sidra vs ibge_censo for population data), descriptions don't clearly disambiguate which is preferred for specific use cases.
No explicit pagination guidance in tool metadata. Tools like ibge_sidra, ibge_censo, ibge_sidra_tabelas return lists but descriptions don't document limit, offset/cursor, or result count caps. LLMs may request entire datasets unintentionally.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Query health indicators from IBGE SIDRA (via DATASUS integration): mortality, morbidity, vaccination, disease surveillance with statistics mode for aggregations
List Brazilian states (UFs) with their geographic and administrative data
Resolve name to IBGE code, decompose code structure, or query hierarchy (UF, mesorregion, microregion, municipality)
Query macroeconomic and social indicators (population, IPCA, unemployment, GDP, income, production) with territorial and temporal aggregation and statistics mode (top/bottom, median, percentiles, grouping by territory)
Get complete geographic and administrative data for a single locality by IBGE code
Get administrative geographic meshes (GeoJSON/SVG) for Brazil, regions, states, or municipalities
Get thematic geographic meshes and boundaries: biomes, Legal Amazon, semi-arid, coastal zone, border areas, metropolitan regions, RIDEs with GeoJSON download URLs
List municipalities (cidades) within a state or search by name
Search Brazilian name frequency data by name, decade, or get rankings of most registered names
Search IBGE news and press releases
Look up international country data: official names, capitals, languages, currencies, and other national attributes from IBGE's country database
List IBGE research surveys and investigations
Query SIDRA statistical tables with filters for territory, time period, and variables. Supports statistics mode for aggregations (top/bottom N, median, percentiles, grouping)
Get metadata for a SIDRA table: available variables, territorial levels, time periods, and classifications (step 2 of SIDRA workflow)
Search SIDRA table catalog by keyword to find table codes and descriptions (step 1 of SIDRA workflow)
Find neighboring municipalities of a given locality (by proximity and shared borders)
Deep Research contract (ChatGPT v4.3.0): search across IBGE data and web-indexed content with curated result summaries and source links
Error handling is absent from tool definitions. No recovery guidance (e.g., 'Invalid code, call ibge_geocodigo first to resolve names') provided to LLMs. Error responses rely on HTTP status codes without actionable next-step messaging.
Tools 'search' and 'fetch' (Deep Research contract) are documented minimally and lack detail on rate limits, content restrictions, and when they should vs. shouldn't be called versus native IBGE tools. Risk of LLM confusion and wasted API calls.
Parameter descriptions lack format constraints. E.g., 'IBGE code' appears in multiple tools but no description specifies the expected format (length, character set, structure). LLMs may pass invalid values.