Skip to main content
Glama

CPFL: Download + OCR

Server Details

CPFL: Download + OCR, official-source lookup. Platform-hosted, pay per query with prepaid credit.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
mcp-dir/contas_cpfl_download_ocr-mcp
GitHub Stars
0
Server Listing
CPFL: Download + OCR

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 7 of 7 tools scored. Lowest: 3.4/5.

Server CoherenceB
Disambiguation4/5

Tools have distinct purposes: authenticate handles login, connect checks connectivity, contas_cpfl_download_ocr_consultar handles the domain consult, marketplace manages MCP catalog, report_bug, show_version, toolkit_info each serve specific functions. Minor overlap exists between connect and toolkit_info in reporting status, but descriptions differentiate them clearly.

Naming Consistency2/5

Naming is inconsistent: the domain tool uses snake_case (contas_cpfl_download_ocr_consultar) while all others use camelCase (authenticate, connect, marketplace, etc.). The mix of conventions and lack of a common verb_noun pattern makes the set feel chaotic.

Tool Count4/5

Seven tools is within a normal range, but six are platform-level meta tools with only one domain-specific tool. This is slightly imbalanced for a server named 'CPFL: Download + OCR', but the count itself is reasonable for a management wrapper.

Completeness2/5

The server claims to handle CPFL download and OCR, yet only provides a single consult operation. There are no tools for downloading bills, performing OCR, or managing documents, leaving major gaps in the promised workflow. The domain-specific surface is severely underdeveloped.

Available Tools

7 tools
authenticateA
Idempotent
Inspect

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNo
Behavior4/5

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

With annotations already covering idempotency and non-destructiveness, the description adds useful behavior: no args returns a link, passing a token creates a session-only login, and config-based tokens are permanent. It does not explain exact return values after token submission or error handling, but the key workflow 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.

Conciseness4/5

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

The description is concise and front-loaded with the tool's purpose, followed by actionable usage details. It is slightly wordy with phrases like 'MCP.AI for IDE agents (Cursor, etc.)', but every sentence contributes useful information and no content is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description covers the essential workflow: getting the login link, submitting a token, and the recommended permanent configuration approach. It could be slightly more explicit about what happens after a token is submitted, but overall it is sufficient for an agent to invoke the tool correctly.

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

Parameters5/5

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

The schema only defines an undocumented optional string 'token', so the description carries the full burden. It fully explains the parameter's meaning: omit it to receive the login link, or pass the JWT after the user pastes it for session-only authentication. This compensates completely for the 0% schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states this tool handles authentication for MCP.AI, with a specific login flow involving browser login and token exchange. It explicitly differentiates itself through token-based authentication and session vs. permanent configuration, which distinguishes it from siblings like 'connect'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly explains when to use each invocation mode: no args to get the login link, token for session-only login, and config header for a permanent non-expiring connection. It provides clear context but does not explicitly compare this tool to alternative sibling tools or state 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.

connectA
Read-onlyIdempotent
Inspect

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds useful behavioral context about response states—authenticated with empty pending[] versus missing credentials with connect_url—enhancing what annotations alone provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is two sentences, front-loaded with the primary purpose, and every sentence adds meaningful behavioral detail. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter status tool with strong annotations, the description sufficiently explains the key return states and URL outputs. No output schema is present, but the description covers the important response semantics.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. There is no parameter information to document, and the description appropriately focuses on behavior rather than inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns connection status and URLs, with specific conditional outcomes (authenticated:true vs connect_url). This distinguishes it from sibling tools like authenticate, which performs an action rather than reporting status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when checking connection status, but it does not explicitly state when to use this tool versus alternatives like authenticate. It provides conditional behavior but no direct usage guidance or exclusions.

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

contas_cpfl_download_ocr_consultarB
Read-onlyIdempotent
Inspect

