Prefeitura SP São Carlos: Certidão Negativa de Débitos
Server Details
Prefeitura SP São Carlos: Clearance Certificate (Debts), official-source lookup. Platform-hosted, pa
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/pref_sp_sao_carlos_cnd-mcp
- GitHub Stars
- 0
- Server Listing
- Prefeitura SP São Carlos: Certidão Negativa de Débitos
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 4.1/5 across 7 of 7 tools scored. Lowest: 3.3/5.
Each tool has a distinct role: authenticate handles login, connect reports status, marketplace discovers and runs MCPs, the sole pref_sp_sao_carlos_cnd_consultar performs the certificate query, and report_bug/show_version/toolkit_info handle meta concerns. No two tools overlap in purpose.
Tool names mix bare verbs (connect, authenticate), compound verbs (report_bug, show_version), a generic noun (marketplace), and a long prefixed domain verb (pref_sp_sao_carlos_cnd_consultar). No consistent verb_noun or noun_verb convention is followed.
Seven tools total, but only one belongs to the server's stated domain (Certidão Negativa de Débitos). The other six are generic platform utilities that belong in a platform console, not a domain-specific server. This is a mismatch between the server's name/purpose and its tool composition.
For the domain of consulting a negative debt certificate, the single query tool provides the core function and no lifecycle is needed. However, the server lacks any certificate-related helpers (e.g., formatting, history, batch checks) and the platform tools don't compensate for that domain gap.
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 key behaviors beyond the annotations: calling with no args yields a link, passing a token establishes a session-only login, and the config approach provides a non-expiring connection. It does not mention return format or error handling, but the idempotent and non-destructive hints are consistent. This adds useful context while leaving minor gaps.
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, with an introductory phrase 'MCP.AI for IDE agents (Cursor, etc.)' and a meandering structure. While the information is complete, it could be tightened for clarity and front-loading. It remains understandable but is not optimally concise.
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 one optional parameter and no output schema, the description covers the essential scenarios: how to get a link, how to pass a token, and the alternative config approach. It does not elaborate on response handling or edge cases, but 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema's 'token' property has no description, but the description explains that the token is a JWT to be pasted for session login, and that omitting it yields a link. This fully clarifies the parameter's meaning and the no-args case, compensating for the 0% schema description 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 states the tool's purpose: authentication via browser login and token handling. It explains the log-in process, token acquisition, and invocation with/without a token, distinguishing between permanent config-based auth and session-only token-based auth. However, it does not explicitly differentiate this tool from the sibling 'connect' tool, leaving some ambiguity.
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 guidance: it recommends adding the token to the server config for a permanent connection, and using the tool itself for session-only login by pasting the token or calling with no args to get a link. This clearly indicates when to use the tool versus alternatives and how to invoke it in different scenarios.
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?
Adds behavioral detail beyond the annotations (readOnlyHint, idempotentHint) by describing the two output states and the conditions (connected vs missing credentials), effectively justifying its read-only and idempotent nature.
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 that front-load the purpose and then clarify the two key states, with no wasted words or redundancy.
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?
Covers the two primary outcomes (all connected and missing credentials) adequately. While it omits partial connectivity scenarios and does not detail URL structure, given no output schema, it provides sufficient context for a status-check 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?
There are zero parameters, so the description appropriately avoids parameter details. Baseline 4 is given for zero-parameter tools as there is nothing to document.
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?
Clearly states it returns connection status and URLs, distinguishing from sibling tools like authenticate and show_version by focusing on status rather than authentication actions or version info.
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?
Provides context on when different states occur (all connected vs missing credentials) but does not explicitly instruct when to choose this tool over alternatives like authenticate or report_bug. Implied usage is sufficient but not 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.
| 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?
Beyond annotations (readOnlyHint=false, openWorldHint=true), the description discloses that invoke runs tools even when not installed, returns links for auth or payment, and that writes require admin. It also clarifies the one-off install behind invoke and flags installed_in_toolkit vs installed_in_workspace, adding substantial behavioral context without contradicting 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 long paragraph covering many sub-features. It is front-loaded with the core purpose and flow, and every sentence adds value for a complex tool. While not broken into sections, the density is justified given the scope, though a structured layout would improve readability.
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 exists, so the description carries the burden of explaining return behavior. It specifies outputs for describe (full profile), invoke (connect/checkout links), and list_tools (callable tools). It also covers auth and billing flows. Some actions (e.g., prompt library) lack return details, but overall it provides sufficient context for a complex tool with many actions.
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 coverage and 23 parameters, the description must compensate. It explains the key actions and uses of parameters like action, mcp_id, tool_id, but does not describe many others (e.g., limit, query, prompt_*). It gives high-level flow but lacks per-parameter details, so the agent may struggle to construct precise calls for less common actions.
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 is the mcp.ai marketplace, with specific verb+resource: it catalogs and runs MCPs, and also includes a prompt library. It distinguishes itself from sibling tools by outlining its core flow of search/describe/invoke and listing distinct sub-actions like install and subscribe.
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 guidance: use invoke for one-off runs, install only for permanent additions, and explains when to use search vs describe vs list_tools. It also states that writes require workspace owner/admin, and notes auth/billing edge cases, providing clear context on when to use this tool over 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_carlos_cnd_consultarARead-onlyIdempotentInspect
Prefeitura SP São Carlos: Certidão Negativa de Débitos, 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 | ||
| inscricao | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
As anotações já declaram readOnlyHint=true, idempotentHint=true e destructiveHint=false. A descrição acrescenta contexto comportamental útil: modelo de cobrança, ausência de credenciais, natureza não sigilosa dos dados e responsabilidade do cliente como controlador. Não há contradição com as anotações.
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?
A descrição é front-loaded com o propósito e usa frases curtas e informativas sobre hospedagem, pagamento e LGPD. O trecho legal poderia ser mais compacto, mas cada frase acrescenta contexto relevante para seleção e uso.
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?
Cobre propósito, custo, autenticação e aspectos legais, enquanto as anotações cobrem o perfil de segurança. Porém, sem schema de saída e com parâmetros não documentados, faltam orientações sobre identificadores e formato da resposta, deixando lacunas para invocação correta.
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?
O schema tem 0% de cobertura descritiva e a descrição não explica cpf, cnpj ou inscricao. O parâmetro obrigatório 'inscricao' permanece sem significado explícito, e o agente não recebe orientação suficiente para preencher os parâmetros corretamente.
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?
A descrição declara claramente o que a ferramenta faz: consulta à Certidão Negativa de Débitos da Prefeitura de São Carlos em fonte oficial. O verbo 'consulta' e o recurso específico distinguem a ferramenta dos irmãos genéricos como authenticate, marketplace e report_bug.
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?
Fornece contexto de uso relevante: hospedado pela plataforma, sem credenciais da plataforma, pagamento por consulta com crédito pré-pago e finalidade legítima sob LGPD. No entanto, não menciona explicitamente alternativas ou quando não usar, então não chega ao nível máximo.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_bugBIdempotentInspect
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 declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true, so the description does not need to repeat these. However, the description adds no additional behavioral context (e.g., data being sent to developers, potential latency, or side effects). It only mentions including a conversation array, which is an input hint rather than behavior.
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 primary purpose and then provides a specific instruction (include conversation array). There is no redundancy 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 reporting tool, the description lacks crucial details: it does not explain the 'context' parameter, does not clarify the format of 'conversation' (string vs array), and does not state what happens after submission (e.g., confirmation, impact). With no output schema, this information is left to the agent's inference, which could lead to misuse.
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 description coverage is 0%, so the description must compensate for parameter meaning. It mentions including the conversation array, but the schema defines conversation as a string (likely JSON), not an array, causing potential confusion. The 'message' parameter is self-explanatory, but 'context' is completely unexplained. This is insufficient compensation for full parameter understanding.
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: 'Report a bug, missing feature, or send feedback.' This is a specific verb+resource combination that distinguishes it from sibling tools like authenticate or show_version, which serve completely 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?
The description implies usage for reporting bugs/feedback, but it does not provide explicit guidance on when to use this tool over alternatives or when not to use it. Siblings are unrelated, so no conflicts arise, but there is no explicit 'when to use' statement beyond the purpose.
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 a safe, read-only, idempotent operation. The description adds useful context by specifying exactly what versions are reported (platform and adapter), which goes beyond the bare annotations. No contradiction with the annotations exists.
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 with no filler or redundancy. Every word contributes to clarifying the tool's purpose.
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 version-inspection tool with strong safety annotations and no output schema, the description is fully sufficient. It tells the agent exactly what information will be surfaced and implies no complex side effects or prerequisites.
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 adds no parameter-level detail, but none is needed because the schema's empty properties are self-explanatory and the purpose is fully described.
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 a specific verb ('Show') with a clear resource ('current MCP platform and adapter versions'), making the tool's purpose immediately obvious. It is distinct from siblings like toolkit_info because it targets version information specifically.
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 tool's use case is implied: use it when you need current version information for the MCP platform or adapter. However, it does not explicitly state when to prefer this over toolkit_info or other sibling tools, nor does it mention any exclusions.
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. The description adds specific content details (what state is returned), which is useful context beyond annotations. No hidden side effects mentioned, but consistent with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the main action, and every word earns its place. It is concise and highly readable.
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?
Without an output schema, the description fully enumerates the response contents (MCPs, status, accounts, tool counts), which is complete for a zero-parameter read-only status 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 tool has 0 parameters, so the description doesn't need to explain parameters; baseline 4 applies. No additional parameter semantics 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 uses a specific verb ('Returns') and precisely enumerates the resource ('current toolkit state') with its components (installed MCPs, connection status, accounts, catalog tool counts), clearly distinguishing it from sibling tools like authenticate and connect.
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?
While no explicit when/when-not is stated, the read-only status nature and sibling context (authenticate, connect) clearly imply this is for inspecting toolkit state before or after connections. Clear context but lacks explicit exclusionary guidance.
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 gradedqualityCmaintenanceConsulta a fonte oficial da Prefeitura de São Paulo para emitir Certidões Tributárias Mobiliárias, via ferramenta somente leitura.MIT
- AlicenseNot gradedqualityCmaintenanceEnables users to consult tax clearance certificates (Certidão Negativa de Débitos) from the Sorocaba city government through an official source, with a read-only tool for natural language queries.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for consulting official municipal tax debt certificates (Certidão Negativa de Débitos Mobiliários) from Prefeitura de Guarulhos, SP, Brazil, via a hosted read-only API with prepaid credits.MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to query the official tax clearance certificate (Certidão Negativa de Débitos) from the Florianópolis city government. It is a read-only tool that facilitates verification of a taxpayer's debt status through natural language.MIT
Your Connectors
Sign in to create a connector for this server.