Skip to main content
Glama

Prefeitura SP São Paulo: CPOM

Server Details

Prefeitura SP São Paulo: CPOM, official-source lookup. Platform-hosted, pay per query with prepaid c

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
mcp-dir/pref_sp_sao_paulo_cpom-mcp
GitHub Stars
0
Server Listing
Prefeitura SP São Paulo: CPOM

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.2/5 across 7 of 7 tools scored.

Server CoherenceB
Disambiguation3/5

Some tools have distinct purposes (e.g., authenticate, connect, show_version, toolkit_info), but marketplace has a very broad description covering search, describe, invoke, install, list_tools, subscribe, cancel, report_bug, and prompt library—overlapping with report_bug and blurring boundaries between marketplace operations. The CPOM consultation tool is distinct but could be confused with 'marketplace' when searching for CPF queries.

Naming Consistency2/5

Naming is inconsistent: 'authenticate', 'connect', 'marketplace', 'toolkit_info', 'show_version' are plain verbs/nouns, while 'pref_sp_sao_paulo_cpom_consultar' uses a long prefixed name with Portuguese verb 'consultar'. No clear verb_noun pattern, and mixed languages/styles.

Tool Count4/5

7 tools is a reasonable count for a platform server that manages MCP integration and provides access to one CPOM data source. Slightly heavy due to marketplace's many sub-actions rolled into one, but still within a clean scope.

Completeness3/5

The server covers authentication, connection status, marketplace operations, toolkit info, and a specific data consultation. However, marketplace bundles many operations (search, invoke, install, subscribe, etc.) into one tool, which could be split; missing explicit tools for managing multiple data sources beyond CPOM, though that might not be the server's purpose.

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
Behavior4/5

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

The description adds meaningful context beyond the annotations: it explains the token acquisition flow, the permanent vs session distinction, and the config header option. It aligns with the idempotent hint and non-destructive annotation, with no contradictions.

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?

Two sentences cover the primary login flow, permanent config option, session token option, and no-args fallback. The first sentence is somewhat long but remains readable and every clause contributes to the usage.

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 tool with one optional parameter and no output schema, the description covers all usage modes and the config interaction. It could mention response/return behavior, but that is not critical given the tool's simplicity.

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?

With 0% schema description coverage, the description fully compensates by explaining the 'token' parameter as a JWT from the browser, showing example usage with `{ token: '<jwt>' }` and the no-args alternative. This gives the parameter complete semantic meaning.

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 authenticates the server via browser login and token exchange, specifying two modes (config header vs session token) and the no-args link retrieval. It does not explicitly distinguish from sibling tools like 'connect', so it falls short of 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?

Provides actionable instructions for both permanent and session-based authentication, including the no-args call to get a login link. However, it lacks explicit guidance on when not to use this tool or how it relates to the 'connect' sibling, so it earns a 4.

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

Behavior3/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 agent knows it's safe and non-mutating. The description adds context about the two possible response states: authenticated:true when all providers are connected and connect_url when credentials are missing. However, it doesn't explain what happens if only some providers are connected, or if there are other states. The description provides some additional behavioral detail but could be richer.

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, both informative and without fluff. It front-loads the purpose and then gives specific details about return states. Every word earns its place. It's a model of concise, structured description.

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 simplicity (no params, no output schema), the description is complete in explaining what the tool returns and under what conditions. It could be slightly more comprehensive by mentioning partial connection states, but since the description says 'When all providers are connected' and 'When credentials are missing', it covers the main cases. The tool's complexity is low, so the description suffices.

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 0 parameters, and schema description coverage is 100%. Since there are no parameters, the description doesn't need to add parameter semantics. The baseline for 0 params is 4, and the description appropriately focuses on the return value and conditions, so a 4 is warranted.

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: 'Returns connection status and URLs.' It specifies the resource (connection status) and the action (returns). It also provides details about the two possible outcomes (authenticated:true with empty pending[] vs connect_url for missing credentials). While it doesn't explicitly differentiate from sibling tools like 'authenticate' or 'marketplace', the description makes the tool's role clear 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 implies usage context by describing what the tool returns under different conditions (all providers connected vs credentials missing). However, it does not explicitly state when to use this tool versus alternatives. There is no mention of when not to use it or reference to sibling tools. The information gives some guidance but could be more explicit.

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?

Discloses key side effects and edge cases beyond annotations: invoke works one-off without installing, returns connect/checkout links needing user action and retry; writes require workspace owner/admin; search/describe flag installed status. These add critical behavioral context not present in the sparse 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 long but every sentence contributes new, substantive information for a complex 14-action tool. It front-loads the core flow and key deliverable, though it reads as a dense single paragraph that could benefit from clearer segmentation.

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 23-param, 14-action tool with no output schema, the description covers workflow, permissions, one-off execution, billing/auth edge cases, and the prompt library. It omits some actions (e.g., resume) and parameter-level details, but is remarkably complete given the complexity.

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 descriptions are 0% for 23 params, so the description carries the burden. It explains the central action parameter and core flow (action=search/describe/invoke), plus tool_id, prompt variables, and slugs. However, many params (immediate, tier_slug, conversation, request_details, etc.) remain undocumented, leaving gaps.

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?

Description clearly states the tool is 'the official mcp.ai marketplace' with an explicit core flow: search discovers, describe returns profile, invoke runs. It includes specific verbs and resources (MCPs, tools, prompts) and distinguishes itself from sibling helper tools by outlining its encompassing role.

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?