CPFL: Download + OCR, consulta em fonte oficial. Hospedado pela plataforma, sem credenciais da plataforma, pague por consulta com crédito pré-pago. Consulta informação de fontes e órgãos oficiais brasileiros (a mesma disponível ao cidadão), não é dado sigiloso. O cliente é o controlador dos dados e responde pela finalidade legítima (LGPD).

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
senhaYes
instalacaoNo
unidade_consumidoraNo
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral context about payment, lack of platform credentials, official-source nature, and LGPD responsibilities. No contradiction with annotations is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

The description is compact and front-loaded with the core purpose ('CPFL: Download + OCR, consulta em fonte oficial'). The additional legal and commercial statements are relevant but somewhat boilerplate; they do not make the description excessively long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, no output schema, and no parameter-level descriptions, the overall context is incomplete. It explains purpose, cost, and legal framing, but omits what credentials are required, what the optional parameters do, and what the tool returns. This leaves significant gaps for correct invocation.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate by explaining the parameters. It does not address what 'email' and 'senha' refer to, nor the meaning or optionality of 'instalacao' and 'unidade_consumidora.' The mention of 'sem credenciais da plataforma' is tangentially relevant but does not clarify the actual input fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's focus on CPFL bills via 'Download + OCR, consulta em fonte oficial,' naming a specific vendor and operation. It is distinguishable from the generic sibling tools like authenticate or marketplace, though it stops short of precisely stating the output or workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides practical usage context: the tool is hosted by the platform, requires no platform credentials, is paid per query with prepaid credit, and queries official Brazilian sources. It does not explicitly contrast with alternative tools or state when not to use it, but the context is clear enough for an agent to infer appropriate invocation.

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

marketplaceAInspect

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/ link that opens without login.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
actionNosearch
mcp_idNo
messageNo
tool_idNo
argumentsNo{}
immediateNo
tier_slugNo
prompt_bodyNo
prompt_slugNo
prompt_toolNo
prompt_varsNo{}
conversationNo[]
prompt_titleNo
request_nameNo
cancel_reasonNo
cancel_commentNo
prompt_targetsNo
report_contextNo
prompt_categoryNo
request_detailsNo
prompt_descriptionNo
Behavior5/5

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

The description discloses that writes require workspace owner/admin, that invoke returns connect or checkout links for auth/payment, and that invoke runs tools one-off without installing. Since annotations already indicate non-readOnly, this adds valuable side-effect and permission context without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

The description is a dense single paragraph, front-loaded with the core purpose and organized with arrows and semicolons. While lengthy, every sentence adds actionable information for a complex tool; it could benefit from bullet points but contains no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-action tool with no output schema, the description covers core flows, edge cases (not installed, credentials, empty wallet), permission requirements, and prompt library outputs (e.g., shareable mcp.ai/p/<slug> link). It gives enough context for an agent to handle the main scenarios, achieving strong completeness given the tool's complexity.

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

Parameters3/5

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

The description explains the action enum and key parameters like mcp_id, tool_id, arguments, prompt_slug, and prompt_vars contextually. However, with 23 parameters and 0% schema coverage, many parameters (limit, query, immediate, tier_slug, cancel_reason, conversation, etc.) are left to inference, so the description only partially compensates for the lack of structured parameter docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as 'the official mcp.ai marketplace' and explains it is both a catalog of MCPs/tools and the way to run them. It distinguishes its dual role (discovery and execution) and also covers the prompt library, making its 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance: 'prefer invoke for a single/occasional use' vs. 'Use install only to make an MCP PERMANENT', and directs users to request_mcp when nothing fits. It also clarifies list_tools as what is callable right now, providing clear when-to-use context and alternatives.

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

report_bugA
Idempotent
Inspect

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
messageYes
conversationNo[]
Behavior3/5

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

