Prefeitura PE Recife: CPOM
Server Details
Prefeitura PE Recife: CPOM, official-source lookup. Platform-hosted, pay per query with prepaid cred
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/pref_pe_recife_cpom-mcp
- GitHub Stars
- 0
- Server Listing
- Prefeitura PE Recife: CPOM
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 3.9/5 across 7 of 7 tools scored. Lowest: 3.3/5.
Each tool serves a unique, clearly defined purpose: authentication, connection status, marketplace exploration, a specific CPOM query, bug reporting, version display, and toolkit state. There is no overlap or ambiguity between them.
Naming is inconsistent: most tools use imperative verbs (authenticate, connect, report_bug, show_version), but 'marketplace' is a noun, 'toolkit_info' combines noun+noun, and the CPOM tool uses a long snake_case name with a Portuguese verb suffix. No unified pattern exists.
Seven tools is a reasonable number, but the toolset mixes generic platform management utilities with a single domain-specific CPOM quota. This feels like a bundled server rather than a focused one, making the count borderline for its stated purpose.
The server's name implies a focus on CPOM, yet only one tool addresses that domain, offering only a single query operation with no additional lifecycle or management actions. The platform utilities are comprehensive, but the domain-specific coverage is severely incomplete.
Available Tools
7 toolsauthenticateAIdempotentInspect
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavior beyond annotations: it explains permanent vs session-only login mechanisms, and that calling with no args returns a link. It does not contradict the idempotentHint annotation. It could further mention the invocation response format, but the core auth behavior is transparent.
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 moderately long but front-loads the purpose and covers login flow, token format, and an alternative setup in a concise way. The reference to 'MCP.AI' as a platform/organization is the opening and adds a little context, but does not waste much space.
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 there is no output schema and one optional parameter, the description adequately covers flow, input format, and outcome ('get the link'). It could mention the output shape or failure conditions, but it is largely self-contained for selecting and invoking the 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?
The schema only lists 'token' as a string with no description, and schema description coverage is 0%. However, the description fully compensates by explaining what to pass: { token: '<jwt>' } for session login, and no args for obtaining the link. This adds the necessary semantic meaning for the single parameter.
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 an authentication flow: it logs in in the browser, provides an access token, or accepts a pasted token. It distinguishes its behavior by explaining invitation/credential handling, but it does not explicitly contrast with sibling 'connect' or others, so it lacks full sibling differentiation.
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 invocation guidance: call with no args to get the link, or call with { token: '<jwt>' } after the user pastes. It also suggests a permanent alternative via server config, which acts as a conditional 'when not to use this tool' instruction, though it does not mention all sibling alternatives.
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, idempotentHint=true, and destructiveHint=false, covering safety. The description adds behavioral context by detailing return values for both connected and missing-credential states, including the authenticated flag, pending array, and URLs, which 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence front-loads the primary purpose, and the second clarifies outcomes for key scenarios. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter status tool, the description covers the essential return scenarios (connected and missing credentials) with specific field names, making it complete enough to guide usage even without an output schema. Sibling context like 'authenticate' highlights its role in checking pre-auth state.
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, so the baseline is 4. The description does not need to explain parameters, and it thoroughly describes behavior and outputs since no input is required.
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," which identifies both the action and the resource. This differentiates it from sibling tools like "authenticate" (which likely initiates connections) and "toolkit_info" (general information).
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 implies usage for checking connection state, and the scenarios described (all connected vs. missing credentials) give context. However, there is no explicit statement about when to use it instead of alternatives like 'authenticate' or when not to use it.
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?
The description goes far beyond annotations to explain behaviors: invoke runs even when MCP is not installed, returns connect/checkout links for auth/payment, writes require owner/admin, and search/describe flag installed status. No contradiction with readOnlyHint=false, openWorldHint=true, etc. Provides extensive context on side effects and prerequisites.
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 dense, single paragraph that packs a lot of information but is hard to scan. Every sentence adds value, but lack of formatting (bullets, line breaks) reduces readability. It is verbose but efficient; still, it could be restructured for better clarity without losing content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is very thorough for a complex tool: covers flow, permissions, error handling (connect/checkout links), install vs invoke trade-offs, and the prompt library. However, it omits details on many parameters and does not specify return formats for actions, but given no output schema and multiple actions, it is largely complete. Only minor gaps in exact parameter usage keep it from a 5.
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 23 parameters, the description must compensate. It explains the meaning of key parameters (action, mcp_id, tool_id, arguments) implicitly through the flow, but leaves many (limit, query, immediate, tier_slug, prompt_*) unexplained. It provides some value but does not fully cover parameter semantics, falling short of the burden.
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 this as the official mcp.ai marketplace, covering both discovery and execution of MCPs, plus a prompt library. It distinguishes from siblings like authenticate or connect by focusing on catalog, running, installing, and billing. The verb+resource+scope is very specific and covers all actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: a core flow (search → describe → invoke), clear distinction between invoke (one-off, no installation) vs install (permanent), and when to use search_prompts/get_prompt/publish_prompt. It also mentions requiring workspace owner/admin for writes, and lists alternatives for features like report_bug and request_mcp.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pref_pe_recife_cpom_consultarBRead-onlyIdempotentInspect
Prefeitura PE Recife: 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).
| Name | Required | Description | Default |
|---|---|---|---|
| cnpj | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent), the description discloses that the tool is hosted by the platform, requires prepaid credit, does not need platform credentials, returns only non-confidential data, and is subject to LGPD compliance. These behavioral and contextual details add significant value.
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 succinct, covering the essential points in three sentences without redundancy. Front-loads the purpose, then provides relevant operational and legal context. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool with one parameter and no output schema, the description covers key aspects: purpose, pricing model, data source, confidentiality, and legal responsibility. However, it omits any information about the response format or typical use cases, and does not explain the acronym CPOM, which could be unclear to some agents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single required parameter 'cnpj' with no description, and the schema description coverage is 0%. The tool description does not mention or explain the 'cnpj' parameter at all, leaving agents to infer its purpose from the parameter name alone. The description fails to compensate for the lack of schema documentation.
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 'consulta' (query) and clearly identifies the resource as CPOM data from official Brazilian sources. It distinguishes itself from generic sibling tools (authenticate, connect, etc.) by indicating its domain-specific purpose, though it does not explicitly contrast with them.
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 implies usage context by mentioning payment per query and lack of platform credentials, but it does not explicitly state when to use this tool over alternatives or provide exclusions. No named alternatives or scenarios are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_bugAIdempotentInspect
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| message | Yes | ||
| conversation | No | [] |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it's not read-only, not destructive, and idempotent. The description adds context about including conversation data for reproduction but does not disclose what happens after submission (e.g., where the report goes, any side effects). It adds some value beyond annotations but lacks behavioral specifics like confirmation or storage.
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?
Two concise sentences, front-loaded with the tool's purpose and immediate usage instruction. No 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?
For a simple feedback tool with no output schema and minimal annotations, the description covers what it does and how to use it. It lacks detail on post-submission behavior or parameter specifics, but given the low complexity, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It clarifies the purpose of the 'conversation' parameter (recent messages for reproduction) but leaves 'context' and 'message' vague. The description's mention of 'conversation array' conflicts slightly with the schema's string type, but that is a schema issue. Marginal value added.
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?
Description clearly states the tool's purpose: report a bug, missing feature, or send feedback. The verb 'report' and noun 'bug/feature/feedback' are specific and distinct from sibling tools like authenticate or show_version, which have different functions.
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?
Description gives usage context by instructing to include the conversation array for reproduction, which implies when to use (when reporting issues). It does not explicitly mention alternatives or when-not to use, but no sibling tools overlap in functionality, so the guidance is sufficient.
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 indicate read-only, idempotent, and non-destructive behavior. The description adds no contradictory information and is consistent with these traits, but it also does not elaborate on any side effects or limitations, which is acceptable given the annotations cover the main behavioral aspects.
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 sentence that contains only essential information. It avoids any redundancy or unnecessary elaboration, adhering to the principle that every word earns its place.
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 simplicity and the presence of annotations indicating read-only behavior, the description provides enough context to understand the tool's purpose. It does not describe the output format, but since no output schema exists and the tool is a straightforward version query, this omission is not a significant gap.
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 no parameters, and the schema coverage is trivially 100%. Since there is nothing to explain, the baseline score of 3 applies. The description adds no parameter-related details, but none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: showing the current MCP platform and adapter versions. It uses a specific verb (show) and identifies the resource (versions), making the purpose unambiguous and distinct from sibling tools.
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 does not mention use cases, prerequisites, or scenarios where this tool is preferred, leaving the agent without contextual cues for selection.
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 description does not need to restate these. The description adds value by specifying exactly what information is returned (installed MCPs, connection status, accounts, catalog counts). However, it does not disclose other aspects like latency or that the state might reflect a cached view, but for this simple read-only tool the transparency is adequate.
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 sentence that front-loads the purpose and enumerates the key data points. Every element earns its place: it states the verb (returns), the resource (current toolkit state), and the specific content (installed MCPs, connection status, accounts, catalog counts). There is zero 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 the tool's simplicity (no parameters, no output schema, but clear annotations), the description is fully sufficient. It covers the necessary context: what the tool does and what it returns. A slightly higher score might require an indication of how to interpret the connection status or what 'how many catalog tools' means, but for this scope the description 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?
The tool has zero parameters, and schema description coverage is 100% (trivially, as there are no properties). The description clarifies that the tool returns a state overview, which is the only semantic needed. Since no parameters exist, the description fulfills the requirement and adds meaning beyond the empty 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 states the tool returns the current toolkit state, listing specific content: installed MCPs, connection status, connected accounts, and catalog tool counts. This is a specific verb+resource combination and distinguishes it from siblings like authenticate or connect, which handle actions rather than state inspection.
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 implies use for checking the current state of the toolkit, but does not explicitly state when to use it versus alternatives like show_version (which likely shows version info) or marketplace (which may list available MCPs). It does not provide exclusions or alternative tool references, but the context is clear enough for a simple informational tool.
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 gradedqualityCmaintenanceEnables querying official electronic service invoice (NFS-e) data from the Recife city government through a read-only, hosted MCP server with pay-per-use prepaid credits.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for consulting negative debt certificates (Certidão Negativa de Débitos) from the Recife city government in Brazil, providing read-only access to official data via a hosted HTTP endpoint.MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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
- AlicenseNot gradedqualityCmaintenanceEnables querying SINTEGRA PE (official Brazilian state tax registration) via a single read-only tool, hosted with pay-per-use credits and compatible with any MCP client over HTTP.MIT
Your Connectors
Sign in to create a connector for this server.