CensoSenso MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ibge_estadosA | Lists all Brazilian states from IBGE. Features:
Examples:
Use a different tool when:
Behavior: read-only and idempotent — a live GET against the public IBGE Localidades API. Returns a Markdown table. |
| ibge_municipiosA | Lists Brazilian municipalities from IBGE. Features:
Examples:
Use a different tool when:
Behavior: read-only and idempotent — a live GET against the public IBGE Localidades API. Returns a Markdown table. |
| ibge_localidadeA | Returns details of a specific locality by IBGE code. Features:
Examples:
This tool returns the full record of ONE locality you already have the code for. Use a different tool when:
Behavior: read-only and idempotent — a live GET against the public IBGE Localidades API. Returns a Markdown record. |
| ibge_sidraA | Queries SIDRA tables (IBGE's Automatic Recovery System). SIDRA contains data from IBGE surveys like Census, PNAD, GDP, etc. Common tables:
Territorial levels:
Examples:
Statistics mode: for largest/smallest/mean/median/distribution/ranking questions ("which municipality has the largest population?", "median GDP by state") use estatisticas=true — it computes min/max/mean/median/std-dev/labeled percentiles over ALL data rows BEFORE pagination and returns top/bottom rankings (default 10, cap 100 via topN), so one call answers what would otherwise require paging thousands of records. With agruparPor="" (e.g. "Unidade da Federação", "Ano") it ranks groups by descending sum, each with its own mini-distribution. Queries mixing several variables auto-group by "Variável" (units differ). SIDRA absence markers ("-", "..", "...", "X") are excluded from n. In this mode pagina/campos/formato are ignored and registros comes empty. Very large queries are refused by the source (since 2026-09-16 SIDRA tables are read through the Aggregates API, whose ceiling is lower than SIDRA's old 100,000-value cap: all municipalities × 12 yearly periods fails, × 8 works) — narrow periodos (e.g. "last 4") or raise nivel_territorial. ibge_sidra is the low-level engine. Prefer a friendlier wrapper when it fits:
Behavior: read-only and idempotent — a live GET against the public IBGE SIDRA API. Returns Markdown plus a typed structuredContent payload. |
| ibge_nomesA | Queries name frequency and rankings in Brazil (IBGE). Features:
Available decades: 1930-2010 Examples:
Behavior: read-only and idempotent — a live GET against the public IBGE Nomes (Censo) API. Returns a Markdown table. |
| ibge_noticiasA | Searches and lists already-published IBGE news articles and press releases. Use this to find recent IBGE publications or announcements about a survey or topic — when an indicator was released, or news mentioning a term like "censo". Results are sorted newest-first; with no parameters it returns the 10 most recent items. Parameters:
Each item returns: title, type (release/news), publication date, editoria (section), related products/surveys, a featured flag, a plain-text summary, and a link to the full article. The header reports the total count and current page. Examples:
Use a different tool when:
Behavior: read-only and idempotent — a live GET against the public IBGE Notícias API. Returns a Markdown list. |
| ibge_sidra_tabelasA | Lists and searches available SIDRA tables. Features:
SIDRA contains data from various surveys:
Examples:
This is step 1 of the SIDRA workflow: find a table code → ibge_sidra_metadados (structure) → ibge_sidra (query). For common data, a wrapper is usually easier: ibge_censo, ibge_indicadores, ibge_comparar, ibge_cidades. Behavior: read-only and idempotent — a live GET against the public IBGE SIDRA API. Returns a Markdown table. |
| ibge_sidra_metadadosA | Returns metadata for a specific SIDRA table. Features:
Use this tool to understand table structure BEFORE querying data with ibge_sidra. Examples:
Use this after finding a table code (ibge_sidra_tabelas) and before querying with ibge_sidra. Behavior: read-only and idempotent — a live GET against the public IBGE SIDRA API. Returns Markdown. |
| ibge_malhasA | Gets geographic meshes (maps) from IBGE in GeoJSON, TopoJSON, or SVG format. Features:
Locality types:
Resolution (internal divisions):
Examples:
Use a different tool when:
Behavior: read-only and idempotent — a live GET against the public IBGE Malhas API. Returns the mesh in the requested format (GeoJSON, TopoJSON, or SVG). |
| ibge_pesquisasA | Lists available IBGE surveys and their tables. Features:
Main surveys:
Examples:
This lists surveys, not data. To find table codes use ibge_sidra_tabelas; to query data use ibge_sidra (or a wrapper: ibge_censo, ibge_indicadores, ibge_comparar, ibge_cidades). Behavior: read-only and idempotent — a live GET against the public IBGE SIDRA/Pesquisas API. Returns a Markdown list. |
| ibge_censoA | Queries IBGE Demographic Census data (1970-2022). Simplified tool to access census data without knowing SIDRA table codes. Available years: 1970, 1980, 1991, 2000, 2010, 2022 Available themes:
Examples:
Statistics mode: for largest/smallest/mean/median/distribution/ranking questions over census data ("which municipality had the largest 2022 population?") use estatisticas=true — full distribution + top/bottom computed over ALL rows before truncation; agruparPor="" ranks groups by descending sum. In this mode campos/formato are ignored and registros comes empty. Use a different tool when:
Behavior: read-only and idempotent — a live GET against the public IBGE SIDRA API. Returns Markdown plus a typed structuredContent payload. |
| ibge_indicadoresA | Queries IBGE economic and social indicators. Available indicators: Economic:
Prices:
Labor:
Population:
Examples:
Statistics mode: for largest/smallest/mean/median/distribution/ranking questions ("which state has the highest unemployment?", "median GDP per capita across states") use estatisticas=true — full distribution + top/bottom over ALL rows before truncation; agruparPor="" (e.g. "Unidade da Federação", "Trimestre") ranks groups by descending sum. In this mode campos/formato are ignored and registros comes empty. Use a different tool when:
Behavior: read-only and idempotent — a live GET against the public IBGE SIDRA API. Returns Markdown plus a typed structuredContent payload. |
| ibge_cnaeA | Queries CNAE (National Classification of Economic Activities) from IBGE. CNAE is the official classification for economic activities in Brazil. Hierarchical structure:
Features:
Examples:
Behavior: read-only and idempotent — a live GET against the public IBGE CNAE API. Returns Markdown. |
| ibge_geocodigoA | Decodes IBGE codes or searches codes by locality name. Features:
Code structure:
Examples:
This tool decodes a code's structure and resolves name→code at any level. Use a different tool when:
Behavior: read-only and idempotent — a live GET against the public IBGE Localidades API. Returns Markdown. |
| ibge_calendarioA | Queries IBGE release and collection calendar. Features:
Event types:
Examples:
Use a different tool when:
Behavior: read-only and idempotent — a live GET against the public IBGE Calendário API. Returns a Markdown list. |
| ibge_compararA | Compares data between localities (municipalities or states). Available indicators:
Features:
Examples:
Use a different tool when:
Use this tool ONLY to rank/compare 2–10 localities on one indicator. For a single locality, use ibge_cidades (municipal panel), ibge_censo, or ibge_sidra. Behavior: read-only and idempotent — a live GET against the public IBGE APIs (SIDRA and Localidades). Returns Markdown plus a typed structuredContent payload. |
| ibge_malhas_temaA | Lists what a THEMATIC territorial recorte of Brazil contains: how many records, with which codes and names, from versioned official IBGE/GeoFTP snapshots. Available recortes:
Filtering with THEMATIC GEOMETRY IS NOT PART OF THIS TOOL'S CONTRACT. Use ibge_malhas for supported administrative geometry. Use a different tool when:
Behavior: read-only and idempotent. Attributes/listings come exclusively from versioned official IBGE/GeoFTP snapshots audited by the laboratory. Returns Markdown plus a typed structuredContent payload. |
| ibge_vizinhosA | Finds nearby/neighboring municipalities. Features:
Examples:
Contiguity is topological (shared boundary); radius mode is an approximation based on centroid distance. For listing/searching municipalities, use ibge_municipios. Behavior: read-only and idempotent — uses the public IBGE Localidades and Malhas v3 APIs; population enrichment, when requested, uses SIDRA. Returns a Markdown list. |
| ibge_datasaudeA | Queries Brazil health indicators, served through IBGE's SIDRA (some originally produced by DataSUS, e.g. mortality and births). Mortality and Birth:
Demographic Indicators:
Sanitation:
Health Coverage:
Territorial levels: 1=Brazil, 2=Region, 3=State, 6=Municipality Use this tool for health, mortality, fertility, sanitation and health-coverage indicators. Use ibge_indicadores for general economic/social series such as GDP, prices, labor and population estimates. Examples:
Statistics mode: for largest/smallest/mean/median/distribution/ranking questions ("which state has the highest infant mortality?", "median life expectancy across states") use estatisticas=true — full distribution + top/bottom over ALL rows before truncation; agruparPor="" ranks groups by descending sum. In this mode campos/formato are ignored and registros comes empty. Use a different tool when:
Behavior: read-only and idempotent — a live GET against the public IBGE SIDRA API. Returns Markdown plus a typed structuredContent payload. |
| ibge_paisesA | Queries international country data via IBGE. Features:
Available regions: americas, europa, africa, asia, oceania Country codes: Use ISO-ALPHA-2 (e.g., BR, US, AR, PT, JP) Examples:
Behavior: read-only and idempotent — queries the public IBGE Países API when data is requested and returns Markdown plus typed structuredContent with provenance. |
| ibge_cidadesA | Queries municipal indicators from IBGE (similar to Cidades@ portal). Features:
Available indicators: populacao, area, densidade, pib_per_capita, idh, escolarizacao, mortalidade, salario_medio, receitas, despesas Examples:
This tool is the panel for a SINGLE municipality (Cidades@). Use a different tool when:
Behavior: read-only and idempotent — uses the public IBGE Pesquisas (Cidades@) API and Localidades lookup; panorama may combine several indicator calls and explicitly reports partial upstream gaps. Returns Markdown plus a typed structuredContent payload. |
| searchA | Searches the IBGE (Brazilian official statistics: SIDRA tables, municipalities, known indicators) catalog and returns up to 10 matching documents as { id, title, url }, ordered by relevance (an empty list means nothing matched). This tool exists for the OpenAI Deep Research contract: ChatGPT deep research, company knowledge and research workflows over the Responses API require exactly the tools Query: natural language or keywords, Portuguese or English; accents and case are ignored. Behavior: read-only and idempotent — the catalog comes from the public source and is cached in memory. |
| fetchA | Returns the full document for an id obtained from Companion of Behavior: read-only and idempotent — a live GET against the public source when the document needs it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| comparar-municipios | Compara 2 a 10 localidades (municípios ou UFs) em um indicador e produz um ranking comentado. |
| perfil-demografico | Monta um perfil demográfico de uma localidade combinando população, censo e indicadores socioeconômicos. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| ufs | As 27 Unidades da Federação com código IBGE (2 dígitos), sigla, nome e região. |
| regioes | As 5 grandes regiões com código, sigla, nome e UFs que as compõem. |
| niveis-territoriais | Códigos de nível territorial (nivel_territorial) aceitos pelas tools SIDRA, com rótulo e nome. |
| tabelas-sidra | Códigos das tabelas SIDRA mais usadas (população, PIB, IPCA, etc.) com descrição. |
| biomas | Códigos dos 6 biomas brasileiros (usados por ibge_malhas_tema). |
TDQS
Scored across 23 tools
Several SIDRA-based statistical wrappers (ibge_censo, ibge_indicadores, ibge_datasaude, ibge_comparar, ibge_cidades) overlap in the indicators they expose, and population data can be obtained from multiple tools. The extensive cross-references in descriptions help mitigate confusion, but an agent could still misselect when a question spans themes (e.g., population by municipality).
21 of 23 tools follow a consistent `ibge_` + snake_case noun pattern (e.g., ibge_sidra, ibge_municipios, ibge_sidra_tabelas). The two exceptions, `search` and `fetch`, are mandated by the OpenAI Deep Research contract and explained, but they still break the otherwise uniform prefix convention.
23 tools is heavy, but they map to distinct IBGE API families (SIDRA, Localidades, Nomes, Notícias, Malhas, CNAE, Países, etc.). The overlap among SIDRA wrappers suggests some consolidation is possible, but the breadth of the domain makes the count reasonable rather than excessive.
The surface covers the major IBGE data domains comprehensively: geography, census, economic/social indicators, health, names, news, release calendar, CNAE, countries, and meshes. The low-level ibge_sidra tool provides arbitrary SIDRA query access, closing gaps for less common surveys; no obvious read-only operation is missing for the stated domains.