Skip to main content
Glama

Prefeitura MG Belo Horizonte: IPTU (Emissão Guia)

Server Details

Prefeitura MG Belo Horizonte: IPTU (Issuance Guia), official-source lookup. Platform-hosted, pay per

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
mcp-dir/pref_mg_belo_horizonte_iptu-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 7 of 7 tools scored. Lowest: 3.3/5.

Server CoherenceC
Disambiguation4/5

Each tool has a distinct purpose, but authenticate and connect overlap somewhat around authentication and connection status. The domain-specific IPTU tool is clearly separated from platform-level tools.

Naming Consistency2/5

Naming is inconsistent: bare verbs (authenticate, connect), nouns (marketplace, toolkit_info), verb_noun (report_bug, show_version), and one long odd snake_case name pref_mg_belo_horizonte_iptu_consultar that mixes a domain prefix with the action at the end.

Tool Count2/5

While 7 tools is not excessive, only one relates to the server's stated IPTU purpose; the other six are generic platform/marketplace utilities that do not belong in a domain-specific server, creating a severe scope mismatch.

Completeness1/5

The server is named for IPTU guide issuance (Emissão Guia), but the only domain tool is pref_mg_belo_horizonte_iptu_consultar (consult). There is no emission, generation, or other IPTU lifecycle operation, leaving the core intended function unimplemented.

Available Tools

7 tools
authenticateA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies side effects (opening a browser, storing session) but does not explicitly state them. It does not explain what happens if an invalid token is provided or how session-only login behaves internally. The permanent vs. session distinction is helpful, but potential mutations like overwriting sessions are left ambiguous, though the idempotentHint suggests consistent behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise but contains all necessary information in two sentences. It avoids verbosity while explaining the main use casesched and configuration option. It's readable and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has only one optional parameter and no output schema. The description partially anticipates output by saying 'get the link' when called with no args, but it does not specify the response format or error scenarios. For a simple authentication tool, it lacks some clarity on what the user receives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only defines 'token' with no description, but the tool description covers it: pasting a JWT token for session-only logincars. It clarifies that this parameter is optional ('call with { token }' or 'with no args'). The semantics are adequately explained despite the schema's lack of description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: authentication for IDE agents like Cursor, with explicit instructions for both permanent and session-based token usage. It explains the two modes (config header vs. passing token) and calls out the browser-based flow, leaving no ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete usage steps: either add token to server config for permanent access or call with token for session-only login, or call with no args to obtain a link. It does not mention error handling or prerequisites beyond the user pasting a token, but the main flows are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connectA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds contextual behavior beyond annotations by explaining the meaning of response fields (authenticated, pending[], connect_url) and how they vary based on connection state, which is valuable for an agent to reason about the tool's output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose, then organized by conditional branches. It is concise with no redundant wording while covering the key behavioral outcomes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a status tool with no output schema, the description adequately explains the main return fields (authenticated, pending[], connect_url) and the two primary scenarios (all connected vs. missing credentials). It does not enumerate every possible edge case but is sufficient for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and schema coverage is 100% trivially. According to the rubric, a baseline of 4 is appropriate when there are no parameters, and the description naturally needs to add no parameter-specific information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Returns connection status and URLs' with specific details about response fields (authenticated, pending[], connect_url) and conditional behavior. This distinguishes it from siblings like authenticate and show_version by specifying the exact resource and action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking connection health through its conditional statements ('When all providers are connected... When credentials are missing...'), but it does not explicitly state when to use this over sibling tools or provide exclusions. No alternatives are mentioned.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
actionNosearch
mcp_idNo
messageNo
tool_idNo
argumentsNo{}
immediateNo
tier_slugNo
prompt_bodyNo
prompt_slugNo
prompt_toolNo
prompt_varsNo{}
conversationNo[]
prompt_titleNo
request_nameNo
cancel_reasonNo
cancel_commentNo
prompt_targetsNo
report_contextNo
prompt_categoryNo
request_detailsNo
prompt_descriptionNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description surfaces critical behavioral details beyond the annotations: invoke runs tools even when not installed and does not bloat the tool list; credential/payment failures return connect/checkout links; search/describe flag installed status; and install/subscribe/cancel require elevated permissions. It adds substantial context beyond the sparse readOnly/destructive hints and does not contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but justified by the tool's complexity. It front-loads the core search/describe/invoke flow, then clarifies one-off vs permanent use, billing actions, and the prompt-library subdomain. Each sentence adds value, though the long single-paragraph format makes it harder to scan quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description is remarkably complete: it covers discovery, execution, installation semantics, auth requirements, billing flows, and the prompt library. It also states some return behaviors (profiles, links, flags). It does not document output shapes for every action, and there is no output schema, but the description is strong enough for a multi-action router.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the parameter-meaning burden. It does explain the action enum in detail and mentions key parameters like mcp_id, tool_id, and arguments as part of the workflow. However, with 23 parameters, many remain undocumented (e.g., immediate, tier_slug, prompt_targets, request_details), and the description only partially compensates for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as the official mcp.ai marketplace and explains its role as both a catalog and execution engine for MCPs. It gives a specific workflow (search → describe → invoke), distinguishes itself from the prompt-library subset, and presents concrete capability queries it handles. It is both specific and comprehensive for a multi-action router tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides rich usage guidance: it lays out the core flow, explicitly says to prefer invoke for one-off use and install only for permanent toolkit presence, lists what list_tools/subscribe/cancel/report_bug/request_mcp are for, and notes that writes require owner/admin. This is exactly the kind of when-to-use and when-not-to-use guidance an agent needs.

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_iptu_consultarB
Read-onlyIdempotent
Inspect

