Skip to main content
Glama

Prefeitura SP São Paulo: Certidão Tributária de IPTU

Server Details

Prefeitura SP São Paulo: Certificate Tributária de IPTU, official-source lookup. Platform-hosted, pa

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
mcp-dir/pref_sp_sao_paulo_iptu-mcp
GitHub Stars
0
Server Listing
Prefeitura SP São Paulo: Certidão Tributária de IPTU

TDQS

B3.2/5.0

Scored across 7 tools

Disambiguation2/5

The set mixes platform-level tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) with a single domain tool (pref_sp_sao_paulo_iptu_consultar). The platform tools have overlapping purposes (connect, toolkit_info, marketplace all report status/discovery) and marketplace itself bundles many sub-actions, making selection confusing. The single domain tool is clearly distinct but the overall set boundaries are unclear.

Naming Consistency2/5

The domain tool uses a long underscore-concatenated name (pref_sp_sao_paulo_iptu_consultar) while platform tools are single words or snake_case compound (toolkit_info, report_bug, show_version). No consistent verb_noun pattern; marketplace is a noun-only tool. Mixed conventions and no clear pattern.

Tool Count2/5

7 tools is within a reasonable absolute range, but the server is named for a single IPTU certificate domain yet devotes 6 tools to platform administration. This is heavily over-scoped for the stated purpose: the domain surface is just one tool, and the rest are unrelated platform utilities.

Completeness1/5

The stated purpose is 'Certidão Tributária de IPTU' but the only domain operation is consultar (consult). There is no support for saving, listing history, comparing, or any other lifecycle. Worse, the other tools are platform-level and don't contribute to the IPTU domain, leaving the domain surface severely incomplete.

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

TDQS

A4/5.0
Behavior4/5

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

It explains the browser-based login flow, the difference between a permanent config token and a session-only pasted token, and what happens when called with no arguments. This adds practical behavioral context beyond the sparse annotations, though it doesn't mention token lifecycle, errors, or what happens after the token page link is obtained.

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 and logically structured: browser login first, then permanent-config best practice, then session-only token option. The first sentence is slightly awkward and 'MCP.AI' adds little clarity, but the rest is front-loaded and useful.

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 simple one-parameter optional tool with no output schema and few annotations, the description covers the main workflow: browser login, permanent config, session token, and no-args behavior. It doesn't describe output/response details or error cases, but the tool's behavior is reasonably complete for an agent.

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 input schema has a bare optional 'token' property with no description, but the description compensates by explicitly saying to call with { token: '<jwt>' } after the user pastes it, or with no args to get the login link. It provides enough meaning beyond the schema, although it could specify the JWT format or expectations more precisely.

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 is for authentication: the user logs in via the browser and supplies/copies an access token. The verb is specific (log in, authenticate) and the resource is the server/IDE connection. It doesn't explicitly distinguish itself from the sibling 'connect' tool, so it doesn't reach a 5.

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 gives clear usage guidance: add the token to the server config for a permanent connection, or pass it as a session-only token; call with no args to get the link. It does not mention when not to use this tool or note the alternative 'connect' tool, so it lacks explicit exclusions/alternatives.

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

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already indicate the tool is read-only and idempotent, and the description adds detailed response variants (authenticated true with empty pending, or connect_url for incomplete credentials). This fully discloses the observable behavior.

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 concise and front-loaded with the primary purpose. Two sentences deliver all essential information without unnecessary detail.

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 that no output schema is provided, the description sufficiently explains return values and covers the two main scenarios. It gives an agent enough context to correctly interpret the result.

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

Parameters5/5

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

The tool has no parameters, so there is nothing to explain beyond the schema. The description adds no conflicting or redundant parameter 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 the tool returns connection status and URLs, using a specific verb and resource. It distinguishes the tool from siblings like authenticate or show_version by focusing on connection state.

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 explains when different outputs occur (all providers connected vs credentials missing), which implies when to use the tool. However, it does not explicitly contrast it with the authenticate sibling or provide an explicit 'use this when' directive.

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

TDQS

A4.4/5.0
Behavior5/5

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

Although annotations only provide basic hints (readOnlyHint false, openWorldHint true, destructiveHint false), the description adds significant behavioral context: invoke works on uninstalled MCPs one-off, returns connect/checkout links that require user follow-up, writes require owner/admin, and prompt links open without login. No contradiction with annotations was found.

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 long but front-loaded with purpose and a clear flow, then organized around invoke, install, prompts, and permissions. Some sentences are dense and run-on, which prevents a 5, but every major section earns its place.

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?

This is a complex 23-parameter multiplexer with no output schema, and the description covers a great deal: core flow, one-off invoke behavior, permission requirements, billing, and prompt publishing. However, it omits the 'resume' action entirely and does not state return shapes for actions like search or list_tools, so completeness has noticeable gaps.

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%, and the description compensates for the central action parameter by explaining what each action does. However, most of the 23 parameters (limit, arguments, immediate, tier_slug, conversation, prompt_vars, request_details, etc.) are not mapped to actions or explained, leaving real gaps for constructing valid calls.

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 opens with a specific role ('official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them') and explains the core flow: search → describe → invoke. It clearly distinguishes this multiplexer from sibling tools by covering catalog discovery, execution, billing, prompt library, and bug reporting.

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 explicitly contrasts when to use invoke vs install: 'prefer invoke for a single/occasional use' and 'Use install only to make an MCP PERMANENT in the active toolkit'. It also gives guidance for list_tools, request_mcp, report_bug, and the prompt-library actions, making usage boundaries clear.

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

