CENPROT SP: Protestos
Server Details
CENPROT SP: Protestos, official-source lookup. Platform-hosted, pay per query with prepaid credit.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/cenprot_sp_protestos-mcp
- GitHub Stars
- 0
- Server Listing
- CENPROT SP: Protestos
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.2/5.
The single CENPROT data-lookup tool is clear, but `connect`, `toolkit_info`, and parts of `marketplace` all return connection/installation/status information, and `authenticate` overlaps on the credential flow. An agent could easily pick the wrong tool for a status or auth task.
Names mix standalone English verbs (`connect`, `authenticate`), generic nouns (`marketplace`, `toolkit_info`), and the long Portuguese `cenprot_sp_protestos_consultar` with object-before-verb ordering. There is no consistent pattern across the set.
Seven tools is not an unreasonable count, but most of them are generic platform utilities rather than CENPROT functionality. Only one tool actually serves the server's stated domain purpose, so the set feels inflated and unfocused.
A single consultar tool may cover the core read-only lookup, but there is no way to inspect credit balance, query history, or related protest details. The `marketplace` tool can compensate for other data needs, but only through indirection rather than a coherent CENPROT surface.
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 explains the side effects of the two modes: permanent config vs session-only login. It implies state changes but does not explicitly state that calling with a token will overwrite existing credentials, though the idempotentHint annotation mitigates that concern.
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 somewhat verbose but well-structured with 'Best' and 'Or' directing the two usage paths. It packs necessary information without excessive fluff, though it could be tightened for brevity.
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 covers the essential scenarios: permanent token setup and session login, including how to obtain the link. It does not mention return values or error cases, but these are not critical for basic usage.
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 description explains that the 'token' parameter is a JWT to be pasted for session login, and that omitting it returns a login link. This fully clarifies the meaning and optionality of the 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 states the tool's purpose: authenticating MCP.AI for IDE agents. It specifies the action (log in) and the target system, distinguishing it from sibling tools like connect or marketplace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage instructions for both modes: adding a permanent token to the server config or providing a session token. It even details when to call with arguments versus without, making it unambiguous when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cenprot_sp_protestos_consultarBRead-onlyIdempotentInspect
CENPROT SP: Protestos, 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 |
|---|---|---|---|
| cpf | No | ||
| cnpj | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds important behavioral details beyond annotations: it mentions the payment model (prepaid credit per query), privacy classification (non-confidential data), and legal responsibility (LGPD). These are not covered by the readOnly/idempotent hints, so the description adds value. However, it omits potential rate limits or error behaviors.
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 somewhat redundant, repeating that it is a consultation and legal statements about LGPD in two sentences. It could be tightened to one or two sentences without losing meaning. Still, it is not excessively long.
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?
No output schema is provided, and the description does not describe what the response contains (e.g., list of protests, status codes, pagination). It also lacks information about error conditions or how to interpret results. This leaves significant gaps for the agent to understand the tool's full behavior.
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 provides no descriptions for 'cpf' and 'cnpj', and the description does not explain their roles or accept/reject criteria. It only implies they are identifiers for the consultation. Given 0% schema coverage, the description should have clarified these parameters but did not, leaving the agent guessing.
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 indicates this is a consultation tool for protests (protestos) from an official source, which distinguishes it from unrelated sibling tools like authenticate or report_bug. The noun-verb structure is effective, though it doesn't explicitly state 'query by CPF/CNPJ'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides some context (official source, prepaid credit, no platform credentials) but does not explicitly state when to use this tool over alternatives or outline specific conditions (e.g., required parameters, eligibility). Since there are no similar tools, this is acceptable but not exemplary.
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, so the safety profile is clear. The description adds behavioral details about the response shape (authenticated:true, empty pending[], connect_url) that are not in annotations, providing useful context. However, it doesn't discuss potential partial connection states beyond 'missing credentials' or any side effects, but given the annotations, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and provides concrete examples of what to expect. 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?
Given that the tool has no input parameters, no output schema, and annotations cover the safety profile, the description is quite complete. It covers the two main scenarios and what the response includes. It doesn't mention pagination or detailed return formats, but that's likely unnecessary for a status tool. It could potentially mention if there's any action required, but the description is sufficient.
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?
There are zero parameters, and the schema is empty. The description doesn't need to elaborate on parameters. Since there are no parameters, a baseline of 4 is appropriate; the description explains what to expect in the output based on state, which is sufficient.
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 that the tool returns connection status and URLs, and explains the two possible outcomes (all providers connected vs. missing credentials). Although it doesn't explicitly distinguish from sibling tools like 'authenticate' or 'toolkit_info', the resource and function are clear.
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 a diagnostic usage: call it to check connection status and discover connect URLs when credentials are missing. It doesn't explicitly state alternatives, but given the sibling tools, it's clearly a status-checking tool vs. an authentication tool. No explicit exclusions, but context is present.
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?
It discloses key behaviors: invoke works without installing the MCP, returns connect/checkout links for auth/payment, and notes that write operations require workspace owner. These details go beyond the minimal annotations, which only set readOnlyHint false and destructiveHint false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively long, with repetitive emphasis (e.g., 'KEY:', multiple occurrences of 'invoke works') and a run-on structure that reduces readability. It could be condensed significantly without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers the main workflow, edge cases (auth, payment), and permission requirements, but does not specify the format or content of return values for actions like search or describe. Given there is no output schema, this omission leaves the agent uncertain about expected results.
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?
Although the schema has no descriptions, the text explains many parameters implicitly by describing actions and their inputs (e.g., action, query, mcp_id, tool_id, arguments). However, some parameters like cancel_reason, cancel_comment, prompt_targets, and others remain unexplained, leaving gaps in coverage.
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 the mcp.ai marketplace and explains its core flow of search, describe, and invoke, covering both MCPs and prompts. It differentiates from sibling tools by focusing exclusively on marketplace operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use invoke over install ('prefer invoke for a single/occasional use'), and outlines each action (search, describe, list_tools, subscribe, cancel) with its purpose. This helps the agent decide appropriate usage.
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?
The annotations already declare readOnly=false, idempotent=true, and destructive=false, which covers the core behavioral traits. The description adds a useful hint about including conversation data for reproduction but does not elaborate on side effects or permissions beyond what annotations imply.
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 with no fluff or redundant information. It is well-structured and immediately communicates the essential action and a key usage detail.
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 tool is simple with no output schema, so the description covers the main use case adequately. The only gap is the unexplained 'context' parameter, but overall the description provides enough context for an agent to understand the tool's role.
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 no parameter descriptions (0% coverage), so the description must compensate. It does explain the 'conversation' parameter (include recent messages for reproduction) but leaves 'context' unexplained, and 'message' is self-explanatory. This partial clarification raises the score from a baseline, but it is not complete.
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 purpose: reporting bugs, missing features, or sending feedback. It uses a specific verb ('Report') and names the resource/action, and it is distinct from any sibling tools (authenticate, connect, etc.).
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 when to use the tool (when there is a bug, missing feature, or feedback) and provides a specific instruction to include the conversation array. However, it does not explicitly state when not to use it or mention alternatives, though none of the sibling tools are related.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_versionARead-onlyIdempotentInspect
Show the current MCP platform and adapter versions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and side-effect expectations. The description adds no additional behavioral context such as return format, potential output structure, or any special conditions. It does not contradict the annotations, but it also does not go beyond them, which is acceptable given the simplicity of the tool.
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 is front-loaded with the action and target. It contains no superfluous words or redundant information, making it ideal for quick agent parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description sufficiently conveys that it returns version information. However, it could be slightly more explicit about what the output looks like (e.g., a list of version strings, a structured object) since there is no output schema to provide that context. Still, given the simplicity, the current description is almost 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% (empty schema). Per the baseline for 0-parameter tools, the description does not need to add parameter details. The single sentence accurately describes the operation without any parameter ambiguity.
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 with a specific verb ('Show') and resource ('current MCP platform and adapter versions'). It distinguishes itself from sibling tools like authenticate or marketplace, which serve different purposes. No ambiguity about what this tool does.
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 does not provide any guidance on when to use this tool versus alternatives. There is no mention of prerequisites, typical use cases (e.g., debugging, compatibility checks), or situations where this tool would be preferred over similar sibling tools like toolkit_info. The when-to-use context is only implied by the tool's name and purpose.
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?
The description clearly discloses the tool's behavior: it returns the current toolkit state including MCPs, connection status, connected accounts, and catalog tool counts. This goes beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) by specifying the exact content of the return. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states what the tool returns, including all key components. Every word contributes value; there is no repetition or unnecessary detail.
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 read-only tool with no parameters and no output schema, the description adequately covers what the tool returns. It lists all the major pieces of information a user would expect. There is no ambiguity about the result set.
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 the schema is effectively complete. Per the rubric, a baseline of 4 is appropriate for zero-parameter tools. The description does not need to explain parameters, and no additional semantics are 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 the current toolkit state and explicitly lists the key components: installed MCPs, connection status, accounts, and catalog tool counts. This is a specific verb+resource with details that distinguishes it from sibling tools like authenticate or connect, which serve different purposes.
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 explains what the tool does but offers no guidance on when to use it versus alternatives. There is no mention of context such as 'use this before connecting' or any exclusion criteria. A user must infer usage from the description alone.
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 consulting details of protestos (protests) in São Paulo from the official IEPTB/CENPROT source, read-only, using natural language with prepaid credits.MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying the existence and details of protests (protestos) for individuals and legal entities registered in notary offices across Brazil. It is a read-only MCP server that works with any MCP client over HTTP, using pre-paid credits.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for querying official Brazilian protest (IEPTB/CENPROT) records, offering a single read-only tool with prepaid pay-per-use access via hosted MCP endpoints.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server to query the existence and details of protests (protestos) for individuals and companies in São Paulo state notary offices. It offers a read-only tool for checking protest records via natural language.MIT
Your Connectors
Sign in to create a connector for this server.