Prefeitura MG Belo Horizonte: IPTU (Emissão Guia), 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
identificadorYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations define read-only and idempotent behavior. The description adds meaningful operational details: requires prepaid credit, no platform credentials needed, data is not confidential, and the user is responsible for LGPD compliance. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient paragraph that front-loads the purpose then provides operational and legal context. Every sentence carries value, though it could be better structured with separations, but the length is appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (1 param, no output schema), but the description is missing critical parameter information and does not clarify what the consultation returns (e.g., the IPTU guide). It mentions 'Emissão Guia' but doesn't specify the output, leaving the agent without full understanding of the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter 'identificador' with 0% description coverage. The description completely fails to explain what this identifier refers to (e.g., IPTU registration number, property code), leaving the agent to guess. Since schema coverage is low, the description should compensate but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a consultation ('consulta em fonte oficial') for IPTU (property tax) in Belo Horizonte, specifying the resource and location. It is distinct from sibling platform tools, though it doesn't explicitly state 'use this to retrieve IPTU data'—it's implied rather than overt.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context about payment (prepaid credit) and data responsibility, but does not explicitly say when to use this tool versus alternatives. The sibling tools are unrelated platform utilities, so no direct exclusions are needed, but the usage scenario is only implied through the purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

report_bugA
Idempotent
Inspect

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
messageYes
conversationNo[]
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotentHint=true and destructiveHint=false, but no readOnlyHint (false). The description adds that the tool is for feedback/bug reporting, which implies a side effect of sending data. It also mentions including the conversation for reproduction, which suggests the tool transmits data. No contradictions with annotations; the description adds context about expected input.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that conveys the purpose and a key usage detail (including conversation). No fluff, front-loaded with the verb and resource. Excellent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is relatively simple with 3 parameters, no output schema, and annotations covering idempotency. The description explains the purpose and one param, but does not explain the 'context' parameter or clarify the format of 'conversation' (though it says 'array'). For a feedback tool, the description is adequate but could benefit from clarifying what 'message' should contain and how the conversation is used. Overall, it's decent but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the 'message' parameter indirectly by stating the purpose (sending feedback). It explicitly mentions 'conversation array' which is one of the parameters. The 'context' parameter is not mentioned, but with 3 simple parameters, the description provides enough semantic context for the main ones. Since coverage is 0%, this is a strong compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: report a bug, missing feature, or send feedback. It specifies the resource (bug report) and the action (report). It does not explicitly distinguish from siblings, but the sibling names (authenticate, connect, etc.) are clearly different domains, so the purpose is distinct enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear instruction to include the conversation array for reproduction, which indicates when to use it (provide context for reproduction). However, it does not explicitly state when not to use it or mention alternatives. Given the sibling tools are unrelated, the usage context is implied but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_versionA
Read-onlyIdempotent
Inspect

Show the current MCP platform and adapter versions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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 description doesn't need to restate safety. It adds context by specifying exactly what versions are shown (platform and adapter), which is useful beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded, no waste. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple info tool with no parameters and strong annotations (read-only, idempotent), the description fully covers the purpose. No output schema needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has zero parameters, so description doesn't need to explain parameter semantics. Baseline for 0 params is 4. The description correctly implies no inputs needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Show') and clearly identifies the resource ('current MCP platform and adapter versions'), which distinguishes it from sibling tools like toolkit_info. It is unambiguous and directly states the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving version information but does not explicitly state when to use it versus alternative tools. Given it's a simple informational tool with no obvious alternatives among siblings, the guidance is adequate but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toolkit_infoA
Read-onlyIdempotent
Inspect

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral details beyond the annotations; it merely describes the output content. Since annotations already establish read-only, idempotent, and non-destructive traits, the description does not provide additional context such as side effects, limitations, or performance implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, succinct sentence that efficiently lists the returned information. It avoids redundancy and is well-structured, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of parameters and output schema, the description sufficiently covers the tool's functionality. It provides all necessary information about what the tool returns, making it complete for the given context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the description does not need to explain parameter semantics. This aligns with the baseline expectation for zero-parameter tools; the description adds no extra meaning but also omits nothing necessary.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the current toolkit state and enumerates specific details (installed MCPs, connection status, accounts, catalog tool counts), making its purpose unambiguous. It distinguishes itself from sibling tools by focusing on state retrieval rather than actions like authentication or connection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives; it only describes what it does. While the purpose implicitly suggests using it to inspect toolkit state, there is no direct guidance on scenarios where it would be preferred over other info tools like show_version.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to query official SEFAZ DF IPTU (Distrito Federal property tax) information and issue tax payment guides directly from AI assistants like Claude and ChatGPT. A read-only MCP server with one tool, hosted for any MCP-enabled client, using a prepaid, pay-per-query model.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying official São Paulo city property registration data (Certidão de Dados Cadastrais do Imóvel) via a hosted MCP server, with read-only access and pay-per-use credits.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Allows AI assistants to query official IPTU (property tax) installment data from the Campinas city government, offering a read-only MCP tool with pay-per-use prepaid credits.
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.