Contazz AutoPilot
Server Details
Brazilian AI-powered accounting & tax automation: NFS-e invoicing, CBS/IBS tax reform, compliance.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
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.6/5 across 61 of 61 tools scored. Lowest: 2.6/5.
Most tools have distinct purposes, but there is some overlap (e.g., criar_cobranca vs criar_cobranca_pix; calcular_cbs_ibs vs consultar_aliquota_cbs_ibs). Overall, an agent can usually differentiate.
Naming is inconsistent: some tools use Portuguese verb_noun (agendar_cobranca, cancelar_nfse), others use noun_noun (autopilot_regua, badges_contadores), and some use English prefix (reconciliation_*). Mixed conventions create confusion.
With 61 tools, the surface is overly large for typical use. While the server covers many subdomains, the sheer number makes it cumbersome for an agent to navigate effectively.
The tool set covers a broad range of financial and fiscal operations (invoicing, payments, reconciliation, tax, compliance, dashboards). Minor gaps exist (e.g., updating client info), but core workflows are well supported.
Available Tools
61 toolsagendar_cobrancaAgendar Cobrança RecorrenteADestructiveInspect
Agenda uma cobrança para ser gerada automaticamente em data futura ou de forma recorrente (cron). Usa o sistema de Heartbeat para execução confiável.
| Name | Required | Description | Default |
|---|---|---|---|
| valor | Yes | Valor da cobrança em reais | |
| clienteId | Yes | ID do cliente | |
| descricao | Yes | Descrição da cobrança | |
| empresaId | No | ID da empresa | |
| dataInicio | Yes | Data da primeira cobrança YYYY-MM-DD | |
| recorrencia | No | Frequência | mensal |
| formaPagamento | No | Forma de pagamento | boleto |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true. The description adds value by revealing that the tool uses the Heartbeat system for reliable execution and supports cron-like recurrence, going beyond the basic write operation hint.
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 long, front-loaded with the main action, and contains no unnecessary words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description is adequate but misses details like return value, validation constraints (e.g., future dates only), and idempotency. It covers core functionality but leaves gaps.
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 100%, so baseline is 3. The description does not provide additional meaning beyond the schema's parameter descriptions. No param details are added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it schedules a charge for future or recurring execution, using a specific verb ('Agenda') and resource ('cobrança'). It distinguishes from sibling 'criar_cobranca' by emphasizing automatic scheduling and recurrence.
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 scheduled charges but provides no explicit guidance on when to use versus alternatives (e.g., criar_cobranca for immediate charges). No when-not-to-use or exclusion criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autopilot_reguaAutoPilot RéguaARead-onlyInspect
Retorna o score geral do AutoPilot e status de cada módulo de automação (cobranças, conciliação, compliance, etc).
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description does not need to state read-only nature. It adds context about returned data (score and module status), but no further behavioral traits.
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 single, front-loaded sentence with no wasted words. Every part is informative.
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?
With no output schema, the description partially compensates by summarizing return content. Lacks precise structure, but adequate for a simple status check.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'empresaId'. The tool description does not add extra meaning beyond the schema's description, so baseline 3 is appropriate.
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 overall AutoPilot score and status of each automation module. It specifies a specific verb ('retorna') and resource ('AutoPilot'), distinguishing it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies usage for checking AutoPilot status, but lacks when-not-to-use or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
badges_contadoresBadges/Contadores SidebarARead-onlyInspect
Retorna contadores rápidos: a receber hoje, a pagar hoje, tarefas pendentes.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations indicate readOnlyHint=true, the description adds the nuance 'rápidos' (quick), implying a fast read operation without side effects. This supplements the annotation by hinting at performance characteristics.
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 conveys the core functionality without unnecessary words. It is appropriately concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is simple (1 optional parameter, no output schema), the description covers the return values. However, it lacks usage context and does not explain the purpose of the empresaId parameter, which is only in the schema.
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 covers the sole parameter (empresaId) with description and default. The description does not elaborate on the parameter, but schema coverage is 100%, so baseline of 3 is appropriate.
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 specifies 'Retorna contadores rápidos: a receber hoje, a pagar hoje, tarefas pendentes', clearly indicating the tool returns quick counters for specific categories. This distinguishes it from sibling tools that provide detailed lists or actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. For example, it doesn't mention that for detailed lists like contas a pagar or clientes, one should use listar_contas_pagar or listar_clientes instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
caixa_postal_ecacCaixa Postal e-CACARead-onlyInspect
Consulta mensagens da Caixa Postal do e-CAC classificadas por prioridade e tipo.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, indicating safety. Description adds that results are classified by priority and type, but does not disclose other behaviors like authorization needs or default parameter handling. This is adequate but not enhanced 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with verb and resource, no extraneous words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool with one optional parameter, no output schema, and annotations present, the description is largely complete. It could mention what the messages contain or ordering, but it is not essential.
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?
Input schema has 100% coverage with description for empresaId. The tool description does not add any additional meaning or context beyond what the schema already provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool consults e-CAC mailbox messages, specifying classification by priority and type. This differentiates it from siblings like 'procuracoes_ecac' which deals with powers of attorney.
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 querying messages but does not provide explicit when-to-use or when-not-to-use guidance against alternatives. However, no directly similar sibling exists, so context is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calcular_cbs_ibsCalculadora CBS/IBSARead-onlyInspect
Calcula alíquotas CBS (federal) e IBS (estadual/municipal) da Reforma Tributária (LC 214/2025) para um produto (NCM) ou serviço. Usa a API oficial da Receita Federal.
| Name | Required | Description | Default |
|---|---|---|---|
| ncm | No | Código NCM do produto (8 dígitos) ou código de serviço | |
| ufOrigem | No | UF de origem (2 letras) | SP |
| ufDestino | No | UF de destino (2 letras) | SP |
| tipoOperacao | No | Tipo de operação | prestacao_servico |
| codigoServico | No | Código do serviço municipal | |
| valorOperacao | No | Valor da operação em reais |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so safety is covered. Description adds context about using official API and legal basis (LC 214/2025), but no additional behavioral details beyond what annotations provide.
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 sentences, front-loaded with main purpose, no filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and no required params, description lacks details on default behavior, output format, or handling of omitted parameters. Adequate but incomplete for complex 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?
All 6 parameters have descriptions in the schema (100% coverage). Description adds minimal extra meaning beyond noting product vs service. Baseline 3 is appropriate as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it calculates CBS and IBS tax rates for products or services, referencing the specific law and official API. It distinguishes itself from generic tax tools, though lacks explicit differentiation from sibling tools like 'simular_regime_tributario'.
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?
Implies use for calculating specific tax rates, but no explicit guidance on when to use this tool vs alternatives (e.g., simular_regime_tributario). No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calcular_imposto_seletivoCalcular Imposto SeletivoARead-onlyInspect
Calcula o Imposto Seletivo (IS) sobre um produto com base no NCM, conforme EC 132/2023 + LC 214/2025.
| Name | Required | Description | Default |
|---|---|---|---|
| ncm | Yes | NCM do produto (8 dígitos) | |
| dataDoFato | No | Data do fato gerador ISO (YYYY-MM-DD) | |
| quantidade | No | Quantidade (para base específica) | |
| valorOperacao | Yes | Valor da operação em reais |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation 'readOnlyHint: true' already indicates it is a read operation. The description adds context about the legal basis and NCM dependency but does not disclose additional behavioral traits such as result structure, rate lookup, or error conditions. No contradiction 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?
A single, efficient sentence that communicates the core purpose without extraneous words. Perfectly front-loaded and 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?
The description, combined with full schema coverage, provides sufficient context for a tax calculation tool. However, given the lack of an output schema, a brief mention of the returned value (e.g., tax amount) would enhance completeness. Current version is adequate but not exhaustive.
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 100%, so the schema already documents all 4 parameters. The description reiterates the NCM dependency but adds no new semantic information beyond what the schema provides. Baseline score of 3 is appropriate.
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 calculates the Imposto Seletivo (IS) based on NCM, referencing specific legislation. Action verb 'calcula' and resource 'imposto seletivo' are precise, distinguishing it from sibling tools like 'calcular_cbs_ibs' and 'simular_imposto_reforma'.
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 legal context (EC 132/2023 + LC 214/2025) implying usage for Brazilian tax calculation, but does not explicitly state when to use this tool versus alternatives like 'calcular_cbs_ibs' or 'simular_imposto_reforma'. No when-not-to-use or alternative guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancelar_nfseCancelar NFS-eADestructiveInspect
Cancela uma NFS-e emitida anteriormente. Requer a referência Focus NFe e justificativa obrigatória (mínimo 15 caracteres). Ação irreversível.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa | |
| referencia | Yes | Referência Focus NFe da NFS-e (ex: nfse-2-abc123) | |
| justificativa | Yes | Justificativa do cancelamento (mínimo 15 caracteres) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true. Description adds that it's irreversible and requires a justification, providing context beyond annotations. No contradiction.
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?
Three front-loaded sentences, each serving a purpose: what, requirements, irreversibility. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a cancellation tool with no output schema, the description covers the action and key constraints. Lacks mention of return value or error handling, but is sufficient for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description adds minimal extra meaning (e.g., 'Requires Focus NFe reference' is implied in schema). Baseline of 3 is appropriate.
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 cancels a previously issued NFS-e, using specific verb and resource. It distinguishes from siblings like emitir_nfse and listar_documentos_fiscais.
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 specifies prerequisites (reference and justification with minimum length) and notes irreversibility. However, it does not explicitly contrast with alternatives or give when-not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancelar_webhookCancelar WebhookADestructiveInspect
Desativa um webhook registrado pelo ID.
| Name | Required | Description | Default |
|---|---|---|---|
| webhookId | Yes | ID do webhook a desativar |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include destructiveHint=true, which already indicates a destructive action. The description uses 'desativa' (deactivate), which is consistent with the annotation. However, it adds no further behavioral context beyond what is already conveyed by the annotation.
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?
Description is a single, concise sentence that communicates the core purpose without any extraneous words. It is front-loaded and efficient.
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 (one parameter, no output schema, no nested objects). The description, combined with the schema and annotations, is complete enough for an agent to understand and invoke the tool 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?
Input schema provides full description for the single required parameter (webhookId), so schema coverage is 100%. The description adds no additional meaning beyond the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool deactivates a webhook by its ID. It uses a specific verb ('desativa') and resource ('webhook'), and distinguishes from sibling tools like subscribe_webhook (create) and listar_webhooks (list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (cancel a webhook) but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classificar_transacaoClassificar TransaçãoCRead-onlyInspect
Classifica uma transação financeira automaticamente usando IA (categoria contábil).
| Name | Required | Description | Default |
|---|---|---|---|
| valor | Yes | Valor da transação em reais | |
| descricao | Yes | Descrição da transação (ex: 'Pagamento Google Ads') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a mutation ('classifica'), but the annotation 'readOnlyHint' suggests idempotent behavior. This contradiction is misleading. No disclosure of side effects, such as whether the transaction is updated or if the result is ephemeral.
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, focused sentence with no extraneous information. It is efficient but could benefit from brief behavioral notes without sacrificing conciseness.
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?
Lacks critical information: no output schema, no mention of available outputs (e.g., category string or object), no latency/error handling for AI, and no behavioral context. Completeness is poor given the tool's complexity and the absence of an output schema.
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?
Input schema has 100% coverage with descriptions for both parameters ('descricao' and 'valor'). The description adds no further meaning beyond the schema, achieving the baseline score.
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 classifies a financial transaction using AI to assign an accounting category. The verb 'classifica' and resource 'transação' are specific, and the tool is well-differentiated from siblings like 'listar_transacoes' or 'conciliar_extrato'.
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?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., transaction must exist) or scenarios where classification is not needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compliance_fiscalCompliance FiscalBRead-onlyInspect
Verifica o status de compliance fiscal da empresa: obrigações acessórias, certidões, pendências.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds no new behavioral context. It does not disclose permissions, data freshness, or error handling beyond stating it 'checks' status.
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 scope. No extraneous 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?
No output schema is provided, and the description does not describe the return format, fields, or structure, leaving the agent to infer expected output from terse category listing.
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 already describes the single parameter (empresaId) with 100% coverage. The description adds domain context but does not enhance parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks fiscal compliance status, listing specific areas (ancillary obligations, certificates, pending issues). It distinguishes from siblings like 'consultar_status_fiscal' by specifying the scope.
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?
No explicit guidance on when to use this tool versus alternatives such as 'consultar_status_fiscal' or 'listar_empresas'. The description only implies usage for compliance checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
conciliar_extratoConciliar ExtratoCRead-onlyInspect
Executa conciliação automática entre extrato bancário e lançamentos internos usando IA.
| Name | Required | Description | Default |
|---|---|---|---|
| usarLLM | No | Usar LLM para matches complexos (mais preciso, mais lento) | |
| empresaId | No | ID da empresa | |
| limiteTransacoes | No | Limite de transações a processar |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states it 'executes reconciliation', which implies mutation of data, contradicting the annotation 'readOnlyHint: true'. No details on side effects, permissions required, or impact on existing data are provided.
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 extremely concise (one short sentence) but lacks any structure. It is not verbose, but could benefit from additional context without losing 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?
Given the tool has 3 parameters and no output schema, the description is too terse. It does not explain the return value, the reconciliation process, or any constraints. For a tool involving AI, more behavioral context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all three parameters documented in the input schema. The description adds no extra meaning beyond the schema, so baseline score applies.
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 it executes automatic reconciliation between bank statement and internal entries using AI, providing a specific verb+resource. However, it does not distinguish itself from similar sibling tools like 'classificar_transacao' or 'importar_transacoes'.
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?
No explicit guidance on when to use this tool versus alternatives. The description implies using AI for complex matches via the 'usarLLM' parameter, but does not state when not to use it or mention alternative tools for simpler cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_aliquota_cbs_ibsConsultar Alíquota CBS/IBSARead-onlyInspect
Consulta as alíquotas CBS e IBS vigentes para um serviço ou produto específico (Reforma Tributária LC 214/2025).
| Name | Required | Description | Default |
|---|---|---|---|
| ncm | No | NCM do produto (ex: 84713012) | |
| ufDestino | No | UF de destino (ex: SP) | |
| codigoServico | No | Código do serviço LC 116 (ex: 01.01) | |
| codigoMunicipio | No | Código IBGE do município |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the tool's safety profile is clear. The description adds the legal reference (LC 214/2025) as useful context, but does not disclose any additional behavioral traits such as rate limits, authentication needs, or output format. With annotations covering the core behavior, a score of 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 a single sentence of 15 words, directly stating the tool's function and legal basis. It is front-loaded and contains no redundant or filler information. Every word serves a 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?
Given the tool's simplicity (read-only query with optional parameters, no output schema), the description is largely complete. It names the tax types and law, and implies that the user should provide a product or service identifier. However, it does not specify what the output will contain (e.g., percentage rates, effective dates), which would be helpful.
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 100%, so the baseline is 3. The description does not add any extra meaning beyond the schema, such as explaining which parameters are mutually exclusive or how they affect the query. It simply restates the tool's purpose without parameter-level details.
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 queries current CBS and IBS tax rates for a specific service or product, referencing the tax reform law (LC 214/2025). It uses a specific verb ('Consulta') and resource ('alíquotas CBS e IBS'), and distinguishes from siblings like 'calcular_cbs_ibs' which implies calculation rather than querying.
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. Sibling tools like 'calcular_cbs_ibs' and 'simular_imposto_reforma' exist but no context is given for choosing among them. No when-to-use or when-not-to-use information is included.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_dreConsultar DREARead-onlyInspect
Gera o Demonstrativo de Resultado do Exercício (DRE) da empresa para um período.
| Name | Required | Description | Default |
|---|---|---|---|
| dataFim | Yes | Data fim YYYY-MM-DD | |
| empresaId | No | ID da empresa | |
| dataInicio | Yes | Data início YYYY-MM-DD |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true; description adds no further behavioral context (e.g., permissions, side effects). Not contradictory.
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?
One sentence, front-loaded with the core purpose, no extraneous 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?
Minimal description for a financial report tool; lacks details about return format or content, but complexity is low.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it generates a DRE for a company over a period (specific verb+resource). No sibling overlaps.
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?
No explicit guidance on when to use vs alternatives, but the description implies use when a DRE is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_saldoConsultar SaldoARead-onlyInspect
Retorna o saldo atual de todas as contas bancárias da empresa.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description confirms the read-only behavior already indicated by annotations (readOnlyHint=true). It adds that the tool returns balances for 'all accounts', which is a modest addition beyond the annotation.
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 wasted words. Every word contributes to conveying 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 simple read operation with one optional parameter, the description is complete. It does not specify the return format, but this is acceptable given the simplicity and the lack of an output schema.
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 already documents the sole parameter 'empresaId' with 100% coverage. The description does not add any additional meaning about 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 returns current balances of all bank accounts. It uses a specific verb ('Retorna') and resource ('saldo atual de todas as contas bancárias'), distinguishing it from sibling tools like fluxo_caixa_projetado or saude_financeira.
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?
No explicit guidance on when to use this tool versus alternatives. The description implies it is for checking current balances, but does not mention exclusions or context like 'use this for real-time balances, not projections'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_status_fiscalConsultar Status Documento FiscalARead-onlyInspect
Consulta o status de processamento de um documento fiscal (NFS-e, NF-e, NFC-e) pela referência Focus NFe.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa | |
| referencia | Yes | Referência Focus NFe do documento (ex: nfse-2-abc123) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations include readOnlyHint: true, which already indicates safety. The description adds that the tool is for consulting status, which is consistent and provides context about document types. However, it does not disclose additional behaviors like error handling, rate limits, or what happens if the reference is invalid. With annotations covering the safety profile, a score of 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 a single sentence that efficiently conveys the tool's purpose. No redundant or extra information. It is front-loaded with the key action and resource.
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 there is no output schema, the description should provide some information about the return value (e.g., status codes or processing states). It does not, leaving the agent without clues about the response format. However, for a simple status check tool with good annotations, this is acceptable but not 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 input schema already provides descriptions for both parameters (empresaId and referencia) with 100% coverage. The description does not add new semantic meaning beyond restating the reference format. Baseline 3 is correct.
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 verb 'consulta' (consults), the resource 'status de processamento de um documento fiscal', and specifies the document types (NFS-e, NF-e, NFC-e) and the reference method (Focus NFe). This distinguishes it from sibling tools like emitir_nfse or listar_documentos_fiscais.
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 when needing to check processing status by Focus reference, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., listar_documentos_fiscais). No when-not-to-use or exclusion criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
criar_cobrancaCriar CobrançaBDestructiveInspect
Cria uma nova cobrança (conta a receber) para um cliente. Pode gerar boleto ou Pix automaticamente.
| Name | Required | Description | Default |
|---|---|---|---|
| valor | Yes | Valor da cobrança em reais | |
| clienteId | Yes | ID do cliente | |
| descricao | Yes | Descrição da cobrança | |
| empresaId | No | ID da empresa | |
| vencimento | Yes | Data de vencimento YYYY-MM-DD | |
| formaPagamento | No | Forma de pagamento |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not add behavioral context beyond the destructiveHint annotation; it merely states creation without discussing irreversibility or side effects, and the destructiveHint annotation may contradict the creation action.
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 and contains no unnecessary 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?
The description lacks information about return values, required permissions, or prerequisites for a creation tool with multiple parameters and no output schema.
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 adds minimal meaning beyond the schema's 100% parameter coverage; it hints at the formaPagamento parameter but does not enrich understanding of other required fields.
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 verb 'cria' and resource 'cobrança (conta a receber)', and specifies that it can automatically generate boleto or Pix, distinguishing it from sibling tools like listar_cobrancas or criar_orcamento.
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 the tool is for creating charges but does not explicitly state when to use it versus alternatives, nor does it provide exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
criar_cobranca_pixCriar Cobrança PixADestructiveInspect
Cria uma cobrança Pix (QR Code) para recebimento imediato via Asaas.
| Name | Required | Description | Default |
|---|---|---|---|
| valor | Yes | Valor em reais (ex: 150.00) | |
| descricao | No | Descrição da cobrança | |
| empresaId | No | ID da empresa | |
| vencimento | No | Data de vencimento ISO (YYYY-MM-DD) | |
| clienteNome | Yes | Nome do cliente/pagador | |
| clienteCpfCnpj | Yes | CPF ou CNPJ do pagador |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true. The description adds the behavioral trait 'recebimento imediato' (immediate receipt), which is beyond the annotation. No contradictions.
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 redundant information. Every word contributes meaning.
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 does not explain what the tool returns (e.g., QR code URL, charge ID) or the side effects beyond creation. Given that there is no output schema, the description should clarify the result format. It also omits details about payment confirmation or expiration.
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 100%, so baseline is 3. The description does not add additional parameter meaning beyond the schema; it merely restates the tool purpose.
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 action ('cria'), the resource ('cobrança Pix (QR Code)'), and the context ('recebimento imediato via Asaas'). It distinguishes the tool from siblings like 'criar_cobranca' and 'agendar_cobranca' by specifying Pix and immediacy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., when Pix is appropriate vs. credit card, or when immediate vs. scheduled). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
criar_orcamento[DESATIVADO] Criar OrçamentoADestructiveInspect
Módulo desativado no Core v3.0. Contate suporte para reativação.
| 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 that the tool is deactivated, which is critical behavioral information beyond the annotations (which only indicate destructiveHint). This prevents the agent from attempting to invoke an inactive 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 sentence that conveys the essential status and next step. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deactivated tool with no parameters and no output schema, the description provides complete context: state (deactivated) and action (contact support).
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 input schema is empty, so no parameter documentation is needed. Schema coverage is 100% (trivially), and the description does not need to add parameter information.
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 states 'Módulo desativado' indicating the tool is deactivated, but it does not explain what the tool would do if active. The name 'criar_orcamento' suggests creating a budget, but without further explanation, the purpose is vague for an agent.
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 instructs to 'Contact support for reactivation', providing clear guidance on when and how to use this tool (i.e., not to use it directly). However, it does not explicitly state alternatives or when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dashboard_executivoDashboard ExecutivoARead-onlyInspect
Retorna métricas executivas consolidadas: receita, despesas, lucro, fluxo de caixa, inadimplência.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation 'readOnlyHint: true' already indicates a safe read operation. The description adds value by enumerating the specific metrics returned (revenue, expenses, etc.). No contradictions or missing behavioral insights for a simple read 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 sentence that lists key metrics with no extraneous text. Every word is informative.
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?
While the description lists metrics, it does not specify the output format (e.g., JSON structure, data types) or any edge case behavior (e.g., missing empresaId). Given the absence of an output schema, this is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (empresaId with description 'ID da empresa'). The description does not add meaning beyond the schema, e.g., does not explain how the parameter affects the results or what default (0) implies.
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 specifies the tool returns consolidated executive metrics and lists them (receita, despesas, etc.). However, it does not explicitly differentiate from the similar sibling 'dashboard_multi_pj', which likely handles multiple companies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'dashboard_multi_pj' or 'saude_financeira'. No mention of prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dashboard_multi_pjDashboard Multi-PJARead-onlyInspect
Retorna visão consolidada de múltiplas empresas do grupo: receita, despesas, saldo por empresa.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa principal (grupo) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations readOnlyHint=true indicate safe read. Description adds that output includes revenue, expenses, and balance per company. No mention of data freshness, rate limits, or side effects 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?
Single sentence, directly front-loaded with purpose. 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?
With one well-described parameter and read-only annotations, the description provides enough context for selection. Lacks details on output format but sufficient for a dashboard tool without output schema.
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 covers 100% of parameters with description for 'empresaId'. Description adds no further semantics beyond what the schema provides, so baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it returns a consolidated view of multiple companies' revenue, expenses, and balance. Verb is specific ('Retorna') and resource is well-defined, distinguishing it from sibling 'dashboard_executivo'.
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?
No explicit when-to-use or when-not-to-use guidance. Context implies it's for group-level dashboards, but lacks alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
economia_tributariaEconomia TributáriaCRead-onlyInspect
Calcula a economia tributária gerada pela empresa com otimizações aplicadas.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, so the description need not elaborate on safety. However, the description adds no behavioral context beyond what the annotation provides, such as how the calculation is performed or what the result represents.
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 is concise but potentially under-specified. It front-loads the action but omits useful context, making it acceptable but not excellent.
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 a simple tool with one parameter and readOnly annotation, the description is fairly complete. However, it lacks any mention of output format or return value, and does not distinguish well among siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter empresaId with a basic description. No additional meaning is added beyond the schema, so baseline score of 3 is appropriate.
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 action (calcula) and resource (economia tributária gerada pela empresa com otimizações aplicadas). It is specific and differentiates from siblings like simular_regime_tributario, though it does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, contexts, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emitir_nfseEmitir NFS-eBDestructiveInspect
Emite uma Nota Fiscal de Serviço Eletrônica (NFS-e) com cálculo automático de CBS/IBS (Reforma Tributária LC 214/2025). Requer dados do tomador e serviço.
| Name | Required | Description | Default |
|---|---|---|---|
| servico | Yes | Dados do serviço | |
| tomador | Yes | Dados do tomador do serviço | |
| empresaId | No | ID da empresa prestadora |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide destructiveHint=true, so the description adds value by mentioning automatic tax calculation, which implies mutation. However, it does not disclose any further behavioral traits such as idempotency, permission requirements, or side effects beyond the core description.
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: first states the core action and key feature, second states requirements. No wasted words, and the critical information is front-loaded.
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 destructive tool with nested objects and no output schema, the description provides the essential purpose but lacks details on returns, error handling, and the default empresaId meaning. Schema covers param details, so completeness is adequate but not full.
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?
Input schema has 100% description coverage, so the schema already documents each parameter. The description reinforces that tomador and servico are required but adds no new meaning or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('emits an NFS-e') and the resource, adding the specific context of automatic CBS/IBS tax calculation per the tax reform. It distinguishes well from sibling tools like calcular_cbs_ibs and listar_documentos_fiscais, though not explicitly.
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?
No explicit guidance on when to use this tool versus alternatives. It mentions required data (tomador and servico) but does not list prerequisites, exclusions, or refer to sibling tools like listar_clientes or listar_empresas for obtaining that data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enviar_lembrete_cobrancaEnviar Lembrete de CobrançaADestructiveInspect
Envia um lembrete de cobrança para o cliente via WhatsApp, Telegram ou Email.
| Name | Required | Description | Default |
|---|---|---|---|
| canal | No | Canal de envio | |
| cobrancaId | Yes | ID da cobrança | |
| mensagemCustom | No | Mensagem personalizada (opcional) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the destructiveHint annotation but adds no extra context beyond the fact that it sends a message. It does not disclose potential side effects like cost, irreversibility, or impact on the cobranca object.
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 clear sentence with no extraneous words. It is front-loaded and efficiently conveys the core functionality.
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 main action but lacks details about prerequisites (e.g., cobranca must exist), return value (no output schema), or behavior when optional parameters are omitted. This leaves gaps for an AI agent.
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?
All parameters have schema descriptions, and the tool description echoes the channel options. However, it adds no additional meaning beyond what the schema already provides, meeting the baseline for 100% 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 action (send), the resource (collection reminder), and the channels (WhatsApp, Telegram, or Email). It distinguishes from siblings like criar_cobranca (create) and agendar_cobranca (schedule), making its purpose unambiguous.
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 when needing to send a reminder, but does not explicitly state when to use this tool versus alternatives (e.g., agendar_cobranca for scheduled reminders). No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enviar_magic_linkAInspect
Gera e retorna um Magic Link (URL assinada JWT) para acesso direto do cliente ao portal da empresa. Escopos: dashboard, outcome, apuracao, alerta.
| Name | Required | Description | Default |
|---|---|---|---|
| escopo | No | Escopo de acesso do link (default: dashboard) | |
| motivo | No | Motivo do envio para auditoria (ex: 'Solicitação via agente IA') | |
| ttlDias | No | Validade do link em dias (default: 7, max: 30) | |
| empresaId | Yes | ID da empresa para gerar o link |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states it generates and returns a link but omits side effects (e.g., logging, storage, rate limits, permissions). Minimal behavioral context.
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 sentences, front-loaded with main purpose, then lists scopes. No unnecessary words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks output schema, and description does not mention return format beyond 'URL assinada JWT', error cases, or whether the link is sent or just returned. Adequate but with gaps for a complete understanding.
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 has 100% coverage with descriptions for all four parameters. Description adds a quick list of scopes, which is helpful but not substantial beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it generates and returns a Magic Link for direct client access, listing the specific scopes. This distinguishes it from sibling tools like 'enviar_relatorio_email' which send reports.
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?
Implies usage for generating magic links, but does not explicitly state when to use this tool versus alternatives like other communication methods. Lacks 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enviar_relatorio_emailEnviar Relatório por EmailADestructiveInspect
Gera e envia um relatório financeiro/fiscal por email para o proprietário da conta. Tipos: resumo_diario, fluxo_caixa, inadimplencia, compliance, dre.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | Yes | Tipo do relatório | |
| periodo | No | Período do relatório | |
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint true. The description adds that it sends to the account owner and lists report types, but does not disclose other behavioral traits like delivery confirmation, rate limits, or failure handling. It adds marginal context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with action and purpose, listing types concisely. Every word contributes value with no 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?
The tool has no output schema and only one annotation. The description explains action and types but omits details about return value, email recipient (owner's email?), attachments, or confirmation behavior. Adequate but with notable gaps for a sending 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?
Schema coverage is 100%; all parameters are described. The description mentions report types (already in enum) and 'periodo' but adds no new semantic meaning beyond the schema. Baseline 3 is appropriate.
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 generates and sends a financial/tax report via email to the account owner, and lists five specific report types. This distinguishes it from sibling tools like 'emitir_nfse' or 'listar_clientes'.
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 explicitly state when to use this tool versus alternatives. It lists report types but provides no guidance on context, prerequisites, or when not to use it. Usage is implied but not directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fluxo_caixa_projetadoFluxo de Caixa ProjetadoARead-onlyInspect
Projeta o fluxo de caixa futuro (recebimentos vs pagamentos) para os próximos N meses.
| Name | Required | Description | Default |
|---|---|---|---|
| meses | No | Quantidade de meses a projetar (1-12) | |
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, and the description aligns without contradicting. However, no additional behavioral context (e.g., data source, update frequency) is added beyond what annotations convey.
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 clear sentence with no extraneous information. It efficiently conveys the core 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 simple projection tool with two parameters, the description provides basic understanding. However, it omits details like projection methodology or data dependencies, which may be needed given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not elaborate on parameter meaning or format beyond what is in the schema, meeting the minimum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool projects future cash flow (recebimentos vs pagamentos) for N months, using a specific verb and resource. It is distinct from sibling tools like consultar_saldo or consultar_dre.
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?
No guidance on when to use this tool versus alternatives such as saude_financeira or consultar_saldo. The description lacks context about appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gerar_agent_reportGerar Agent ReportBDestructiveInspect
Gera um relatório estruturado de análise (agent report) que fica salvo no histórico da empresa.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | Yes | Tipo do relatório | |
| titulo | Yes | Título do relatório | |
| conteudo | Yes | Conteúdo do relatório em markdown | |
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint: true, indicating a state-changing operation. The description adds that the report is saved to the company history, which clarifies persistence. However, it does not disclose whether existing reports are overwritten, permission requirements, or if the operation is reversible.
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 fronts the purpose. It contains no fluff. However, it could be slightly more informative without adding length, such as mentioning the required parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters (3 required), destructiveHint, and no output schema, the description is minimal. It does not explain the return value or behavior when empresaId is omitted (default 0). It also does not specify that the report is retrievable or how. More context is needed for an AI to use it confidently.
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 input schema covers all parameters with descriptions (100% coverage). The description does not add any additional meaning beyond what the schema provides. Baseline score of 3 is appropriate.
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 generates a structured analysis report that is saved in the company history. The verb 'Gerar' and resource 'relatório estruturado' are specific. However, it does not differentiate from sibling tools like 'dashboard_executivo' or 'saude_financeira' that might also produce analytical outputs.
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?
No explicit guidance is provided on when to use this tool versus alternatives. The description implies it is for generating a report, but there is no mention of prerequisites, when not to use it, or comparison to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gerar_guia_pagamentoGerar Guia de Pagamento (DARF)BRead-onlyInspect
Gera guias DARF para recolhimento de tributos retidos (IR, PIS, COFINS, CSLL) sobre serviços tomados.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa | |
| competencia | Yes | Competência no formato YYYY-MM (ex: 2026-05) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation 'readOnlyHint: true' indicates the tool only reads data, yet the description says 'Gera guias' (generates guides), implying creation or mutation. This is a direct contradiction between description and annotations, severely reducing transparency about actual 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 consists of a single concise sentence, front-loading the key action and resource. However, it omits important details that could improve clarity, so it's not maximally effective.
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 should explain what the generated guide contains or its return value, but it does not. The tool is simple with two parameters, but the description lacks completeness for an agent to understand the full context of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds no additional meaning beyond the schema for 'empresaId' and 'competencia.' Given high schema coverage, a baseline score of 3 is appropriate.
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 verb 'Gera' (generates) and the specific resource 'guias DARF para recolhimento de tributos retidos (IR, PIS, COFINS, CSLL) sobre serviços tomados.' It distinguishes the tool from siblings like 'emitir_nfse' and 'calcular_imposto' by specifying the tax type and service context.
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 the tool is used when generating DARF guides for withheld taxes on services, but it does not explicitly state when to use it versus alternatives, nor does it provide any exclusions or conditions. Usage guidance is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gerar_insight_clienteAInspect
Gera narrativa personalizada com insights financeiros/fiscais para um cliente usando IA (Claude). Retorna texto em linguagem acessível com destaques e próxima ação recomendada.
| Name | Required | Description | Default |
|---|---|---|---|
| periodo | No | Período de referência no formato YYYY-MM (default: mês atual) | |
| empresaId | Yes | ID da empresa para gerar insight | |
| forceRefresh | No | Forçar regeneração ignorando cache (default: false) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool uses AI (Claude) and returns text with highlights and a recommended action. However, it does not mention any side effects, authentication requirements, rate limits, or caching behavior (though the 'forceRefresh' parameter hints at caching). The description is adequate but lacks deeper behavioral context.
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 primary action, and every phrase earns its place. It directly states the purpose and output format without any fluff 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?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description sufficiently explains the return value format. However, it omits potential error conditions or prerequisites (e.g., ensuring the empresaId exists). The description is mostly complete but could mention that the output is generated by AI and may vary.
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 input schema has 100% description coverage, with each parameter explained concisely. The tool description does not add additional meaning beyond the schema; for example, 'periodo' is described as 'Período de referência no formato YYYY-MM' and the description does not elaborate further. Therefore, the description adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a personalized narrative with financial/tax insights for a client using AI, and specifies the return format (accessible text with highlights and next action). This distinguishes it from siblings like 'calcular_cbs_ibs' which focus on calculations, or 'economia_tributaria' which is about tax savings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus its siblings. It does not mention when to avoid using it or any prerequisites. Although the name implies insight generation, there is no comparative context to help an agent choose among similar tools like 'economia_tributaria' or 'saude_financeira'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
importar_transacoesImportar TransaçõesBDestructiveInspect
Importa transações financeiras em lote para a empresa. Cada transação deve ter: descricao, valor, data, tipo (entrada/saida), categoriaId.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa | |
| transacoes | Yes | Array de transações a importar |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint: true, so the agent knows data is modified. The description adds batch processing context but lacks details on idempotency, validation, or error handling.
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 listing key requirements is front-loaded and efficient, though it could be slightly more structured.
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?
As a creation tool with destructive annotations and no output schema, the description should clarify return value or success/failure indicators. It does not address this.
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 100%, so baseline is 3. The description repeats field names already in schema, adding minimal semantic value.
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 imports batch financial transactions for the company, listing required fields. It distinguishes from siblings like listar_transacoes by focusing on creation rather than retrieval.
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?
No guidance on when to use this tool versus alternatives (e.g., individual creation tools). The description only states what it does, not when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_audit_logListar Audit Log MCPARead-onlyInspect
Lista o histórico de chamadas de tools MCP da empresa com latência, status e timestamps.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Filtrar por nome da tool | |
| limit | No | Quantidade máxima | |
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the safety profile is clear. The description adds that the tool returns latency, status, and timestamps, providing some behavioral context beyond annotations. However, it doesn't mention ordering, pagination, or potential performance implications, which would elevate transparency.
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 immediately conveys the tool's purpose. It is front-loaded with the key action and resource, with no superfluous words. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description mentions the fields returned (latency, status, timestamps), which is helpful. However, it lacks details on ordering, default limit behavior, and any pagination mechanism. For a simple audit log listing, this is still mostly 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 input schema covers all three parameters with descriptions (100% coverage), so the schema already documents their meaning. The description does not add further semantics beyond what the schema provides, maintaining an adequate baseline.
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 lists the history of MCP tool calls with latency, status, and timestamps. The verb 'Lista' and resource 'histórico de chamadas de tools MCP' are specific, and this distinguishes it from sibling listing tools that focus on entities like clients or invoices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as when to filter by tool name or company. There are no explicit conditions or exclusions, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_clientesListar ClientesBRead-onlyInspect
Lista clientes cadastrados da empresa.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, but the description adds no behavioral context such as whether all clients are returned, pagination, or filtering implications. The description is too minimal to add value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is efficient but could be slightly more informative without sacrificing conciseness.
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 list tool with one optional parameter and complete schema coverage, the description is minimally adequate. However, it lacks details on default behavior (e.g., what empresaId=0 means) and scope (all clients or filtered). Missing output schema is acceptable here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (empresaId has a description), so baseline is 3. The description does not elaborate on the parameter, but no extra semantic is 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 'Lists registered clients of the company' clearly states the action (list) and resource (clients), distinguishing it from sibling tools like listar_empresas (list companies) and listar_cobrancas (list charges).
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?
No guidance is provided on when to use this tool vs alternatives, nor does it explain the effect of the optional empresaId parameter or default behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_cobrancasListar CobrançasARead-onlyInspect
Lista cobranças (contas a receber) da empresa com status de pagamento.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Quantidade máxima | |
| offset | No | Offset para paginação | |
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; the description adds no further behavioral context beyond what the schema provides.
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, no extra words, efficient and front-loaded.
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 list tool with fully documented parameters and read annotations, 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?
Schema coverage is 100%, so the description does not add meaning beyond the schema definitions.
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 it lists receivables with payment status, distinguishing it from siblings like listar_contas_pagar.
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?
No guidance on when to use this tool vs alternatives such as listar_contas_pagar or consultar_dre.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_contas_bancariasListar Contas BancáriasARead-onlyInspect
Lista contas bancárias cadastradas da empresa com saldos atuais.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's read-only nature is redundant. However, the description adds that the tool returns current balances (saldos atuais), which is useful behavioral context. It does not disclose pagination, ordering, or error behavior, but given the simple nature, it is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the verb and resource, with no superfluous words. Every part adds value.
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 list tool with one optional parameter and no output schema, the description covers the essential purpose and key output (balances). Minor gaps exist, such as not clarifying the behavior when empresaId is omitted, but overall it is complete enough for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter empresaId, which has a description 'ID da empresa'. The tool description does not add any additional meaning beyond what the schema provides. Baseline of 3 is appropriate.
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 verb 'Lista' and the resource 'contas bancárias cadastradas da empresa com saldos atuais', distinguishing it from sibling tools that list other entities like clients or charges. It specifies the scope and includes the key detail of current balances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative list tools such as listar_clientes or listar_cobrancas. With many sibling tools, explicit usage context is missing, making it harder for the agent to select correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_contas_pagarListar Contas a PagarBRead-onlyInspect
Lista contas a pagar da empresa com vencimentos e status.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not contradict the readOnlyHint annotation. However, it adds minimal behavioral context beyond the annotation (e.g., no mention of pagination, sorting, or response format). The annotation carries the safety profile, so description's lack of additional detail is acceptable but not exemplary.
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, clear sentence with no wasted words. It is appropriately concise for a simple list tool, though it could be slightly more structured or include additional context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema, read-only), the description covers the basic purpose. However, it lacks details about response structure, pagination, or default behavior when empresaId is omitted. A more complete description would improve usability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter fully described. The description does not add any parameter-level meaning beyond the schema; it mentions response fields (due dates and status) but not the input parameter. Baseline 3 is appropriate since schema already documents 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 verb 'Lista' (lists) and the resource 'contas a pagar' (accounts payable) with specific details 'com vencimentos e status' (with due dates and status). This distinguishes it from sibling list tools like listar_clientes or listar_cobrancas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any context such as filtering criteria or prerequisites. It merely states what it does without any 'when' or 'when not' information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_contratosListar ContratosBRead-onlyInspect
Lista contratos ativos da empresa com valores e vencimentos.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description's claim of listing is consistent. However, the description adds no behavioral details beyond what annotations provide, such as potential rate limits or data scope.
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 single sentence that is concise and front-loaded with the action. Every word serves a purpose with no 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?
Given the lack of output schema and the simple nature of the tool (list with one parameter), the description is minimally adequate. It could be improved by explaining the structure of returned data or mentioning if any default filtering applies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter (empresaId) already described in the schema. The description does not add any additional meaning or context for 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 verb 'Lista' (lists) and the resource 'contratos ativos' (active contracts) with included data (valores e vencimentos). It distinguishes well from sibling list tools like listar_clientes and listar_cobrancas.
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?
No guidance on when to use this tool versus alternatives. There is no mention of when not to use it or any prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_documentos_fiscaisListar Documentos FiscaisARead-onlyInspect
Lista documentos fiscais emitidos pela empresa (NFS-e, NF-e, NFC-e) com filtros.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No | Tipo de documento | todos |
| limit | No | Quantidade máxima | |
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, and description aligns with a read operation ('lista'). No additional behavioral context added beyond what annotations convey.
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 key information. Efficient, but could benefit from a slightly more structured format (e.g., bullet list of filters).
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 and simple list tool; description does not mention pagination, ordering, or return format. Adequate for a basic filter list but lacks completeness for advanced use.
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 100% with each parameter having a description. The tool description adds generic 'with filters' but no extra meaning beyond the schema, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists fiscal documents (NFS-e, NF-e, NFC-e) with filters, using specific verb and resource. It distinguishes from siblings like emitir_nfse (issue) or consultar_status_fiscal (status).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage via 'com filtros' but lacks explicit when-to-use or when-not-to-use guidance, nor alternative tools like other list tools or specific filter scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_empresasListar EmpresasARead-onlyInspect
Lista todas as empresas vinculadas à conta do usuário.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with the readOnlyHint annotation, but does not add behavioral details beyond what annotations already convey.
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 one sentence, front-loads the purpose, and contains no extraneous 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?
Given zero parameters, no output schema, and a readOnly annotation, the description is complete and sufficient for a simple list operation.
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?
No parameters exist, so the description adds full context by stating what the tool returns, which is sufficient beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all companies linked to the user's account, but does not differentiate from sibling tools like 'listar_clientes'.
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?
No guidance on when to use this tool versus alternatives like other list tools, and no mention of context such as data freshness or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_inadimplentesListar InadimplentesARead-onlyInspect
Lista clientes com cobranças vencidas (inadimplentes), ordenados por valor em aberto.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa | |
| diasAtraso | No | Mínimo de dias de atraso para considerar inadimplente |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation declares this as a read-only operation, and the description lists clients without indicating any side effects, so no contradiction. The description adds ordering behavior but does not disclose other traits like response format or pagination.
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, clear sentence that immediately states the action, target, and ordering. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with two optional parameters and no output schema, the description provides key details (overdue clients, ordering). It lacks specification of returned fields or pagination, but overall sufficient for selection and use.
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 100% (both parameters have descriptions). The tool description does not add further meaning to parameters beyond what the schema already provides, so a baseline of 3 is appropriate.
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 specifies the verb 'Lista' and the resource 'clientes com cobranças vencidas (inadimplentes)', clearly distinguishing it from sibling tools like 'listar_clientes' and 'listar_cobrancas' by focusing on overdue clients ordered by open amount.
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 the tool is for listing overdue clients but does not explicitly state when to use it versus alternatives or provide usage exclusions. An agent can infer usage from the name and description, but lacking explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_obrigacoes_acessoriasListar Obrigações AcessóriasARead-onlyInspect
Lista obrigações acessórias (DCTF, EFD, SPED, DIRF, etc.) da empresa com prazos e status de cumprimento.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filtrar por status | |
| empresaId | No | ID da empresa | |
| competencia | No | Competência no formato YYYY-MM (ex: 2026-05) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds context by specifying that the list includes deadlines and status, which is beyond the annotation. No contradictions 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 that is front-loaded with the main action and resource. No unnecessary 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?
The description explains the purpose and content of the list. Given the presence of annotations and full schema coverage, it is sufficient for a simple list tool, though it does not cover return format or edge cases.
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?
Parameters are fully described in the schema (100% coverage). The description does not add extra meaning for individual parameters, so baseline score applies.
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 lists accessory obligations (DCTF, EFD, SPED, DIRF, etc.) with deadlines and compliance status. The verb 'listar' and specific examples differentiate it from sibling list tools like listar_clientes or listar_cobrancas.
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?
No guidance on when to use this tool over other list tools or alternatives. There is no mention of specific contexts, exclusions, or comparison with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_orcamentos[DESATIVADO] Listar OrçamentosARead-onlyInspect
Módulo desativado no Core v3.0. Contate suporte para reativação.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool is deactivated, which is critical behavioral info not covered by the readOnlyHint annotation. No contradictions 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?
The description is a single concise sentence that conveys the essential information without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a disabled tool with no parameters and no output schema, the description provides complete guidance: do not use, contact support.
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 baseline is 4. The description adds nothing about parameters, but none exist.
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 does not state what the tool does; it only says it is deactivated. The title 'Listar Orçamentos' implies its original function, but the description itself lacks a verb and resource description.
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 explicitly says the module is deactivated and to contact support for reactivation, which tells the agent not to use this tool. However, it does not mention alternatives or when to use it if reactivated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_transacoesListar TransaçõesBRead-onlyInspect
Lista transações financeiras da empresa (entradas e saídas). Suporta filtros por período e limite.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Quantidade máxima de registros (padrão: 50) | |
| offset | No | Offset para paginação | |
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, which is consistent. The description adds no extra behavioral context (e.g., pagination behavior, rate limits). Adequate but not informative 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise (two sentences), front-loaded with key info. However, the inaccuracy about period filter detracts from otherwise efficient structure.
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 list operation with 3 parameters and read-only annotation, the description is mostly complete. Missing mention of default behavior (e.g., returns all if no filter) and the period filter inaccuracy reduces completeness slightly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. However, the description misleadingly claims support for 'period filter' which is not a parameter, causing confusion. No additional meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists financial transactions (inbound/outbound) with filter support. However, it mentions 'period' filter which is not present in the input schema, causing minor inconsistency.
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?
No guidance on when to use this tool versus alternatives like 'importar_transacoes' or 'listar_cobrancas'. The description does not specify use cases or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_webhooksListar WebhooksARead-onlyInspect
Lista webhooks registrados para a empresa com status e eventos configurados.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the agent knows it's a safe read operation. The description adds that the listing includes 'status e eventos configurados', which provides some behavioral insight but lacks details on pagination, rate limits, or authorization requirements.
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 efficiently conveys the tool's purpose with no unnecessary words, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description adequately states what the tool does and what information (status and events) is returned. It could clarify the default behavior when empresaId is omitted, but overall it 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?
Schema description coverage is 100% for the single parameter empresaId, with a description 'ID da empresa'. The tool description does not add additional meaning beyond the schema, so baseline of 3 is appropriate.
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 'listar webhooks' (list webhooks) with specific resource 'webhooks' and additional information about status and events, distinguishing from siblings like cancelar_webhook and subscribe_webhook.
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 listing webhooks but does not provide explicit guidance on when to use this tool versus alternatives. No exclusions or when-not conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
metricas_escritorioMétricas do EscritórioARead-onlyInspect
Retorna métricas SaaS do escritório contábil: MRR, ARR, churn, LTV, ticket médio, clientes ativos.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include 'readOnlyHint: true', which already indicates a read-only operation. The description adds no behavioral information beyond listing the metrics returned. It does not disclose any side effects, permission requirements, or limitations.
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 concise (12 words in one sentence) and front-loaded with the key verb and resource. Every word is necessary; there is no extraneous 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?
The description lists the specific metrics returned, which is helpful given the lack of an output schema. However, it omits how the optional parameter 'empresaId' affects the result and the expected format or structure of the response. For a simple read-only tool, it is mostly 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 input schema has 100% description coverage for 'empresaId' (ID da empresa). However, the description does not mention the parameter or explain its effect on the returned metrics. While the schema provides basic meaning, the description adds no additional semantic context.
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 explicitly states 'Retorna métricas SaaS do escritório contábil' with a list of specific metrics (MRR, ARR, churn, LTV, ticket médio, clientes ativos). This clearly identifies the verb (returns) and resource (SaaS metrics), and distinguishes it from sibling tools like 'dashboard_executivo' or 'saude_financeira' by focusing on SaaS-specific metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context for selection, or exclusions. For example, it does not clarify whether to use this tool over 'dashboard_executivo' for broader metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
processar_mensagem_clienteBInspect
Processa uma mensagem de texto de um cliente (WhatsApp/chat) usando IA para classificar intenção e gerar resposta automática. Intenções: boleto_2via, status_envio, saudacao, humano, duvida_fiscal, reclamacao.
| Name | Required | Description | Default |
|---|---|---|---|
| texto | Yes | Texto da mensagem recebida do cliente | |
| telefone | Yes | Telefone do cliente (formato: 5511999999999) | |
| whatsappMessageId | No | ID da mensagem WhatsApp (para rastreamento) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It mentions AI classification and auto-response but does not detail what happens after classification (e.g., automated sending, logging, or requirements). Missing essential context for a tool with zero 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?
Two concise sentences convey the core function and list key intents. No redundant information; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain what the tool returns. It mentions 'gerar resposta automática' but does not specify the output format (e.g., response text, status, or error). Missing crucial completeness for an AI-driven 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?
Schema description coverage is 100% (all parameters have descriptions). The description adds overall purpose but no parameter-specific insights beyond schema. Baseline 3 is appropriate as schema already documents parameters adequately.
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 processes customer text messages from WhatsApp/chat using AI to classify intent and generate automatic responses. It lists example intents, making the purpose specific and distinguishable from sibling tools like fiscal or payment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for automated customer message triage but does not explicitly state when to use versus alternatives (e.g., when to forward to human). The intent list hints at some scenarios, but no clear guidance on exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
procuracoes_ecacProcurações e-CACARead-onlyInspect
Lista procurações eletrônicas do e-CAC (outorgadas e recebidas) com status de validade.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation already indicates readOnlyHint=true, so the description carries less burden. It adds that the listing includes 'status de validade', a useful behavioral detail. However, it omits other traits like pagination, authentication requirements, or output format, leaving 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 a single, well-structured sentence that conveys purpose and scope without unnecessary words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one optional parameter, no output schema, and annotations present), the description is adequately complete. It explains the listing scope and validity status, which is sufficient for selecting this tool. Minor improvement could include mentioning the output structure.
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 100% (one parameter 'empresaId' described as 'ID da empresa'). The tool description adds no further meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
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 lists electronic proxies (procurações eletrônicas) from e-CAC, both granted and received, with validity status. It uses a specific verb ('Lista') and resource ('procurações eletrônicas do e-CAC'), and no sibling tool overlaps in functionality.
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 explicit guidance on when to use this tool or contrast it with alternatives. However, given the singular purpose and lack of similar siblings, the context is clear enough for basic use. No exclusions or when-not-to-use are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconciliation_approve_matchAprovar Match de ConciliaçãoADestructiveInspect
Aprova um match sugerido pelo motor de conciliação. Marca as transações e lançamentos envolvidos como conciliados.
| Name | Required | Description | Default |
|---|---|---|---|
| matchId | Yes | ID do match a aprovar |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, and description confirms it marks transactions as reconciled, adding some context but not disclosing additional behavioral traits like reversibility or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no extraneous 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?
For a simple one-parameter tool with destructive hint annotation, the description adequately explains the action and effect, though it lacks usage 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?
Schema coverage is 100% with clear description for parameter matchId; description does not add extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'aprova' and the resource 'match sugerido', distinguishing it from siblings like reconciliation_list_matches or reconciliation_execute.
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?
No guidance on when to use this tool vs alternatives, such as when to list matches first or when to reject a match.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconciliation_create_sessionCriar Sessão de ConciliaçãoBInspect
Cria uma nova sessão de conciliação para um período específico. A sessão é o container onde transações e lançamentos são comparados.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | ID da conta de conciliação | |
| empresaId | No | ID da empresa | |
| periodoFim | Yes | Data fim do período (YYYY-MM-DD) | |
| periodoInicio | Yes | Data início do período (YYYY-MM-DD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate non-destructive behavior. The description does not disclose important behavioral traits such as required permissions, idempotency, side effects (e.g., overlapping periods), or synchronization 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 two sentences, front-loading the core purpose and a brief definition. No redundancy or unnecessary 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?
Missing information about the return value (likely session ID), confirmation of synchronous execution, and dependency on existing account. With no output schema, the description should explain what the tool returns.
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 100%, so the schema adequately documents all parameters. The description adds minimal extra meaning beyond the schema, only tying 'período específico' to periodoInicio/periodoFim.
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 action ('Cria' - creates), the resource ('sessão de conciliação'), and scope ('para um período específico'), distinguishing it from sibling tools that handle import, match, and approval steps.
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?
No guidance is provided on when to use this tool versus alternatives like reconciliation_seed_demo, nor are preconditions (e.g., account existence) mentioned. The description lacks explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconciliation_executeExecutar Conciliação AutomáticaADestructiveInspect
Executa o motor de conciliação em 3 camadas (regras determinísticas + fuzzy matching + LLM) para uma sessão. Retorna resumo com matches encontrados, taxa de automação e exceções.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | ID da sessão de conciliação a executar |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
A anotação destructiveHint=true já alerta para efeitos destrutivos. A descrição acrescenta detalhes sobre as 3 camadas, mas não esclarece o que é destruído ou modificado (ex.: sobrescrita de matches anteriores).
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?
Duas frases curtas, diretas e informativas, sem redundâncias.
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?
Descrição cobre o que faz e o retorno, suficiente para um único parâmetro. Faltam pré-condições (ex.: sessão deve estar criada) e detalhes sobre efeitos colaterais, mas é adequado para a simplicidade.
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 cobre 100% do único parâmetro (sessionId) com descrição. A descrição da ferramenta não adiciona significado além do schema (apenas repete 'sessão de conciliação').
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?
Descreve especificamente que executa o motor de conciliação em 3 camadas, distingue-se dos irmãos (ex.: reconciliation_create_session, reconciliation_approve_match) e indica o retorno (resumo com matches, taxa de automação, exceções).
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?
Indica o contexto de uso (executar conciliação para uma sessão), mas não explicita quando não usar ou alternativas entre os vários irmãos de reconciliação.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconciliation_import_entriesImportar Lançamentos ContábeisBDestructiveInspect
Importa lançamentos do razão contábil para uma sessão de conciliação. Aceita array de lançamentos com data, descrição, valor, tipo, e contas débito/crédito.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | ID da conta | |
| empresaId | No | ID da empresa | |
| sessionId | Yes | ID da sessão de conciliação | |
| lancamentos | Yes | Array de lançamentos contábeis |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint: true, implying this tool modifies data permanently, but the description does not disclose this behavior or any consequences (e.g., overwrites existing entries, requires confirmation). It simply says 'imports', which is ambiguous regarding mutation.
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 efficiently conveys the core purpose and key parameter details without redundancy or unnecessary 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?
While the description covers the purpose and main array fields, it omits mention of the other required parameters (sessionId, accountId) and the optional empresaId. Given the tool's complexity and lack of output schema, more detail would help, but it remains minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented in the schema. The description adds marginal value by summarizing the key fields of the lancamentos array (data, descrição, valor, tipo, contas débito/crédito), but does not explain the other parameters (sessionId, accountId, empresaId) beyond what the schema already states.
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 imports accounting entries (lançamentos do razão contábil) into a reconciliation session, specifying the structure with fields like date, description, value, type, and debit/credit accounts. This distinguishes it from sibling tools like reconciliation_import_transactions, which likely import bank transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives (e.g., reconciliation_import_transactions) or any prerequisites. It only explains what it does, not the context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconciliation_import_transactionsImportar Transações BancáriasBDestructiveInspect
Importa transações do extrato bancário para uma sessão de conciliação. Aceita array de transações com data, descrição, valor e tipo (credito/debito).
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | ID da conta | |
| empresaId | No | ID da empresa | |
| sessionId | Yes | ID da sessão de conciliação | |
| transacoes | Yes | Array de transações bancárias |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The destructiveHint annotation indicates the tool modifies data, and the description confirms imports. However, it does not disclose behavior such as whether transactions are appended or replaced, error handling, or permission requirements. The description adds some context beyond annotations but not rich details.
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 concise with two sentences and no wasted words. However, it could be slightly more structured (e.g., bullet points) to improve readability, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and the tool's complexity (importing transactions), the description is minimal. It does not mention whether transactions are appended or overwritten, or what happens on success/failure. Adequate but leaves gaps.
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 100%, so all parameters are documented in the schema. The description only lists a subset of fields (data, descrição, valor, tipo) and does not add additional meaning beyond the schema. Baseline score of 3 applies.
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 imports bank transactions into a reconciliation session, specifying the fields accepted (date, description, value, type). However, it does not differentiate from the sibling tool reconciliation_import_entries, which might have a similar purpose.
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?
No guidance is provided on when to use this tool versus alternatives like reconciliation_import_entries. It does not specify prerequisites (e.g., session must exist) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconciliation_kpisKPIs de Conciliação ContábilBRead-onlyInspect
Retorna indicadores-chave de conciliação: contas ativas, sessões concluídas, taxa de automação, exceções pendentes, e sessões recentes.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is clear. The description adds the specific KPIs returned but no additional behavioral traits like data freshness or rate limits.
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?
One concise sentence listing key indicators, front-loaded and efficient with 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?
Low complexity tool with no output schema. Description lists what is returned, but lacks detail on data types or structure. Mostly complete for a KPI overview.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single parameter is 100%. The description does not add meaning beyond the schema's description.
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 it returns key reconciliation KPIs, listing specific indicators. It distinguishes implicitly from sibling tools that perform actions like approving matches or creating sessions, but does not explicitly differentiate.
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?
No guidance on when to use this tool versus alternatives. No when-to-use, when-not-to-use, or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconciliation_list_accountsListar Contas de ConciliaçãoARead-onlyInspect
Lista todas as contas configuradas para conciliação contábil (bancária, clientes, fornecedores, impostos). Retorna nome, tipo, banco, e configurações de tolerância.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only (readOnlyHint=true). The description adds information about returned fields (name, type, bank, tolerance) but does not discuss ordering, pagination, or potential errors. It provides some behavioral context but not extensively.
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, well-structured sentence that front-loads the main action and returns. Every word provides value without 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?
Given the tool has only one optional parameter and no output schema, the description covers the main purpose and return fields. However, it lacks details on default behavior when empresaId is omitted and does not mention pagination or limits, which are common for list tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single parameter 'empresaId' is 100%, and the description does not add any additional semantics beyond the schema's 'ID da empresa'. With high schema coverage, baseline is 3.
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 lists all accounts configured for accounting reconciliation, specifying types (bank, customers, suppliers, taxes) and what is returned (name, type, bank, tolerance settings). This distinguishes it from sibling tools like listar_contas_bancarias, which list different accounts.
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 viewing reconciliation accounts but does not provide explicit guidance on when to use this tool versus alternatives like listar_contas_bancarias or other reconciliation tools. No exclusions or when-not-to-use context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconciliation_list_exceptionsListar Exceções de ConciliaçãoARead-onlyInspect
Lista exceções (itens sem correspondência) de uma sessão. Exceções podem ser transações sem lançamento ou lançamentos sem transação. Inclui prioridade e sugestão IA.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filtrar por status | |
| sessionId | Yes | ID da sessão |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the tool is read-only. The description adds behavioral context by detailing the types of exceptions and the included fields (priority, AI suggestion), which aids in understanding the output. No contradiction 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?
The description is extremely concise with only two sentences, front-loading the action and key details. Every word adds value, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, read-only annotation, no output schema), the description fully explains the purpose, input (implied session), and output characteristics (exceptions with priority and AI suggestion). It is complete for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters have descriptions in the schema. The tool description does not add additional meaning beyond what is in the schema, meeting the baseline expectation.
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 lists exceptions (unmatched items) of a session, explains what exceptions are (missing transactions or postings), and mentions included fields (priority, AI suggestion). This distinguishes it from siblings like reconciliation_list_matches.
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 listing exceptions but does not explicitly state when to use this tool versus alternatives like reconciliation_list_matches or reconciliation_list_accounts. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconciliation_list_matchesListar Matches de ConciliaçãoARead-onlyInspect
Lista os matches (correspondências) encontrados em uma sessão de conciliação. Mostra confiança, tipo de match (exato/fuzzy/llm), e status (sugerido/aprovado/rejeitado).
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filtrar por status | |
| sessionId | Yes | ID da sessão |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true; description adds which fields are shown (confidence, type, status) but not behavioral traits like pagination or error handling.
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 sentences, front-loaded with purpose, no redundant 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?
For a list tool with filter, description covers key aspects; missing elements like pagination but acceptable given schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters; description adds no additional meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Lista' and resource 'matches de conciliação', clearly distinguishing from sibling tools like reconciliation_approve_match or reconciliation_list_exceptions.
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?
No explicit guidance on when to use or alternatives; context implies use after session creation but lacks when-not-to-use criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconciliation_seed_demoGerar Dados de DemonstraçãoADestructiveInspect
Cria dados fictícios de demonstração para conciliação contábil: conta bancária, sessão, 20 transações, 19 lançamentos, e regras de matching. Útil para testes e onboarding.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint: true. The description adds that it creates fake data and lists what is created, but does not disclose potential side effects like overwriting existing data or whether it can be run multiple times.
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 brief (two sentences) and front-loaded with the main action. It effectively communicates the tool's purpose without 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?
Given the tool's simplicity (one parameter, no output schema), the description adequately covers what the tool does. However, it lacks information about the return value (e.g., a confirmation or IDs of created objects), which could be useful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the parameter. The description does not add additional meaning beyond the schema's description of 'ID da empresa'.
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 creates demo data for reconciliation, listing specific entities (bank account, session, 20 transactions, 19 entries, matching rules). This distinguishes it from sibling reconciliation tools that perform other 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 indicates the tool is useful for testing and onboarding, providing clear context for when to use it. However, it does not explicitly state when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
saude_financeiraSaúde FinanceiraARead-onlyInspect
Calcula o score de saúde financeira da empresa (0-100) com indicadores detalhados: liquidez, inadimplência, margem, compliance.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds context about output indicators but does not disclose further behavioral traits like auth requirements or response format.
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 essential information, 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 the simple tool, good annotations, and full schema coverage, the description is largely sufficient, though it could elaborate on the output format since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a well-described parameter; description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'calcula' and the resource 'score de saúde financeira (0-100)' with specific indicators, but does not explicitly distinguish from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for financial health assessment, but lacks explicit when-to-use or when-not-to-use guidance and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simular_imposto_reformaSimular Imposto Reforma TributáriaARead-onlyInspect
Simula o impacto da Reforma Tributária (CBS + IBS) sobre uma operação, comparando com o regime atual (PIS/COFINS/ISS/ICMS).
| Name | Required | Description | Default |
|---|---|---|---|
| ncm | No | NCM do produto (para mercadorias) | |
| ufOrigem | No | UF de origem (ex: SP) | |
| ufDestino | No | UF de destino (ex: MG) | |
| regimeAtual | No | Regime tributário atual | lucro_presumido |
| tipoOperacao | Yes | Tipo da operação | |
| codigoServico | No | Código do serviço LC 116 (para serviços) | |
| valorOperacao | Yes | Valor da operação em reais |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description is consistent with a simulation (no data mutation). However, it adds no extra behavioral context beyond what annotations provide, such as performance, output structure, or side effects. With annotations covering safety, 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 a single, well-structured sentence of about 20 words. It is front-loaded with the core purpose and wastes no words. Every piece of information earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters (2 required) and no output schema, the description could hint at return values or parameter dependencies (e.g., when to use ncm vs codigoServico). It lacks this context, making it adequate but not fully complete for a simulation tool of moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to add parameter details. The description provides high-level context about the reform comparison but does not elaborate on parameter relationships or usage constraints beyond the schema. Baseline 3 is adequate.
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 verb 'Simula' and the resource: impact of the tax reform (CBS+IBS) on an operation, comparing with the current regime (PIS/COFINS/ISS/ICMS). It distinguishes from siblings like calcular_cbs_ibs and calcular_imposto_seletivo by focusing on the full reform comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., calcular_cbs_ibs, simular_regime_tributario). It does not specify context, prerequisites, or exclusions, leaving the agent to infer usage without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simular_regime_tributarioSimulador de Regime TributárioBRead-onlyInspect
Simula e compara regimes tributários (Simples Nacional, Lucro Presumido, Lucro Real) para a empresa, indicando o mais vantajoso.
| Name | Required | Description | Default |
|---|---|---|---|
| empresaId | No | ID da empresa | |
| folhaPagamento | No | Folha de pagamento mensal em reais | |
| faturamentoAnual | Yes | Faturamento anual estimado em reais | |
| atividadePrincipal | No | CNAE ou descrição da atividade principal |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint: true, so the description aligns with that. It adds that the tool 'indicates the most advantageous', which is behavioral context. No contradictions, but no additional disclosure of side effects or constraints beyond what annotations cover.
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, efficient sentence that communicates the verb, resource, and outcome. No wasted words; front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and the complexity of tax regime simulation, the description is adequate but incomplete. It does not explain what the output format is, what data sources are used, or how to interpret the result. More depth would help, but the core purpose is clear.
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?
Input schema has 100% coverage with descriptions for all parameters. The tool description does not add new semantics beyond the schema, so it meets the baseline but provides no extra clarification on how parameters interact or which are essential.
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 it simulates and compares tax regimes (Simples Nacional, Lucro Presumido, Lucro Real) and indicates the most advantageous. However, it does not differentiate from siblings like 'economia_tributaria' or 'calcular_cbs_ibs', which could overlap.
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?
No guidance on when to use this tool versus alternatives. No mention of prerequisites, required permissions, or scenarios where it should not be used. The description implies usage for a company but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
status_apiStatus da APIARead-onlyInspect
Retorna o status operacional da API Contazz AutoPilot e versão atual.
| 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, so the tool is known to be non-destructive. The description adds that it returns operational status and version, confirming the read-only nature and providing specific output details.
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, efficient sentence that conveys all necessary information without unnecessary 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 zero parameters, clear annotations, and no output schema, the description is sufficient. It explains the tool's output (status and version) in full.
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 input schema has zero parameters, so no parameter description is needed. The description correctly indicates no inputs 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 uses a specific verb (Retorna/Returns) and resource (status operacional da API e versão atual), clearly distinguishing it from sibling tools that deal with different resources like clients, charges, or fiscal documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking API status but provides no explicit guidance on when to use it versus alternatives. With many sibling tools, a note on context (e.g., 'use before other operations') would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscribe_webhookRegistrar WebhookADestructiveInspect
Registra uma URL de webhook para receber notificações em tempo real de eventos da empresa (cobrança paga, NFS-e emitida, etc). Eventos são assinados com HMAC-SHA256.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL do webhook (HTTPS obrigatório em produção) | |
| events | Yes | Lista de eventos para receber notificações | |
| empresaId | No | ID da empresa |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that events are signed with HMAC-SHA256, providing security context beyond the annotations. However, it does not detail potential side effects beyond the destructiveHint annotation, such as whether existing webhooks are replaced or if authentication is required.
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-loading the purpose and including concise examples and a security note. Every sentence adds value without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 parameters, no nested objects, no output schema), the description covers the main purpose, event examples, and signing mechanism. It lacks information about the response format or error handling, but overall it is complete enough for an agent to understand the tool's function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to add much. It provides a small extra: the URL must be HTTPS in production and lists example events. This is helpful but not significantly beyond the schema's own descriptions.
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 verb 'Registra' (register) and the resource 'webhook URL', specifying its purpose to receive real-time notifications of company events. It provides concrete examples of events (cobrança paga, NFS-e emitida), distinguishing it from sibling tools like cancelar_webhook and listar_webhooks.
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 setting up webhooks but does not explicitly state when to use this tool versus alternatives, nor does it provide any prerequisites or exclusions. It lacks guidance on 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.
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!