Provides explicit when-to-use guidance: 'prefer invoke for a single/occasional use' vs install to make permanent; explains each action (list_tools, subscribe/cancel, report_bug, request_mcp) and names the intended scenario. This gives clear selection criteria among alternatives.

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

Prefeitura SP São Paulo: CPOM, 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
cnpjYes
Behavior4/5

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

Beyond the read-only/idempotent/non-destructive annotations, the description adds meaningful behavior: paid per query, no platform credentials required, only public/non-confidential data, and LGPD responsibilities for the client. It does not describe response/error details, but the safety profile is already covered by 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 front-loaded and compact, with the purpose stated first. It loses some efficiency by repeating the idea of 'official sources' in a separate sentence, but overall it earns its length by adding billing, data-sensitivity, and legal responsibility context.

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 read-only tool, the description covers the source, access model, payment requirement, data publicness, and LGPD accountability. There is no output schema, so a bit more detail about the returned information would improve it, but the description is sufficient for basic selection and invocation.

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 description coverage is 0%, and the prose does not explain the 'cnpj' parameter, its expected format, or how it drives the consultation. While 'cnpj' is a well-known identifier in the Brazilian context, the description adds no extra meaning beyond the property name in the schema.

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 'Prefeitura SP São Paulo: CPOM, consulta em fonte oficial', clearly naming the target resource and a specific query/consult action. This distinguishes the tool from generic platform siblings such as connect, report_bug, and show_version.

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?

It gives clear operational context: the tool is used for official Brazilian public data, requires no platform credentials, and consumes prepaid credits per query. It does not name explicit alternatives or 'do not use' cases, but the context is strong enough for an agent to select it appropriately.

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 already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true), and the description adds useful behavior beyond that — specifically, that the conversation array should be included 'for reproduction.' No contradiction with the annotations; the description adds value without repeating them.

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?

Two concise, front-loaded sentences with zero wasted words. Every clause earns its place — the first states purpose, the second gives an actionable instruction. Excellent economy of language.

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 low-complexity tool (3 params, no output schema, no enums, no nested objects), the description sufficiently covers purpose and the key usage note about reproduction. Could add a touch more context about what happens after the report is sent, but overall adequate for the tool's simplicity.

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 coverage is 0%, so the description must compensate. It clarifies the 'conversation' parameter by calling it 'recent messages for reproduction.' However, the description doesn't clarify the meaning of 'message' or 'context' parameters; the three parameters' formats and purposes remain partly ambiguous, though the inference gap for an AI is manageable.

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+resource pattern: 'Report a bug, missing feature, or send feedback,' making the tool's three related purposes immediately clear. This differentiates it well from siblings like authenticate or connect, none of which overlap with a report/feedback 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?

Usage context is implied — the tool's scope (bug, missing feature, feedback) and the instruction to include the conversation array imply when to use it. However, there is no explicit guidance on when NOT to use it or acknowledgment of alternatives, though siblings don't obviously compete for the same job.

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

Behavior3/5

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

Annotations already cover readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is disclosed. However, the description adds no extra behavioral context (e.g., output format, connectivity requirements) beyond the basic purpose, though 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.

Conciseness5/5

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

The description is a single concise sentence, immediately front-loaded with the action verb. Every word serves the purpose, with zero redundant or filler content.

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 tool with no parameters and no output schema, the description adequately conveys its function. It lacks explicit return type details, but given the low complexity and presence of annotations, it is sufficiently complete for an agent to invoke 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?

There are zero parameters, and per the baseline for 0-param tools, a score of 4 applies. The description adds no parameter details because none exist; no further explanation is warranted.

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 a specific verb ('Show') and resource ('current MCP platform and adapter versions'). It is unambiguous and distinct from sibling tools like authenticate or connect, which focus on different actions.

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 when to use (checking current versions) but does not explicitly mention alternatives or exclusion criteria. Since no sibling tool appears to handle version queries, this is a minor gap but still leaves the agent without explicit guidance.

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

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 safety is covered. The description adds meaningful behavioral detail by specifying exactly which state dimensions the tool reports (installed MCPs, connection status, accounts, catalog tool counts), which is more than a generic 'returns toolkit state' would provide.

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 one sentence with a clear front-loaded verb and resource, followed by a compact list of output categories. Every word earns its place with no repetition or filler.

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 zero-parameter, read-only status tool with strong annotations, the description sufficiently captures the complete scope of returned state. The output is simple enough that no output schema is needed, and the listed state facets (MCPs, connections, accounts, tool counts) make the tool's purpose fully understandable.

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 input schema carries no burden and the description rightly focuses on return value content. With an empty schema and a clear description of what information is exposed, the baseline of 4 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 a concrete resource ('current toolkit state'), then enumerates exactly what that includes (installed MCPs, connection status, connected accounts, catalog tool counts). This clearly distinguishes it from siblings like show_version (version info) and connect/authenticate (auth actions).

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 conveys clear context: this is the go-to tool for inspecting the overall toolkit state. It implies when to use it (before or when troubleshooting connections, accounts, or catalog tool availability), though it doesn't explicitly state when-not-to-use or name alternatives. Sibling names like connect and authenticate make the boundary clear enough.

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
    MCP server for consulting official Campinas city government (CPOM) data in Portuguese. Read-only, hosted service with prepaid credits, compatible with any MCP client.
    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
    Consulta de dados oficiais da Prefeitura SP Mogi das Cruzes (CPOM) em fonte oficial, com ferramenta de leitura para agentes de IA via HTTP.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying SINTEGRA SP (São Paulo state tax registration) data from official sources via a single read-only tool, hosted as an MCP server with pay-per-use credits.
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.