Annotations already declare idempotentHint=true and readOnlyHint=false, so the description adds the context that the tool expects a conversation array for reproduction. It could disclose more about what happens after submission (e.g., where the report goes) but does provide a useful behavioral hint beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is exactly two sentences: a clear statement of purpose followed by a concrete usage pointer. Every word earns its place with no fluff, making it front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple feedback tool with no output schema, the description is sufficiently complete: it covers the core action and the critical input behavior. It could mention that 'message' is required or clarify that 'context' is optional, but the tool's simplicity makes this less critical.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It explicitly explains the 'conversation' parameter usage ('Include the conversation array with recent messages for reproduction'), but provides no guidance on 'message' (which is required) or 'context'. This is undercompensated for a low-coverage situation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Report a bug, missing feature, or send feedback.' It clearly distinguishes from siblings like 'connect' or 'marketplace' by focusing on user-provided feedback and has no overlap with those tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use it (when reporting issues or feedback) and provides a concrete usage hint about including the conversation array. However, it does not mention alternatives or when not to use it, though sibling tools are clearly distinct.

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

show_versionA
Read-onlyIdempotent
Inspect

Show the current MCP platform and adapter versions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe, side-effect-free operation. The description adds no additional behavioral context, such as what exact values or format the version info will use, but it does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

One short sentence that immediately communicates the tool's purpose. Every word earns its place and the description is front-loaded with the main action, followed by the target objects.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only version checker, this description is fully sufficient. The output is implied by the noun 'versions', and the strong annotations plus empty schema eliminate any need for additional caveats or preconditions.

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

Parameters4/5

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

The tool has zero parameters, which baseline gives a 4. The input schema is empty and the description makes clear there is nothing to configure, so no parameter clarifications are necessary.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Show') and clearly identifies the resource ('current MCP platform and adapter versions'), making it obvious what the tool does. It is distinct from sibling tools like authenticate or connect, and reasonably differentiates from toolkit_info by focusing on version numbers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives. It implies one uses it whenever version information is needed, but it does not mention whether it should be used for environment diagnostics, compatibility checks, or how it relates to toolkit_info.

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

toolkit_infoA
Read-onlyIdempotent
Inspect

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully disclosed structurally. The description adds valuable context about what the return state contains (MCPs, connection status, accounts, catalog counts). However, it does not mention whether it makes network calls, its latency characteristics, or any caching behavior, keeping this at a solid 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

Exactly one sentence, front-loaded with the primary purpose ('Returns the current toolkit state') followed by a compact enumeration of the four data categories returned. Every word earns its place with zero fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only status tool, the description covers what return data to expect. There's no output schema, so the description's inventory of return contents (MCPs, statuses, accounts, catalog counts) provides meaningful guidance. Slightly incomplete in that it doesn't hint at the response structure/format, but that's minor for a tool this simple.

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

Parameters4/5

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

The tool has 0 parameters with 100% schema description coverage (vacuously satisfied), so the baseline of 4 applies. The description correctly focuses on return semantics rather than parameters. Nothing more is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb-resource pair ('Returns the current toolkit state') and enumerates exact contents: installed MCPs, connection status, accounts, and catalog tool counts. This clearly differentiates it from siblings like 'connect' and 'authenticate' which are action-oriented, whereas this is a status getter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than explicit. The informational nature of the tool ('Returns the current toolkit state') suggests using it for status/diagnostics, but the description never explicitly states when to prefer it over alternatives or when not to use it. A clear 'the' would be improved with a sentence like 'Use this before connecting to verify state.'

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

Discussions

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

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    Read-only MCP server for consulting CPFL utility data via official source using link and OCR, with prepaid per-query pricing.
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    This MCP server provides a single read-only tool to query official CPFL (electric utility) bill download data via a hosted, prepaid service without requiring platform credentials.
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Enables consultation of Enel RJ electricity bills through official sources, featuring download and OCR capabilities. It is a read-only MCP server that works with any MCP-compatible client, using prepaid credits.
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    MCP server for downloading and extracting text via OCR from Enel São Paulo electricity bills. Read-only with magic-link authentication and pre-paid credit usage.
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.