Prefeitura MG Belo Horizonte: Certidão Negativa de Débitos (IPTU)
Server Details
Prefeitura MG Belo Horizonte: Clearance Certificate (Debts) (IPTU), official-source lookup. Platform
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/pref_mg_belo_horizonte_cndiptu-mcp
- GitHub Stars
- 0
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/5 across 7 of 7 tools scored. Lowest: 3.1/5.
Each tool has a clearly distinct purpose: authentication (authenticate), connection status (connect), marketplace operations (marketplace), a specific certificate consultation (pref_mg_belo_horizonte_cndiptu_consultar), bug reporting (report_bug), version info (show_version), and toolkit state (toolkit_info). No two tools appear to perform the same function.
Tool names follow no consistent pattern: single-word verbs (authenticate, connect), noun phrases (marketplace, toolkit_info), verb-noun combos (report_bug, show_version), and a long domain-specific snake_case name (pref_mg_belo_horizonte_cndiptu_consultar). The mixed conventions make the set feel uncoordinated.
The server has 7 tools, which is within a reasonable range, but only one directly addresses the server's stated purpose (the certificate consultation). The other six are generic platform management tools, making the set feel slightly over-scoped relative to the advertised domain.
The single domain tool covers the core operation of consulting the negative certificate, presumably handling the necessary inputs. However, there are no additional domain-specific operations (e.g., validation, download, or historical lookups), so the surface is minimal but functional for the primary use case.
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?
Annotations include readonly=false, idempotent=true, and destructive=false, but the description adds important behavior: no-args returns a login link, token call creates a session-only login, and config-header setup creates a permanent non-expiring connection. It does not discuss failures or invalid tokens, but the core behavior is disclosed.
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 compact at two sentences and front-loads the target users and authentication flow. The second sentence is dense but every clause adds needed detail, so no clear waste.
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 one optional parameter, no output schema, and no nested objects, the description covers the primary flows: permanent config, session token, and link retrieval. It lacks explicit return/error behavior, but complexity is low enough that the core context is 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?
With 0% schema description coverage and one optional token parameter, the description supplies the missing semantics: token is a JWT pasted from the browser and used for session-only auth; omitting it triggers the link-returning flow. This fully compensates for the bare schema.
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 frames the tool as MCP.AI authentication for IDE agents, with explicit actions: browser login, copying an access token, and either configuring a permanent Authorization header or passing a token for a session. It distinguishes from siblings by focusing on token/link-based auth rather than general connection or marketplace operations.
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?
It provides explicit mode guidance: the preferred permanent setup is writing the token to server config, while session-only login uses a { token } call; calling with no args returns the login link. This tells an agent when to choose each invocation path, though it does not address sibling tools directly.
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 declare readOnlyHint=true and idempotentHint=true, covering safety. The description adds conditional return behavior (authenticated:true vs connect_url and per-install URLs) beyond annotations, disclosing how output varies based on connection state.
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, starting with the main purpose, then elaborating on two scenarios. No redundant or filler content; each sentence adds essential information.
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?
With no output schema, the description must explain return values, which it does thoroughly: it specifies the main output (status and URLs) and details both possible states (all connected vs missing credentials). For a 0-param read-only tool, this is 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?
Tool has zero parameters, so baseline is 4. Schema coverage is 100% (empty properties). The description contains no param info, which is appropriate since none exist; thus it fully meets the baseline.
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', specifying both the verb and resource. It distinguishes from siblings like authenticate (which performs auth) and show_version (version info) by focusing on status and URL retrieval.
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?
Provides clear context for when to use: to check if providers are connected and retrieve connection URLs. However, it does not explicitly mention alternatives or exclusion cases, though the scenarios (all connected vs missing credentials) imply its purpose for status checks.
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?
Beyond the annotations, the description reveals critical behavioral traits: invoke works even when the MCP is not installed, runs it one-off without bloating the tool list, requires owner/admin for writes, returns connect links for missing credentials, and returns checkout links for unpaid usage. This is substantial context that annotations do not provide, and there is no contradiction with readOnlyHint=false.
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 well-organized, front-loading the core flow and using clear signposts like 'Core flow,' 'KEY,' and 'Use install only to...' Every sentence adds relevant operational information for a genuinely complex multi-action tool. It could be tightened with bullet structure, but the density is justified by the tool's breadth.
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 the tool's complexity—14 distinct actions, 23 parameters, no output schema—the description covers a remarkable amount: the core flow, permissions, auth/checkout behavior, toolkit effects, and the prompt library. Missing details such as the meaning of the 'resume' action and the exact return shapes of search/describe prevent a perfect score.
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?
Schema description coverage is 0% across 23 parameters, so the description carries the burden. It explains the meaning of key action values like search, describe, invoke, install, and the prompt-related actions, and implies tool_id, mcp_id, and arguments. However, many parameters such as limit, immediate, tier_slug, conversation, cancel_reason, report_context, and prompt_targets are not explicitly mapped to their roles, leaving gaps for correct invocation.
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 defines the marketplace as the official mcp.ai catalog AND execution layer, with specific verbs for its core actions: search, describe, invoke, and install. It also distinguishes its scope from sibling tools by covering capability requests, MCP discovery, one-off invocation, billing, and the prompt library.
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 operational guidance: use search → describe → invoke for discovery and one-off runs, prefer invoke over install for occasional use, use install only for permanent toolkit additions, and use request_mcp when nothing fits. It also explains when invoke returns connect or checkout links and how to proceed, making selection among actions clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pref_mg_belo_horizonte_cndiptu_consultarBRead-onlyIdempotentInspect
Prefeitura MG Belo Horizonte: Certidão Negativa de Débitos (IPTU), 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 |
|---|---|---|---|
| data_fim | Yes | ||
| data_inicio | Yes | ||
| identificador | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the readOnly/idempotent annotations, such as cost per query, data privacy responsibilities (LGPD), and the nature of data (non-confidential, from official Brazilian sources). 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 a single, concise paragraph but mixes multiple concerns (purpose, hosting, payment, LGPD) without clear structure or front-loading. It is not overly verbose but could be better organized with bullet points or a clearer hierarchy.
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 three parameters and no output schema, the description leaves out critical details such as parameter formats, return payload structure, error handling, and expected usage context. The legal disclaimers do not cover functional completeness.
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 coverage and no mention of parameters in the description, the semantic meaning of 'identificador', 'data_inicio', and 'data_fim' remains unexplained. The description fails to compensate for the lack of schema metadata.
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 identifies the tool as a query for a Negative Debt Certificate (IPTU) from Belo Horizonte city hall, using specific verbs and resources. It distinguishes itself from generic sibling tools by being domain-specific.
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 contextual details like 'no platform credentials' and 'pay per query' but offers no guidance on when to use this tool versus alternatives or any exclusions. It lacks explicit when-to-use and when-not-to-use directions.
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 indicate idempotentHint=true and destructiveHint=false, which suggests it's a non-destructive operation. The description does not add much beyond that; it doesn't describe side effects or whether it creates a ticket or sends an email. With minimal annotations, the description could go deeper but doesn't.
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 one sentence, but it's informative and front-loaded. It states the purpose and gives a key instruction about the conversation array. It's efficient but could be slightly more structured.
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 that this is a feedback tool with 3 parameters and no output schema, the description is incomplete. It doesn't explain what the 'message' parameter is for (presumably the feedback text), what 'context' is for, or how the conversation array is specifically formatted. Since it's a tool for reporting bugs, details on reproduction steps are crucial. The sibling tools give no hints about feedback workflow.
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?
Schema coverage is 0% according to context signals, meaning the description does not describe any parameters. The description mentions 'conversation array' but not explicitly the 'conversation' parameter; it also doesn't explain 'context' or 'message'. With low coverage, the description should add meaning, but it only gives a hint about conversation.
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 that the tool reports a bug, missing feature, or sends feedback, which is a specific set of purposes. It distinguishes from sibling tools like 'authenticate' or 'marketplace' by focusing on feedback generation, though it doesn't explicitly distinguish from other potential feedback tools (none present).
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 says to include the conversation array with recent messages for reproduction, which gives clear guidance on what to provide. However, it does not explicitly state when not to use this tool or mention alternatives, but the context of being a feedback tool is clear.
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 readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds that it shows platform and adapter versions, which is minor additional context. No contradiction, but not much 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?
Single sentence, directly to the point, zero wasted words.
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?
Simple tool with no output schema, but annotations provide safety info. Description is sufficient for the task. Could mention return format but not necessary for such a simple tool.
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 parameters, schema coverage is 100% by defaultdarling. The description is concise and clear. No issues.
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 the specific verb 'Show' with resource 'current MCP platform and adapter versions,' clearly stating what the tool does. It is distinct from siblings like authenticate, which handle authentication, and toolkit_info, which likely provides broader information. No ambiguity.
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 no guidance on when to use this tool versus alternatives. It simply states what it does without any context or exclusions.
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, so the safety profile is covered. The description adds some value by specifying what information comes back, but it does not disclose additional behavioral traits such as timing, caching, or external dependencies.
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 entire description is one focused sentence that front-loads the main purpose and then enumerates useful details. Every element contributes to understanding the tool, with no filler or 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?
For a no-parameter, read-only info tool, the description fully covers what the tool returns, which serves as the expected output specification. The annotations and zero-parameter schema make this a complete and unambiguous tool definition.
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 tool has zero parameters, and schema description coverage is effectively complete. There is no parameter meaning to add beyond the schema, so the baseline of 4 is appropriate.
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 concrete resource ('current toolkit state') followed by detailed content: installed MCPs, connection status, connected accounts, and catalog tool counts. This clearly differentiates toolkit_info from siblings like authenticate or marketplace.
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 establishes a clear use case: checking the toolkit state and its installed/connected components. It does not explicitly name alternatives or exclusion scenarios, but the scope is unambiguous enough for an agent to know when this informational tool is appropriate.
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
- AlicenseNot gradedqualityCmaintenanceConsulta Certidão Negativa de Débitos da Prefeitura MG Uberaba em fonte oficial, somente leitura, via MCP over HTTP.MIT
- AlicenseNot gradedqualityCmaintenanceProvides read-only consultation of negative debt certificates (Certidão Negativa de Débitos) from the Juatuba city prefecture in Minas Gerais, Brazil, through a single official tool.MIT
- AlicenseNot gradedqualityNot gradedmaintenanceMCP server for consulting Minas Gerais state tax debt clearance certificates from the official SEFAZ MG source. Read-only, pay-per-use, works with any MCP client.MIT
- AlicenseNot gradedqualityCmaintenanceProvides a read-only MCP tool to consult official negative debt certificates from the municipality of Itaúna, MG, Brazil, with hosted pay-per-use access.MIT