IBGE: Código de Município
Server Details
IBGE: Código de Município, official-source lookup. Platform-hosted, pay per query with prepaid credi
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/ibge_codigo_municipio-mcp
- GitHub Stars
- 0
- Server Listing
- IBGE: Código de Município
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 7 of 7 tools scored. Lowest: 3.4/5.
The set mixes platform-level management tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) with one domain tool (ibge_codigo_municipio_consultar). Several platform tools (connect, toolkit_info, marketplace list_tools) overlap in reporting connection/installed state, causing potential misselection. The single domain tool is distinct but buried among generic platform tools.
Names are inconsistent: two are snake_case (ibge_codigo_municipio_consultar, show_version) while others are lowercase single words (authenticate, connect, marketplace, report_bug, toolkit_info). No consistent verb_noun pattern; platform tools use imperative verbs but domain tool uses noun_verb format.
Seven tools is within a reasonable range, but the count is skewed: six tools are generic platform management functions (auth, marketplace, version, bug reports) and only one is the actual IBGE data lookup. The server appears designed to host one domain tool but wraps it in a thick platform layer, making the count feel padded.
For an IBGE municipality code server, the domain surface is severely incomplete: only a single 'consultar' (query) tool exists with no CRUD or related operations (e.g., list states, search by name, get metadata). The platform tools are not essential to the domain and do not fill this gap.
Available Tools
7 toolsauthenticateAIdempotentInspect
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond the annotations by explaining the two modes (permanent vs session-only) and the token format (JWT). It does not contradict the annotations (idempotent, non-destructive). While it implies state changes, it does not explicitly mention potential side effects like invalidating previous tokens, but this is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat verbose but structured, with clear instructions and a logical flow. It uses a colon to introduce scenarios and provides alternatives. It could be more concise, but the content is necessary for understanding the authentication process.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core functionality: authentication setup, token usage, and the distinction between permanent and session-based login. It does not describe output (as there is no output schema) but mentions the link returned when called without args. It lacks error handling and security considerations, but for a simple auth tool, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for the token parameter. However, the description text clarifies that token is a JWT access token, and explains its usage for session-only login. This gives meaning to the parameter even though the schema coverage is low. It does not cover all edge cases (e.g., invalid token handling).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to authenticate with the server. It explains the process of logging in via browser, obtaining a token, and configuring it for permanent or session-based access. It distinguishes itself from sibling tools by focusing on authentication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage instructions: either add the token to server config for a permanent connection, or paste it during a session. It also explains how to call the tool with or without the token argument, including the behavior of returning a login link when called with no args.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connectARead-onlyIdempotentInspect
Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds valuable context by detailing conditional return values for connected vs missing credentials, which is beyond the simple hints. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is three concise sentences, front-loading the core purpose and then adding conditional behavior. Every sentence adds information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description effectively explains the two main return scenarios. It doesn't cover partial connection states, but for a simple status tool, this is likely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters, so schema coverage is trivially 100%. Baseline for 0 params is 4, and the description doesn't need to explain parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns connection status and URLs, using the specific verb 'Returns' and a distinct resource. It distinguishes from sibling 'authenticate' by focusing on status rather than performing authentication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the description of checking connection status, but no explicit when-to-use vs alternatives is provided. There is no mention of when not to use this tool or which sibling tools to prefer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ibge_codigo_municipio_consultarBRead-onlyIdempotentInspect
IBGE: Código de Município, consulta em fonte oficial. Hospedado pela plataforma, sem credenciais da plataforma, pague por consulta com crédito pré-pago. Consulta informação de fontes e órgãos oficiais brasileiros (a mesma disponível ao cidadão), não é dado sigiloso. O cliente é o controlador dos dados e responde pela finalidade legítima (LGPD).
| Name | Required | Description | Default |
|---|---|---|---|
| uf | Yes | ||
| municipio | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the annotations: it discloses that no platform credentials are needed, there is a cost per query ('pague por consulta com crédito pré-pago'), and it clarifies data sensitivity and LGPD compliance ('não é dado sigiloso', 'O cliente é o controlador dos dados'). This enriches the agent's understanding of side effects and legal implications, going beyond the simple `readOnlyHint` and `idempotentHint` annotations. It does not contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single block of 4-5 sentences that front-loads the core purpose but then dives into billing and legal disclaimers. While all information is relevant, the LGPD notice could be streamlined for an LLM context. It is not overly long but could be more concise and better structured (e.g., using bullet points) to improve scannability. It earns a middle score because it's not excessively verbose but not maximally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter lookup tool with no output schema, the description covers purpose, billing, and legal context. However, it omits any mention of output format (e.g., what the returned code looks like) and leaves parameter details to the imagination. The absence of parameter descriptions is a notable incompleteness given the entire tool hinges on correct parameter values. It's a borderline acceptable description for a trivial tool but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description was expected to compensate by explaining the parameters (`uf` and `municipio`). It does not. The description never mentions the parameters, their expected formats (e.g., UF as a two-letter state code, `municipio` as a name string), or examples. This is a critical gap; the agent is left to infer parameter semantics solely from the parameter names and tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Código de Município, consulta em fonte oficial' (Municipality Code, query from official source), which is a specific verb+resource+scope. It distinguishes this tool from generic sibling tools like 'authenticate' or 'marketplace', leaving no ambiguity that this is for querying IBGE municipality codes. The tool name also reinforces the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implicit usage context by mentioning 'consulta' (query) and the official source, making it clear this is the tool for IBGE municipality code lookups. However, it does not explicitly state when to use this tool over alternatives or when not to use it. The billing and authentication details ('sem credenciais da plataforma, pague por consulta com crédito pré-pago') hint at operational constraints but don't provide usage exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplaceAInspect
The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/ link that opens without login.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| action | No | search | |
| mcp_id | No | ||
| message | No | ||
| tool_id | No | ||
| arguments | No | {} | |
| immediate | No | ||
| tier_slug | No | ||
| prompt_body | No | ||
| prompt_slug | No | ||
| prompt_tool | No | ||
| prompt_vars | No | {} | |
| conversation | No | [] | |
| prompt_title | No | ||
| request_name | No | ||
| cancel_reason | No | ||
| cancel_comment | No | ||
| prompt_targets | No | ||
| report_context | No | ||
| prompt_category | No | ||
| request_details | No | ||
| prompt_description | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses critical behaviors beyond annotations: invoke works even when the MCP is not installed, runs one-off without bloating the toolkit, returns connect/checkout links for credentials or empty wallets, and writes require workspace owner/admin. It also explains that prompt-publish links open without login. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but information-dense; every sentence adds distinct value, and the 'Core flow:', 'KEY:', and 'Use install only...' framing helps navigation. It could be even more scannable with bullet points or headers, but it avoids fluff and is appropriately detailed for a complex multi-action tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description covers remote invocation, auth/payment redirects, install vs invoke semantics, admin permissions, and the prompt library. It does not detail the return shapes of search, describe, or list_tools results, which would have made it more complete for agents invoking this dispatcher.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates by explaining the action enum in context, the role of tool_id, mcp_id/arguments conceptually, and prompt-library fields. However, some parameters like limit, immediate, tier_slug, cancel_reason, prompt_targets, and conversation are not explicitly described, leaving gaps for a 23-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific role: 'The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them.' It then defines the core search → describe → invoke flow, which clearly distinguishes this tool from siblings like authenticate, toolkit_info, or connect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: capability requests like 'find an MCP that does X', 'prefer invoke for a single/occasional use', 'Use install only to make an MCP PERMANENT', 'list_tools lists what is callable right now', and 'request_mcp asks us to build a NEW MCP when nothing fits.' This is strong alternative-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_bugAIdempotentInspect
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| message | Yes | ||
| conversation | No | [] |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey that the operation is non-read-only, non-destructive, and idempotent. The description adds the context that including conversation aids reproduction, which is helpful. Yet it does not explain side effects, authentication, or error behavior, providing only marginal value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loads the purpose before providing usage guidance. Every word earns its place with no unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only three parameters, no output schema, and annotations covering safety hints, the description covers the essential aspects: purpose and a key usage hint about the conversation parameter. It does not explain the 'context' parameter, but given the low complexity, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the description references the 'conversation' parameter and implies 'message' is the report content, it does not clarify 'context' or give details about the format of the conversation array. With 0% schema coverage, more explicit parameter guidance would be beneficial; the current description adds some but insufficient value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports bugs, missing features, or feedback, using specific verbs and a resource. This distinguishes it well from sibling tools like authenticate or marketplace, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool (when a user reports a bug/feature/feedback) and provides guidance to include the conversation array for reproduction. However, it does not explicitly mention when not to use it or name alternative tools, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_versionARead-onlyIdempotentInspect
Show the current MCP platform and adapter versions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds that it shows both platform and adapter versions, which is a helpful scoping detail beyond the annotations, but not rich behavioral context (e.g., no mention of network calls or error handling).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One clean sentence with no filler. Every word is useful, and the most important term ('Show') leads immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only version utility, the description fully covers what the tool does. No output schema exists and annotations cover safety, so additional detail would be unnecessary bloat.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so a baseline of 4 is appropriate. There is nothing to explain, and the description doesn't need to elaborate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Crisp, specific verb+resource: tells the agent this shows the current MCP platform and adapter versions. No other sibling tool does this; distinguishing is immediate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use, alternatives, or exclusions. For a trivial, read-only version tool, the context is implied, but the description doesn't guide the agent on when this would be preferable over something like 'toolkit_info'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toolkit_infoARead-onlyIdempotentInspect
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value beyond those by specifying exactly what 'state' includes (MCPs, connection statuses, connected accounts, catalog counts), which enriches the behavioral profile for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of roughly 25 words that is front-loaded with the action, information-dense, and contains zero filler. Every phrase adds informational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool with rich annotations and no output schema, the description is complete. It explains the full return semantics and leaves no confusing gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage (vacuously), the information content is trivially complete. The baseline of 4 for a no-parameter tool applies, and there is no missing meaning to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and a specific resource ('current toolkit state'), then enumerates exactly what that state includes (installed MCPs, connection status, accounts, catalog counts). This differentiates it cleanly from siblings like connect or authenticate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes it obvious this is a read-only inspection command, which weakly implies when to use it (when you need to know toolkit state). However, there is no explicit when-to-use guidance or mention of alternatives among siblings; the reader must infer placement in a workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityBmaintenanceThis server provides access to IBGE's public APIs, enabling AI assistants to query geographic, demographic, and statistical data from Brazil.223557MIT
- AlicenseNot gradedqualityCmaintenanceConsulta em fonte oficial documentos de transferência de município via uma ferramenta de leitura, com pagamento por uso e hospedagem na plataforma.MIT
- AlicenseNot gradedqualityCmaintenanceProvides Brazilian company basic registration data (legal name, status, legal nature) from CNPJ through a single read-only MCP tool, hosted with pay-per-use credits.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server to query Brazil's rural property registry (CAFIR) using the CIB code, providing read-only consultation of rural property data via a hosted API with prepaid credits.MIT
Your Connectors
Sign in to create a connector for this server.