pref_sp_sao_paulo_iptu_consultarA
Read-onlyIdempotent
Inspect

Prefeitura SP São Paulo: Certidão Tributária de 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already indicate a read-only, idempotent, non-destructive operation. The description adds valuable context beyond those annotations: payment model, lack of platform credentials, the non-confidential nature of the data, and LGPD data-controller responsibilities. 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.

Conciseness4/5

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

The description is three sentences and front-loaded with the core purpose. Each sentence adds operational or legal context, though the LGPD sentence is somewhat boilerplate and could be trimmed without losing invocation-relevant information.

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 has only one parameter but the description leaves its semantics completely unexplained, making the tool difficult to invoke correctly. It also lacks any indication of the return format or example query form. The official-source and payment context is helpful, but the missing parameter guidance is a major completeness gap.

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

Parameters1/5

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

The single required parameter 'sql' has no schema description and 0% schema description coverage, yet the tool description never explains what 'sql' means or how it should be formatted. This is a critical gap because the agent cannot know what value to provide.

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 a specific action: consulting the IPTU Tax Certificate from São Paulo's official source. It names the resource (Certidão Tributária de IPTU), jurisdiction (Prefeitura SP São Paulo), and differentiates from the generic sibling tools by domain.

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 clear context on when the tool is appropriate: querying official Brazilian public data, with prepaid credit and no platform credentials. It does not explicitly name alternatives or exclusions, but the operational context is clear enough for an agent to infer suitable usage.

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

report_bugB
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[]

TDQS

B3.3/5.0
Behavior3/5

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

Annotations provide readOnlyHint: false, idempotentHint: true, destructiveHint: false. The description does not contradict these and adds context about including recent messages for reproduction. However, it does not disclose additional behavioral traits like side effects or needed context beyond that.

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 purpose and a clear instruction on usage. Every word earns its place with no redundancy.

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?

Given no output schema and simple parameters, the description is adequate but minimal. It clearly states the tool's purpose and one usage note, but could elaborate on expected outcomes or parameter roles for completeness.

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?

Schema coverage is 0%, so the description must explain parameters. It only mentions the conversation array, while required 'message' and optional 'context' are undocumented. The description adds some meaning but is insufficient for full parameter understanding.

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 'Report a bug, missing feature, or send feedback', which identifies the action and resource. It differentiates from siblings like authenticate or marketplaces, though the scope is broad (bug, feature, feedback). Could be more specific but is effective.

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?

It implies usage for reporting issues and instructs including the conversation array for reproduction, but does not explicitly state when to use this tool vs alternatives. No exclusions or alternatives are mentioned, leaving the guidance implicit.

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

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare the tool to be read-only and idempotent. The description adds value by specifying it returns platform and adapter versions, which is directly relevant context. It does not introduce any contradictions and is consistent with 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?

The entire description is a single, front-loaded sentence that immediately conveys the tool's purpose. Every word earns its place; there is zero fluff or repetition.

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 tool with no parameters, no output schema, and clean annotations, this description is completely sufficient. It fully satisfies what a user or agent needs to know to use it correctly.

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?

With zero parameters, the schema is fully covered by default. The description doesn't need to add parameter details. The baseline of 4 for no-parameter tools applies here, as there is nothing more to explain.

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 resource ('current MCP platform and adapter versions'), leaving no ambiguity about what the tool does. It clearly distinguishes itself from sibling tools like 'authenticate' or 'connect' by being a read-only informational call.

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?

While it doesn't explicitly mention when-not-to-use or name alternatives, the context is crystal clear—this is a version-checking tool. The simplicity of the operation makes explicit exclusion unnecessary, and the description sets the right expectation for when an agent would call it.

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

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, and non-destructive behavior. The description adds valuable context beyond those hints by specifying what the tool reports: installed MCPs, connection status, connected accounts, and catalog tool counts. It does not contradict 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?

The description is a single, well-structured sentence that front-loads the core purpose and then lists the specific data categories returned. Every phrase earns its place with no filler or redundancy.

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 zero-parameter, read-only inspection tool with no output schema, the description provides sufficient context by listing all major return categories. It could be slightly more complete by noting that it reports live state, but the annotations and sibling tool names fill in most remaining 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 zero parameters, so the baseline is 4 and no parameter documentation is required. The empty schema is fully covered, and the description focuses entirely on the tool's return content, which is appropriate.

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 ('Returns') and clearly identifies the resource ('current toolkit state'), then enumerates the exact contents: installed MCPs, connection status, connected accounts, and catalog tool counts. This makes it easy to distinguish from siblings like authenticate, connect, and marketplace.

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 clearly conveys that this is a status/inspection tool, so usage is implied when checking toolkit state. However, it does not explicitly state when to prefer this over alternatives or mention any preceding steps such as authenticating or connecting first.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Frequently Asked Questions

Discussions

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

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.