Skip to main content
Glama

contaazul_generate_charge

Gera cobrança (boleto, pix ou link de pagamento) para uma ou mais PARCELAS de contas a receber. Aceita até 50 parcelas por chamada; cada uma é emitida separadamente e uma falha não aborta o lote. tipo (obrigatório) aceita EXATAMENTE: BOLETO, PIX_COBRANCA ou LINK_PAGAMENTO (cartão de crédito sai por LINK_PAGAMENTO); formas comuns como boleto/pix/cartão são normalizadas. ids_parcelas são UUIDs de PARCELA — pegue em contaazul_list_receivables (campo id de cada item) ou contaazul_get_installment, NÃO o id do evento financeiro. conta_bancaria, descricao_fatura e data_vencimento são exigidos pela API mas resolvidos automaticamente quando omitidos: a conta de cobranças ativa da empresa (passe conta_bancaria se houver mais de uma, via contaazul_list_financial_accounts com tipos=COBRANCAS_CONTA_AZUL) e a descrição/vencimento da própria parcela. Parcela que já tem cobrança ativa é PULADA (sai em ignoradas) — use forcar=true para emitir mesmo assim. maximo_parcelas só vale para LINK_PAGAMENTO. Retorna {solicitadas, emitidas:[{id_parcela,id,url,status}], ignoradas, erros} — url é o link da cobrança. Para consultar depois use contaazul_get_charge e para cancelar contaazul_cancel_charge. A API NÃO envia o e-mail de notificação da cobrança: isso só na tela do Conta Azul.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
tipoYes
forcarNo
accountNo
id_parcelaNo
ids_parcelasNo
conta_bancariaNo
data_vencimentoNo
maximo_parcelasNo
descricao_faturaNo
desconto_antecipadoNo

TDQS

A4.8/5.0
Behavior5/5

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

With annotations all false, the description carries full behavioral disclosure. It reveals batch semantics ('cada uma é emitida separadamente e uma falha não aborta o lote'), automatic resolution of optional API-required fields, the skipping of already-charged installments unless forcar=true, the scope of maximo_parcelas, the response structure, and the limitation that the API does not send notification emails. No annotation contradictions exist.

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

Conciseness4/5

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

The description is long but information-dense; nearly every sentence adds critical detail. It is logically structured from purpose to batch behavior, parameter specifics, return format, and related tools. A few clauses could be tightened (e.g., the separate mention of each installment being issued individually), but the overall economy is strong for a tool with 11 parameters.

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?

Given the tool's complexity (batch generation, optional auto-resolution, nested objects, 11 params), a complete description must address input selection, output format, edge cases, errors, and related actions. This description covers all of these: it specifies the exact return tuple {solicitadas, emitidas, ignoradas, erros}, explains 'url' as the charge link, notes the notification email caveat, and points to related query/cancel tools. It is exceptionally complete for the provided schema/annotations.

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 schema has no parameter descriptions (0% coverage), so the description must compensate. It explains tipo's exact accepted values and normalization, the semantic meaning and source of ids_parcelas, the auto-resolution and overrides for conta_bancaria, descricao_fatura, and data_vencimento, the purpose of forcar, and the conditional applicability of maximo_parcelas. However, the params `data`, `account`, `id_parcela`, and `desconto_antecipado` (nested object) are not explained, leaving some inference required.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Gera cobrança (boleto, pix ou link de pagamento) para uma ou mais PARCELAS de contas a receber.' It identifies the operation as generating charges for AR installments and lists the payable methods. This distinguishes it from sibling tools like contaazul_cancel_charge and contaazul_get_charge.

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 provides explicit usage context: it explains where installment IDs come from (contaazul_list_receivables or contaazul_get_installment), when to supply conta_bancaria (if multiple accounts, via contaazul_list_financial_accounts), and when to use forcar (to bypass existing active charges). It also names alternatives for follow-up: 'Para consultar depois use contaazul_get_charge e para cancelar contaazul_cancel_charge.' This gives actionable decision guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

C2.9/5.0
Disambiguation2/5

Multiple tools are easily confused: person_write_create/person_write_update and sale_write_create/sale_write_update duplicate the same operation with an internal action flag, and authenticate vs connect both deal with connection setup. Also, list_accounts (company installs) and list_financial_accounts (bank accounts) have similar names but different meanings.

Naming Consistency2/5

Naming patterns vary widely: verb_noun (create_budget, list_people) is mixed with noun_verb (contract_write, person_delete, product_write). The contaazul_ prefix is applied inconsistently, and standalone names like authenticate, connect, marketplace, and toolkit_info break the pattern. Flattened action pairs add redundant, non-idiomatic names.

Tool Count1/5

With 57 tools, this server exceeds the 50+ threshold for an extreme count. The tool list is bloated with generic platform tools (authenticate, marketplace, report_bug) alongside dozens of domain-specific ones, making it overwhelming for agents to parse and select from.

Completeness4/5

The Conta Azul domain is well represented: people, products, services, sales, budgets, contracts, financial accounts, receivables/payables, settlements, charges, invoices, and transfers all have read/create/list operations, and most have update/cancel/delete. Minor gaps like product update/delete or service update exist due to API limitations, but the core workflows are covered.