Skip to main content
Glama
guipmilek

Despezzas MCP

by guipmilek

📍 Visão geral

Servidor MCP para dados financeiros do Despezzas. Expõe ferramentas para clientes MCP (como ChatGPT) listarem contas, cartões e categorias, pesquisarem transações, consultarem resumos de gastos e fazerem operações de escrita com proteções.

Projeto open-source (MIT), construído analisando as requisições de rede e o código do frontend do Despezzas. O Despezzas não publica uma API oficial — trate isto como integração não oficial. Endpoints e campos podem mudar sem aviso.

WARNING

Integração não oficial. Endpoints e fluxos de login podem mudar sem aviso.

IMPORTANT

Este MCP pode ler e alterar dados financeiros pessoais. Nunca faça commit de.env, tokens, senhas, sessões, HARs não mascarados ou respostas reais da API.

Related MCP server: Lunch Money MCP Server

Desenvolvimento com IA e agentes

Este projeto foi desenvolvido de forma majoritariamente assistida por IA ("vibecoded"): grande parte da implementação foi gerada, refatorada ou iterada com agentes de IA, com direção técnica, conhecimento de programação e revisão manual de Guilherme Milek.

Para agentes de IA trabalhando neste repositório, use llms.txt como contexto inicial. Ele resume a arquitetura, arquivos principais, comandos, ferramentas MCP, regras de segurança e notas de deploy.

Item

Valor

Status

MVP funcional para uso pessoal

API

Integração não oficial com endpoints do Despezzas

Runtime

Node.js >=20

Transportes

stdio, HTTP Node, Cloudflare Workers

Autenticação

Bearer token, e-mail/senha, OAuth MCP

Deploy recomendado

Cloudflare Workers

⚡ Início rápido

npm install
npm run build
Copy-Item .env.example .env
npm run dev

Depois configure a autenticação no .env com DESPEZZAS_TOKEN ou DESPEZZAS_EMAIL + DESPEZZAS_PASSWORD + DESPEZZAS_FIREBASE_API_KEY.

✨ Funcionalidades

📖 Ferramentas de leitura: perfil, acessos de perfil, configuração pessoal, contas, bancos, cartões de crédito, categorias, subcategorias, busca compacta de transações, visão geral, resumo financeiro e diagnóstico de exportação/campos.

🧾 Pré-visualização de transações: prepara payloads de criação/edição/exclusão sem chamar o Despezzas.

✍️ Ferramentas de escrita: trocar/criar/editar/excluir/sair de perfil, criar/editar/excluir conta, cartão de crédito, transação, transferência, duplicar transação e alternar pago.

🔐 Autenticação: token bearer copiado, login por e-mail/senha via variáveis de ambiente ou página HTTP de autorização MCP.

🔄 Renovação de token: sessões Firebase salvas são reutilizadas e renovadas automaticamente.

🛡 Trava de segurança: toda ferramenta de escrita/destrutiva exige confirm: true.

🔌 Transportes: stdio local e Streamable HTTP (Node ou Cloudflare Workers).

🔎 Depuração: inspetor de HAR e monitor de requisições no DevTools para capturar endpoints futuros.

Valores usam centavos inteiros no formato nativo do Despezzas. Exemplo: 12345 significa R$123.45.

Para escritas de transação, use primeiro as ferramentas de preparo:

  1. Pesquise/liste a conta, cartão, categoria, subcategoria ou transação alvo.

  2. Chame despezzas_prepare_create_transaction, despezzas_prepare_update_transaction ou despezzas_prepare_delete_transaction.

  3. Revise o payload retornado e os IDs de destino.

  4. Chame a ferramenta real de escrita com os mesmos campos e confirm: true.

despezzas_create_transaction recusa intencionalmente payloads sem destino de conta/cartão, com conta e cartão ao mesmo tempo, ou sem category_id, a menos que allow_uncategorized seja explicitamente true.

🧰 Catálogo de ferramentas

Grupo

Exemplos

Escrita?

Observação

Status e perfil

despezzas_status, despezzas_profile, despezzas_list_profiles

Parcial

Trocar/criar/excluir perfil exige confirm: true.

Contas e cartões

despezzas_list_accounts, despezzas_list_credit_cards, despezzas_create_account

Parcial

Escritas validam IDs e confirmação.

Categorias

despezzas_list_categories, despezzas_list_subcategories

Não

Use antes de criar/editar transações.

Transações

despezzas_search_transactions, despezzas_create_transaction, despezzas_update_transaction

Parcial

Criação exige destino, categoria ou allow_uncategorized.

Pré-visualização

despezzas_prepare_create_transaction, despezzas_prepare_update_transaction

Não

Caminho recomendado antes de qualquer escrita.

Diagnóstico

despezzas_export_transactions, despezzas_raw_api

Parcial

Use com cuidado; respostas são mascaradas quando possível.

🛠 Tecnologias

As principais ferramentas usadas neste projeto:

Servidor MCP

Deploy

Ferramentas

* Veja o arquivo package.json para a lista completa de dependências.

🚀 Primeiros passos

📦 Configuração

npm install
npm run build
Copy-Item .env.example .env

✔️ Verificação

npm run verify
npm run smoke:readonly

npm run verify executa checagem de segurança do repositório, sincronização do catálogo MCP, Prettier, ESLint, TypeScript e testes. npm run smoke:readonly compila o projeto e chama apenas endpoints somente leitura do Despezzas usando o token/sessão configurado.

Checagens individuais úteis:

npm run check:repo-safety
npm run check:mcp-tools
npm run format:check
npm run lint
npm run typecheck
npm test

📋 Variáveis de ambiente

Variável

Obrigatória?

Uso

DESPEZZAS_TOKEN

Opcional

Token bearer manual copiado de uma sessão web.

DESPEZZAS_EMAIL

Opcional

Login por e-mail/senha.

DESPEZZAS_PASSWORD

Opcional

Login por e-mail/senha.

DESPEZZAS_FIREBASE_API_KEY

Para e-mail/senha

Chave pública do Firebase Web usada para troca e refresh de token. Veja como obtê-la no .env.example.

DESPEZZAS_SESSION_FILE

Opcional

Caminho de sessão persistida; use none para desativar.

MCP_TRANSPORT

Opcional

stdio ou http; padrão stdio.

HOST / PORT

Opcional

Bind do servidor HTTP; padrão 127.0.0.1:8787.

MCP_PUBLIC_BASE_URL

Produção/OAuth

URL pública HTTPS para metadados OAuth.

MCP_OAUTH_TOKEN_SECRET

Recomendado

Assinatura estável dos tokens OAuth MCP.

MCP_OWNER_AUTH_CODE

Deploy privado

Código de proprietário para autorizações de conta única.

SESSION_ENCRYPTION_KEY

Cloudflare multiusuário

Criptografia de sessões no Workers KV.

🔐 Autenticação

Opções preferenciais:

  1. Execute em modo HTTP e abra http://127.0.0.1:8787/login.

  2. Defina DESPEZZAS_EMAIL, DESPEZZAS_PASSWORD e DESPEZZAS_FIREBASE_API_KEY (chave pública — veja .env.example) no .env.

  3. Copie o DESPEZZAS_TOKEN pelas DevTools do navegador.

A página /login usa a identidade visual do Despezzas, acompanha os temas claro/escuro do sistema e contém apenas os campos necessários para este MCP: e-mail, senha e, quando configurado, código de acesso do proprietário. Criação de conta e recuperação de senha ficam no app oficial do Despezzas.

O fluxo de login espelha o frontend do Despezzas:

  1. POST https://api.despezzas.com/v2/auth com e-mail/senha.

  2. Usa o firebase_token retornado com Firebase accounts:signInWithCustomToken usando DESPEZZAS_FIREBASE_API_KEY (a chave pública do Firebase Web do Despezzas).

  3. Usa o idToken do Firebase como Authorization: Bearer ... em api.despezzas.com.

  4. Salva o refresh token do Firebase em %USERPROFILE%\.despezzas-mcp\session.json por padrão.

Etapa

Origem

Destino

Resultado

1

Usuário

/login do MCP

Envia e-mail e senha para autorização local.

2

MCP

API Despezzas

Troca credenciais por firebase_token.

3

MCP

Firebase

Troca firebase_token por idToken e refreshToken.

4

MCP

Cliente MCP/ChatGPT

Entrega um token OAuth MCP opaco.

Defina DESPEZZAS_SESSION_FILE=none para desativar a persistência de sessão. Se todos os métodos de autenticação falharem, despezzas_status indicará que é preciso abrir a página de login ou configurar credenciais.

Não passe sua senha como argumento de ferramenta. Argumentos podem ficar visíveis ao cliente. Use .env ou a página /login.

🖥 Configuração MCP local

Para um cliente MCP local via stdio:

{
  "mcpServers": {
    "despezzas": {
      "command": "node",
      "args": ["C:\\caminho\\para\\despezzas-mcp\\dist\\index.js"],
      "env": {
        "DESPEZZAS_TOKEN": "seu-token-aqui"
      }
    }
  }
}

Para desenvolvimento sem compilar:

npm run dev

🌐 Modo HTTP

$env:MCP_TRANSPORT = "http"
$env:PORT = "8787"
npm run dev:http

Verificação de saúde:

Invoke-RestMethod http://127.0.0.1:8787/health

Abra a página local de autorização:

Start-Process http://127.0.0.1:8787/login

Se expuser o modo HTTP além do localhost, coloque HTTPS e controle de acesso na frente. A página /login aceita sua senha do Despezzas para autorizar o MCP.

🤖 Conexão OAuth com ChatGPT

Para a tela New App em ChatGPT Apps & Connectors:

  1. Faça deploy em Cloudflare Workers seguindo docs/cloudflare-workers.md.

    npm run check:cloudflare
    npm run deploy:cloudflare
  2. Confirme a URL pública do Worker:

    Invoke-RestMethod https://despezzas-mcp.<sua-conta>.workers.dev/health
  3. No ChatGPT, use:

    • URL do servidor: https://despezzas-mcp.<sua-conta>.workers.dev/mcp

    • Autenticação: OAuth

O servidor expõe os endpoints de descoberta esperados pelo ChatGPT:

  • GET /.well-known/oauth-protected-resource

  • GET /.well-known/oauth-authorization-server

  • POST /oauth/register

  • GET|POST /oauth/authorize

  • POST /oauth/token

Essa camada OAuth protege a conexão. Durante a autorização, a página de login troca e-mail/senha do Despezzas por uma sessão Despezzas/Firebase no servidor. O botão final é Entrar e autorizar, e o ChatGPT recebe apenas um token de acesso MCP opaco.

MCP_HTTP_BEARER_TOKEN ainda é útil para scripts fora do ChatGPT. Quando omitido, o /mcp exige um token OAuth válido.

Apps/conectores personalizados do ChatGPT exigem um endpoint MCP remoto em HTTPS. A documentação do Apps SDK da OpenAI descreve o MCP como a camada de servidor necessária para expor ferramentas ao ChatGPT, e o guia de conexão pelo ChatGPT usa um endpoint HTTPS para adicionar um servidor MCP. Veja:

☁️ Deploy remoto

Caminho suportado para deploy remoto: Cloudflare Workers.

Veja docs/deployment.md para o resumo operacional do deploy apenas em Cloudflare.

Provedor

Melhor para

Arquivos

Observação

Cloudflare Workers

MCP remoto com ChatGPT

wrangler.jsonc, src/cloudflare.ts

Caminho de deploy mantido no projeto.

Arquivos de deploy mantidos:

  • wrangler.jsonc e src/cloudflare.ts para Cloudflare Workers.

  • docs/cloudflare-workers.md para o passo a passo completo.

Para o modo multiusuário em Cloudflare Workers, associe o namespace KV DESPEZZAS_SESSIONS, defina MCP_OAUTH_TOKEN_SECRET, SESSION_ENCRYPTION_KEY e DESPEZZAS_FIREBASE_API_KEY como secrets do Wrangler e faça deploy com npm run deploy:cloudflare. Para deploys privados de conta única, defina MCP_OWNER_AUTH_CODE junto com suas credenciais do Despezzas e DESPEZZAS_FIREBASE_API_KEY.

🔎 Inspeção de HAR

Quando capturar mais ações do frontend:

npm run inspect:har -- C:\path\to\despezzas.har

O script imprime apenas chamadas para api.despezzas.com e mascara segredos comuns. Próximas ações úteis para capturar:

  • Pagar/despagar contas e faturas de cartão de crédito.

  • Metas, limites de gastos, relatórios, investimentos, gerenciamento de conexão Open Finance e ações do chat de IA.

  • Qualquer caso de borda de perfil ainda não coberto por despezzas_list_profiles / despezzas_switch_profile / ferramentas de gerenciamento de perfil.

Se preferir não exportar um HAR, cole scripts/request-monitor-devtools.js no DevTools em despezzas.com, execute a ação e depois rode:

window.__despezzasMcpMonitor.download();

Ele exporta um relatório JSON mascarado das chamadas fetch/XHR para api.despezzas.com.

📚 MCPs de referência

Este projeto tomou como referência:

Este repositório mantém uma estrutura parecida, mas usa endpoints nativos do Despezzas e IDs em UUID.

🤝 Contribuição

Contribuições são bem-vindas. Antes de abrir um pull request:

  1. Leia CONTRIBUTING.md.

  2. Rode npm run verify.

  3. Não inclua credenciais, tokens, sessões, HARs não mascarados ou dados financeiros reais.

  4. Mantenha confirm: true obrigatório para toda ferramenta de escrita/destrutiva.

  5. Atualize llms.txt, AGENTS.md e os docs em docs/ quando mudar arquitetura, comandos, ferramentas MCP ou regras importantes para agentes.

📄 Licença

MIT. Veja LICENSE.


Available Tools

35 tools
despezzas_batch_update_transactionsEditar Transações em LoteA
Destructive

Operação de escrita. Pré-visualiza e depois edita várias transações do Despezzas com uma chamada confirm:true. Exige confirm: true. Chame uma vez sem confirm para inspecionar os payloads; repita com confirm:true apenas depois de verificar cada id e payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
updatesYesEdições de transação. Cada item usa os mesmos campos de despezzas_update_transaction, incluindo id.
stop_on_errorNoPara após o primeiro erro de API. A validação sempre roda para todos os itens antes de qualquer escrita.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
totalYes
previewYes
resultsNo
all_readyYes
confirmedYes
ready_countYes
updated_countNo
requires_confirmNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations provide destructiveHint: true, and the description adds behavioral details about the two-phase commit pattern, inspection of payloads, and validation before writing (from schema). 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.

Conciseness5/5

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

Very concise, front-loaded with 'Operação de escrita.' Every sentence adds necessary information without redundancy.

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

Completeness5/5

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

Given the tool's complexity, the description covers the essential workflow for batch updates with preview. Output schema exists, so return values are not needed. Complete for agent use.

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

Parameters4/5

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

The description explains the workflow for confirm parameter, and the schema describes updates and stop_on_error. Adds value beyond schema by explaining preview and confirm semantics.

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

Purpose5/5

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

The description clearly states it is a write operation for editing multiple transactions, with a two-step process using confirm. It distinguishes from sibling single-update tools by emphasizing batch editing and preview.

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

Usage Guidelines4/5

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

Explicitly instructs to call without confirm for preview and with confirm only after verifying payloads. Lacks explicit alternatives or when-not-to-use, but the context sufficiently guides usage.

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

despezzas_create_accountCriar Conta ManualB
Destructive

Operação de escrita. Cria uma conta manual no Despezzas. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
logoYesURL do logo ou valor de logo de banco do Despezzas vindo de despezzas_list_banks.
nameYes
confirmNo
include_total_balanceNo
initial_balance_centsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate destructiveHint: true. The description adds that it is a write operation requiring confirmation ('Exige confirm: true'), but does not disclose other behavioral details like permissions or side effects.

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

Conciseness4/5

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

The description is very short (two sentences) and front-loaded with key info, but it could be more informative without adding much bulk.

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

Completeness2/5

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

For a destructive tool with 5 parameters and low schema coverage, the description is too brief. It doesn't explain the creation process, return values (output schema exists but not described), or prerequisites, making it incomplete.

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

Parameters2/5

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

Schema description coverage is only 20%. The description only mentions that 'confirm' must be true, but does not explain other parameters like 'logo', 'name', 'include_total_balance', or 'initial_balance_cents', which are undocumented in the schema.

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

Purpose5/5

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

The description clearly states it creates a manual account ('Cria uma conta manual no Despezzas'), using a specific verb and resource, and distinguishes it from sibling tools like create_credit_card or create_profile.

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

Usage Guidelines3/5

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

The description implies when to use (creation of a manual account) and requires 'confirm: true', but lacks explicit guidance on when not to use it or alternatives among sibling tools.

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

despezzas_create_credit_cardCriar Cartão de CréditoC
Destructive

Operação de escrita. Cria um cartão de crédito manual no Despezzas. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
logoNo
nameYes
confirmNo
account_idNo
limit_centsNo
closing_dateNoString com o dia de fechamento.
is_unlimitedNo
expiring_dateNoCampo de dia/mês de vencimento como o Despezzas espera, geralmente uma string de dia.
available_limit_centsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already mark destructiveHint:true. The description adds that it is a write operation and requires confirm:true, which is consistent. However, it does not elaborate on side effects or permissions beyond that.

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

Conciseness4/5

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

Two short sentences, front-loaded with key info (write operation, manual creation, confirm requirement). However, it omits important details, making it slightly less efficient.

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

Completeness2/5

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

Given 9 parameters, low schema coverage, and an output schema, the description is incomplete. It lacks parameter explanations, output description, and usage context for a destructive operation.

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

Parameters1/5

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

With only 22% schema description coverage, the description should explain parameters. It provides no info on any parameter beyond hinting confirm must be true. The schema itself underspecifies parameters, and the description does not compensate.

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

Purpose4/5

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

The description clearly states it creates a credit card manually ('Cria um cartão de crédito manual'), with the verb and resource explicit. It distinguishes from sibling tools like update_credit_card by the create action, yet could note that other create tools exist.

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

Usage Guidelines2/5

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

No guidance on when to use this tool over alternatives like creating an account or transaction. The description only states it is a write operation and requires confirm:true, but does not specify prerequisites 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.

despezzas_create_profileCriar Perfil CompartilhadoA
Destructive

Operação de escrita. Cria um dos três perfis extras do Despezzas (PJ, família ou investimentos). Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
typeYesTipo de perfil extra do Despezzas. Normalmente só é permitido um de cada tipo.
confirmNo
invitesNoLista opcional de convites. Os papéis são editor ou viewer.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already include destructiveHint: true, and the description adds the specific requirement of confirm: true, which is a behavioral constraint. It also clarifies the operation is a 'write' and specifies the three profile types, providing 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.

Conciseness5/5

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

The description is a single sentence plus a brief requirement note. It is front-loaded with 'Operação de escrita' and contains no redundant information.

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

Completeness3/5

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

The description covers the core action and critical parameter (confirm), but omits details about invites (max 5 items), name length constraints, and potential errors like duplicates. The output schema exists but is not referenced.

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

Parameters3/5

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

The description adds meaning by linking the type parameter to the three profile types and emphasizing the confirm parameter requirement. However, it does not explain the name constraints or the invites parameter structure, leaving some gaps despite 50% schema coverage.

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

Purpose5/5

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

The description clearly states it is a write operation that creates one of three specific extra profiles (PJ, family, investments). It distinguishes from siblings like delete_profile and switch_profile by explicitly naming the types and using 'cria' (creates).

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

Usage Guidelines4/5

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

The description advises that confirm must be true, which is a critical prerequisite. However, it does not explicitly state when to use this tool over alternatives like despezzas_update_profile_access or despezzas_switch_profile, though the sibling list implies distinct purposes.

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

despezzas_create_transactionCriar TransaçãoA
Destructive

Operação de escrita. Cria uma transação real no Despezzas. Exige confirm: true. Use despezzas_prepare_create_transaction primeiro e nunca adivinhe IDs de conta/cartão/categoria.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
kindNoexpense
paidNo
titleYes
confirmNo
frequencyNo
account_idNo
amount_modeNoper_installment
category_idNo
descriptionNo
amount_centsYesValor em centavos. Exemplo: 12345 = R$123.45.
installmentsNo
credit_card_idNo
subcategory_idNo
transaction_typeNounique
allow_uncategorizedNoDefina como true apenas quando quiser intencionalmente criar uma transação sem category_id.

Output Schema

ParametersJSON Schema
NameRequiredDescription
createdYes
payloadYes
transactionYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate destructiveHint: true, so the description's 'Operação de escrita' adds little. It does mention the confirm: true requirement, which is behavioral. However, it lacks details on side effects, error conditions, or the fact that it creates a permanent record, which would be useful 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.

Conciseness4/5

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

The description is brief with three sentences, no redundant information, and front-loads the purpose. Could be slightly more structured but maintains high efficiency.

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

Completeness2/5

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

Given the complexity (16 parameters, low schema coverage) and the presence of an output schema, the description should provide more context about the return value, error handling, and the different transaction types. It only covers a small fraction of the tool's usage context.

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

Parameters2/5

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

Schema description coverage is only 13%, placing a burden on the description to explain parameters, but it only mentions confirm: true. Many critical parameters like account_id, category_id, amount_cents, date, and transaction_type are not explained in the description, leaving the agent to rely on the schema's sparse descriptions.

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

Purpose5/5

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

The description clearly states it creates a real transaction ('Cria uma transação real no Despezzas') and identifies it as a write operation. It distinguishes from the sibling tool despezzas_prepare_create_transaction by indicating that the prepare tool must be used first.

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

Usage Guidelines5/5

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

Explicitly instructs to use despezzas_prepare_create_transaction first and never guess IDs of account, card, or category. Also notes the requirement of confirm: true, providing clear guidance on when and how to use this tool.

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

despezzas_create_transferCriar TransferênciaB
Destructive

Operação de escrita. Cria uma transferência entre duas contas do Despezzas. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
paidNo
titleNo
confirmNo
descriptionNo
amount_centsYesValor em centavos. Exemplo: 12345 = R$123.45.
sent_account_idYesID da conta de origem.
received_account_idYesID da conta de destino.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already mark the tool as destructive. The description adds that it requires confirm: true and is a write operation, which aligns with the annotation but provides minimal additional 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.

Conciseness4/5

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

The description is short and to the point, with no redundant phrasing. It efficiently conveys the core purpose and a key requirement.

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

Completeness2/5

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

With 8 parameters and an output schema, the description is too sparse. It omits details about return values, error handling, and parameter usage, leaving significant gaps for the agent.

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

Parameters2/5

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

Schema description coverage is low (38%), and the description does not explain any parameters beyond mentioning confirm. It fails to compensate for the gap, especially for undocumented properties like 'paid', 'title', 'description'.

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

Purpose5/5

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

The title and description clearly state the tool creates a transfer between two accounts. The verb 'cria' (creates) and resource 'transferência' are specific, and it is distinct from siblings like 'despezzas_create_transaction'.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs alternatives like 'despezzas_create_transaction'. The description only states a requirement (confirm: true) but lacks usage context or exclusions.

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

despezzas_delete_accountExcluir ContaA
Destructive

Operação de escrita destrutiva. Exclui uma conta do Despezzas. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID da conta em despezzas_list_accounts.
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate destructiveHint: true. The description adds 'Operação de escrita destrutiva' and the confirm requirement, which is consistent. However, it does not elaborate on the permanence of deletion, impact on related data (e.g., transactions), or recovery options. Since annotations cover the safety profile, the additional value is moderate.

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

Conciseness5/5

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

Three short sentences, each earning its place: operation type, action, and requirement. Information is front-loaded and no extraneous content. Extremely concise without sacrificing clarity.

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

Completeness4/5

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

Given the tool has 2 parameters, destructiveHint annotation, and an output schema, the description is fairly complete. It identifies the required parameter (id) and the confirm requirement. However, it does not mention that deletion is permanent or impacts associated transactions. Nonetheless, with output schema available for return values, the description covers the essential behavioral aspects adequately.

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

Parameters3/5

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

Schema description coverage is 50% (id has description, confirm has none). The description adds meaning for confirm by stating 'Exige confirm: true', which compensates for the missing schema description. The id parameter is already described in the schema as 'ID da conta em despezzas_list_accounts', so no additional value. Overall, the description adds some but limited semantic value beyond the schema.

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

Purpose5/5

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

The description clearly states 'Exclui uma conta do Despezzas' (deletes an account). It is a destructive write operation, distinct from sibling tools like despezzas_update_account or despezzas_delete_transaction. The verb 'excluir' plus resource 'conta' makes purpose unambiguous.

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

Usage Guidelines2/5

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

The description only mentions that 'confirm: true' is required. It does not provide any guidance on when to use this tool versus alternatives (e.g., despezzas_update_account to deactivate, or other deletion tools). No explicit context for when-not-to-use or prerequisites beyond the confirm flag.

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

despezzas_delete_credit_cardExcluir Cartão de CréditoA
Destructive

Operação de escrita destrutiva. Exclui um cartão de crédito do Despezzas. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID do cartão de crédito em despezzas_list_credit_cards.
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already set destructiveHint=true; description adds 'Operação de escrita destrutiva' and states 'Exige confirm: true', providing useful behavioral 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.

Conciseness4/5

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

One concise sentence in Portuguese, front-loaded with destructive nature. Efficient but could add more detail without being verbose.

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

Completeness4/5

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

For a simple delete tool with annotations and output schema, the description covers main aspects: destruction and confirmation requirement. References source for id (despezzas_list_credit_cards). Could mention irreversibility.

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

Parameters4/5

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

Schema has 2 params with 50% coverage. Description adds value by stating confirm must be true, supplementing schema. Id purpose is already clear from schema description.

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

Purpose5/5

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

Clearly states it's a destructive write operation that deletes a credit card. Title 'Excluir Cartão de Crédito' is unambiguous. Distinguishes from siblings like create/update credit card.

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

Usage Guidelines2/5

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

No explicit guidance on when to use vs alternatives. Only mentions require confirm: true, but does not explain when deletion is appropriate 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.

despezzas_delete_profileExcluir Perfil CompartilhadoA
Destructive

Operação de escrita destrutiva. Exclui um perfil compartilhado de sua propriedade. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID do perfil compartilhado em despezzas_list_profiles.
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

The description adds behavioral details beyond the destructiveHint annotation by specifying that it requires confirm: true and is a 'operação de escrita destrutiva' (destructive write operation), which complements 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.

Conciseness5/5

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

The description is extremely concise: two sentences that state purpose, destructiveness, and the confirm requirement. No wasted words.

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

Completeness4/5

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

Given the simple operation and presence of output schema, the description covers key behavioral aspects. However, it does not differentiate from sibling leave_profile, which could cause confusion.

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

Parameters3/5

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

With 50% schema description coverage, the description adds meaning for the confirm parameter by stating it must be true, but adds little for id beyond what the schema already provides. This compensates partially but not fully.

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

Purpose5/5

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

The description clearly states 'Exclui um perfil compartilhado de sua propriedade' (Deletes a shared profile from your ownership), using a specific verb and resource. It distinguishes from sibling tools like create, list, leave, and update profiles.

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

Usage Guidelines3/5

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

The description mentions 'Exige confirm: true' indicating a requirement for use, but does not provide explicit when-to-use or when-not-to-use guidance versus alternatives like despezzas_leave_profile.

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

despezzas_delete_transactionExcluir TransaçãoA
Destructive

Operação de escrita destrutiva. Exclui uma transação. Exige confirm: true. Use despezzas_prepare_delete_transaction primeiro.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
scopeNoTHIS
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Adds context beyond the destructiveHint annotation by describing it as a 'destructive write operation' and emphasizing the necessity of confirmation and preparation. However, it does not explain the behavior of the 'scope' parameter.

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

Conciseness5/5

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

Three succinct, front-loaded sentences with no superfluous words. Every sentence adds essential information: destructive nature, action, requirement, and prerequisite.

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

Completeness3/5

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

Completes the core purpose and prerequisite but omits details on the 'scope' parameter, which is relevant for multi-entity deletion. Output schema exists, so return values need not be described, but parameter coverage is insufficient.

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

Parameters2/5

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

Given 0% schema description coverage, the description only hints at the 'confirm' parameter requiring true. It fails to explain 'id' (though perhaps obvious) and especially the 'scope' enum (THIS, THIS_AND_NEXT, ALL), leaving a significant gap.

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

Purpose5/5

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

The description clearly states the tool deletes a transaction, using a specific verb (Excluir) and resource (transação). It distinguishes from siblings by referencing the prerequisite 'despezzas_prepare_delete_transaction' and implying it is the final deletion step.

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

Usage Guidelines5/5

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

Explicitly instructs to first use 'despezzas_prepare_delete_transaction' and requires 'confirm: true', providing clear when and how to use the tool. This differentiates it from other transaction tools.

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

despezzas_duplicate_transactionDuplicar TransaçãoC
Destructive

Operação de escrita. Duplica uma transação do Despezzas. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already indicate 'destructiveHint: true'. The description adds 'Operação de escrita' and 'Exige confirm: true', which provides extra context about confirmation requirement. However, it does not disclose other behavioral traits like side effects or typical outcomes.

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

Conciseness3/5

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

The description is very short (two sentences), but the first sentence ('Operação de escrita') is redundant given the annotation 'destructiveHint: true'. It could be more concise by removing redundancy while adding missing information.

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

Completeness2/5

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

Given the simplicity of the tool (2 params, output schema exists), the description is still incomplete. It does not explain what duplicating means (e.g., copies fields, creates a new record) or any required conditions, leaving gaps for an AI agent.

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

Parameters2/5

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

With 0% schema description coverage, the description should compensate. It only mentions that 'confirm' must be true, but fails to explain the 'id' parameter or any format constraints. The parameter semantics are largely absent.

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

Purpose4/5

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

The description clearly states the verb 'Duplicar' and the resource 'transação', making the tool's purpose clear. However, it does not distinguish from sibling tools like 'create_transaction' or 'toggle_transaction_paid', so it slightly lacks differentiation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description lacks context for appropriate usage scenarios and does not mention any prerequisites or exclusions.

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

despezzas_export_transactionsExportar TransaçõesC

Inspeciona/exporta transações do Despezzas em um intervalo de datas. Por padrão faz uma contagem segura com resumo de campos; defina count_only:false para chamar o endpoint de exportação.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_endYes
count_onlyNo
date_startYes
account_idsNo
sample_limitNo
credit_card_idsNo
include_field_summaryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It mentions safe count and export endpoint but omits details on side effects, authentication requirements, rate limits, or return format. This is insufficient for a mutation-like export tool.

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

Conciseness4/5

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

The description is very short (two sentences) and front-loaded with purpose. While it saves words, it sacrifices parameter details. It is efficient but could benefit from a brief list of key parameters.

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

Completeness2/5

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

Despite a complex input schema with 7 parameters and no annotations, the description covers only two parameters implicitly. The output schema exists but is not described. The tool's behavior in export mode and limits are unexplained, making it insufficient for effective agent use.

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

Parameters1/5

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

Schema description coverage is 0%, and the description only explains count_only. It does not clarify the purpose or constraints of date_start, date_end, account_ids, credit_card_ids, sample_limit, or include_field_summary, leaving the agent with minimal guidance.

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

Purpose4/5

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

The description clearly states the tool inspects/exports transactions in a date range, distinguishing between a safe count mode and export by setting count_only:false. This provides a specific verb and resource, and differentiates from siblings like search_transactions.

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

Usage Guidelines3/5

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

The description explains the default behavior (safe count with field summary) and how to switch to export mode. However, it does not provide explicit guidance on when to use this tool over sibling tools like search_transactions or create_transaction, leaving room for ambiguity.

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

despezzas_finance_summaryResumo FinanceiroA

Resume receitas, despesas, totais pagos/não pagos e principais categorias em um intervalo de datas. Por padrão usa o mês atual.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
date_endNo
date_startNo
account_typeNo
include_transactionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the scope (revenues, expenses, categories) and default date range, but does not explicitly state it is read-only or mention any side effects. Adequate but not fully transparent.

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

Conciseness5/5

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

Two sentences with no redundancy. Front-loaded with key purpose and default behavior. Every word earns its place.

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

Completeness3/5

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

Though an output schema exists, the description is minimal and does not guide usage of multiple filtering parameters (account_type, include_transactions). For a tool with 5 optional parameters, more context on how to effectively use them would improve completeness.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only mentions 'date range' and 'default current month', which hints at date_start/date_end but ignores limit, account_type, and include_transactions. Parameter names are self-explanatory, but the description adds little meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the tool summarizes revenues, expenses, paid/unpaid totals, and main categories in a date range. This is a specific verb-resource combination that distinguishes it from sibling CRUD or list tools.

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

Usage Guidelines3/5

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

The description implies usage for financial summaries but does not explicitly state when to use this tool over alternatives like transaction_overview or search_transactions. No exclusions or 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.

despezzas_leave_profileSair de Perfil CompartilhadoA
Destructive

Operação de escrita. Sai de um perfil compartilhado em que você é membro. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
profile_idYesID do perfil de membro em despezzas_list_profiles.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already provide destructiveHint: true. The description adds that it requires confirm: true, which is a behavioral detail. However, it does not disclose irreversible effects or permission requirements, but with annotations, the bar is lower.

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

Conciseness5/5

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

Two sentences, front-loaded with 'Operação de escrita,' no unnecessary words. Every sentence adds value.

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

Completeness3/5

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

Given the tool's simplicity and presence of an output schema, the description is adequate but not fully complete. It does not mention error conditions or what happens after leaving, leaving some gaps.

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

Parameters3/5

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

Schema coverage is 50% with only profile_id described. The description adds that confirm must be true, compensating for confirm's missing schema description. However, it does not elaborate on profile_id beyond what schema says.

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

Purpose5/5

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

The description clearly states it is a write operation to leave a shared profile where the user is a member. The verb 'Sai' (leave) and resource 'perfil compartilhado' are specific, and it is distinct from sibling tools like switch or delete.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like 'despezzas_switch_profile' or 'despezzas_delete_profile'. No when-not-to-use or prerequisite context provided.

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

despezzas_list_accountsListar ContasA

Lista contas bancárias/dinheiro do Despezzas. Use primeiro para descobrir IDs de conta para filtros de transação.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It indicates a read operation (listing) but does not disclose any additional behavioral traits such as authentication needs, rate limits, or data freshness. For a simple list tool, the basic behavior is implied but not elaborated.

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

Conciseness5/5

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

The description is extremely concise with two sentences, front-loading the action and purpose. Every word earns its place, with no redundancy.

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

Completeness4/5

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

Given no parameters and the existence of an output schema, the description is fairly complete: it states the function and secondary use. However, it could briefly mention that it returns a list or that there are no filters, but the context is sufficient.

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

Parameters4/5

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

There are no parameters, so baseline is 4. The description does not need to add parameter semantics, and it correctly mentions the purpose of the tool.

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

Purpose5/5

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

The description clearly states it lists bank accounts/cash, specifying the verb 'lista' and the resource 'contas bancárias/dinheiro'. It distinguishes from sibling list tools by mentioning account IDs for transaction filters.

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

Usage Guidelines5/5

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

The description explicitly instructs to use this tool first to discover account IDs for transaction filters, providing clear when-to-use guidance and implying it is a prerequisite for filtering transactions.

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

despezzas_list_banksListar Bancos/Logos de ContaA

Lista opções de bancos/logos usadas ao criar contas manuais no Despezzas.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided; description is minimal for a simple list operation, but no additional behavioral traits disclosed beyond what is obvious.

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

Conciseness5/5

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

Single sentence, no wasted words, clearly states purpose.

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

Completeness4/5

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

Adequate for a parameterless list tool with output schema, though could mention context of use during account creation.

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

Parameters4/5

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

No parameters, so description does not need to add parameter info; baseline 4 applies.

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

Purpose5/5

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

Description clearly states it lists bank/logo options for manual account creation, specific verb+resource, and distinguishes from sibling list tools like list_accounts.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternatives, though usage is implied from context of creating account.

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

despezzas_list_categoriesListar CategoriasA

Lista categorias padrão e, opcionalmente, categorias criadas pelo usuário no Despezzas.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_userNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations provided, so the description must carry the burden. It states it lists categories but does not disclose read-only nature, authentication needs, or other behavioral traits. However, for a simple list operation, the minimal info 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.

Conciseness4/5

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

The description is a single, front-loaded sentence that gets to the point. It is concise, but could benefit from a slightly more structured explanation of the parameter.

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

Completeness3/5

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

For a low-complexity tool with one optional boolean and an output schema, the description covers the main functionality. However, it lacks parameter explanation, which is needed for full completeness.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the 'include_user' parameter or its effect. The parameter name is suggestive, but the agent benefits from explicit explanation. This is a gap.

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

Purpose5/5

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

The description clearly states the tool lists standard and optionally user-created categories, distinguishing it from siblings like despezzas_list_subcategories. The verb 'Lista' and resource 'categorias' are specific.

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

Usage Guidelines3/5

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

The description implies the tool is for listing categories but does not explicitly state when to use it versus alternatives (e.g., list_subcategories) or when to set include_user to true/false. Some guidance is missing.

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

despezzas_list_credit_cardsListar Cartões de CréditoA

Lista cartões de crédito do Despezzas. Use para descobrir IDs de cartão para filtros de transação.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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 accurately describes a read-only list operation without hidden side effects. While it does not explicitly state safety, the action is inherently non-destructive, and the purpose is clear.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the action, and every sentence serves a purpose: first to state what, second to state why. No redundancy or fluff.

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

Completeness5/5

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

Given zero parameters and the existence of an output schema, the description is fully adequate. It explains the tool's purpose and use case, leaving no ambiguity for an AI agent.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100%. The description adds no param details (unnecessary) but provides context on usage. Per guidelines, baseline is 4 for zero-param tools.

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

Purpose5/5

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

The description clearly states the tool lists credit cards ('Lista cartões de crédito do Despezzas') and specifies its purpose: discovering card IDs for transaction filters. This distinguishes it from sibling tools like list_accounts.

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

Usage Guidelines4/5

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

The description explicitly tells when to use the tool (to discover card IDs for transaction filters). It does not list alternatives or when not to use, but the context is clear and sufficient for an agent to decide.

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

despezzas_list_profilesListar Perfis do DespezzasA

Lista perfis Despezzas de proprietário e membro. Use antes de trocar o contexto de perfil ou gerenciar perfis compartilhados.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool lists 'owner and member' profiles, which is helpful. However, it does not mention any potential constraints (e.g., workspaces, pagination) or the fact that it is safe (non-destructive). The description is adequate but not rich in behavioral detail.

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

Conciseness5/5

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

The description is extremely concise with two short sentences. Every word serves a purpose: the first sentence states the action, the second gives usage guidance. No filler or redundancy.

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

Completeness4/5

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

Given the tool has no parameters and an output schema (not shown), the description covers what the tool does and when to use it. It could mention the output structure briefly, but it is likely provided by the schema. The description is complete for its simplicity.

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

Parameters4/5

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

The tool has no parameters (schema coverage 100%), so the description does not need to add parameter details. The baseline score for 0 parameters is 4, and the description meets this without unnecessary information.

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

Purpose4/5

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

The description clearly states 'Lista perfis Despezzas de proprietário e membro' indicating it lists profiles, distinguishing it from other list tools like list_accounts. However, it does not explicitly contrast with the sibling tool 'despezzas_profile', which might retrieve a single profile.

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

Usage Guidelines4/5

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

The description explicitly advises to use this tool before switching profile context or managing shared profiles, providing clear context for when to invoke it. It does not mention when not to use it or alternative tools, but the guidance is sufficient for a simple listing tool.

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

despezzas_list_subcategoriesListar SubcategoriasB

Lista subcategorias padrão e, opcionalmente, subcategorias criadas pelo usuário no Despezzas. Use category_id no resultado para vinculá-las às categorias.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_userNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It implies a read operation but does not explicitly state it is non-destructive, nor does it disclose other behavioral traits like authentication 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.

Conciseness5/5

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

Two concise sentences front-load the purpose and provide a usage hint. No wasted words.

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

Completeness3/5

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

For a simple tool with one optional parameter and an existing output schema, the description covers the main purpose and optional behavior. However, it lacks details on output structure and how to differentiate standard vs user-created subcategories in results.

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

Parameters3/5

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

Schema description coverage is 0%, but the description indirectly explains the 'include_user' parameter by mentioning optional user-created subcategories. It adds meaning beyond the schema but could be more explicit by naming the parameter.

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

Purpose5/5

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

The description clearly states the tool lists subcategories, specifying both standard and optionally user-created ones. It also hints at linking to categories via 'category_id', distinguishing it from sibling 'list_categories'.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description does not mention exclusion criteria or compare with siblings like 'list_categories'.

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

despezzas_personal_configObter Configuração PessoalB

Busca preferências de visibilidade financeira, como inclusão de transferências, contas ou investimentos.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits like read-only nature, authentication needs, or side effects. For a simple config retrieval, these are implicit but not explicit.

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

Conciseness5/5

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

The description is a single, focused sentence with no 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.

Completeness3/5

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

Given no parameters and an output schema (present but not fully detailed), the description is adequate but could clarify scope (e.g., current profile or user). It minimally satisfies completeness for a simple retrieval.

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

Parameters4/5

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

No parameters exist in the input schema, so the description adds no parameter info. According to the rule, 0 parameters earns a baseline of 4.

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

Purpose4/5

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

The description clearly states the tool retrieves financial visibility preferences, distinguishing it from CRUD siblings. However, it uses 'Busca' (searches) which could imply filtering, but likely means 'gets'. Still specific and actionable.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as other read operations. No prerequisites or context provided.

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

despezzas_prepare_create_transactionPreparar Criação de TransaçãoA
Read-only

Auxiliar de pré-visualização. Monta e valida o payload de uma nova transação sem chamar o Despezzas. Use antes de despezzas_create_transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
kindNoexpense
paidNo
titleYes
frequencyNo
account_idNo
amount_modeNoper_installment
category_idNo
descriptionNo
amount_centsYesValor em centavos. Exemplo: 12345 = R$123.45.
installmentsNo
credit_card_idNo
subcategory_idNo
transaction_typeNounique
allow_uncategorizedNoDefina como true apenas quando quiser intencionalmente criar uma transação sem category_id.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
readyYes
issuesYes
methodYes
payloadYes
endpointYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and description reinforces that it does not call the API, adding context. However, it does not detail what the output contains (e.g., validated payload or errors), leaving some behavioral gaps.

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

Conciseness5/5

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

Two sentences: first defines the tool as a preview assistant, second gives usage instruction. No unnecessary words, front-loaded with purpose.

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

Completeness3/5

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

Given the tool's complexity (15 parameters, many enums, output schema present), the description is minimal. It does not explain validation behavior or output details, though output schema partially compensates.

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

Parameters2/5

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

Schema description coverage is only 13% and the description does not describe any parameters. It relies on parameter names and schema descriptions, which are incomplete. With low coverage, description should compensate but does not.

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

Purpose5/5

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

Description clearly states it's a preview assistant that builds/validates transaction payload without calling Despezzas. It differentiates from siblings by specifying it's for preparation before creation, and there are similar prepare tools for update and delete.

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

Usage Guidelines4/5

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

Explicitly says 'Use antes de despezzas_create_transaction', indicating when to use it. It implies it's for preview before actual creation, but does not provide explicit when-not-to-use scenarios or alternatives.

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

despezzas_prepare_delete_transactionPreparar Exclusão de TransaçãoA
Read-only

Auxiliar de pré-visualização. Mostra o alvo e o escopo da exclusão sem excluir nada. Use antes de despezzas_delete_transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
scopeNoTHIS

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already set readOnlyHint=true, so the description's claim of not deleting aligns. It adds preview behavior context (shows target and scope) but doesn't elaborate on output or additional behavioral traits (e.g., formatting, pagination).

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

Conciseness5/5

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

Two concise sentences, front-loaded with purpose. Every sentence adds value with no redundancy.

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

Completeness3/5

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

Adequate for a simple preview tool with annotations and output schema, but gaps remain: parameter semantics are under-explained, and the output format is not mentioned (though output schema exists). Could be improved with brief explanation of scope meanings and return structure.

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

Parameters2/5

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

Schema coverage is 0%, so description should compensate. It vaguely suggests that 'id' identifies the target and 'scope' defines the scope, but no specifics on format, meaning of enum values, or constraints. Minimal added value over the schema.

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

Purpose5/5

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

The description clearly states it's a preview helper for deletion, showing target and scope without deleting. It distinguishes itself from the actual delete tool (despezzas_delete_transaction) by specifying it's a preparatory step.

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

Usage Guidelines4/5

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

Explicitly says 'Use antes de despezzas_delete_transaction' (Use before despezzas_delete_transaction), providing clear usage context. However, it doesn't mention when not to use or contrast with other prepare tools like despezzas_prepare_create_transaction.

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

despezzas_prepare_update_transactionPreparar Edição de TransaçãoA
Read-only

Auxiliar de pré-visualização. Monta e valida o payload para editar uma transação sem chamar o Despezzas. Use antes de despezzas_update_transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
dateNo
kindNo
paidNo
scopeNoEscopo de edição para transações recorrentes/parceladas.THIS
titleNo
account_idNo
category_idNo
descriptionNo
amount_centsNo
edition_dateNoData da ocorrência a editar. Por padrão, usa date quando informado.
credit_card_idNo
subcategory_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
noteYes
readyYes
issuesYes
methodYes
payloadYes
endpointYes

TDQS

A4.3/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true, and the description confirms it does not call the API ('sem chamar o Despezzas') and is a preview tool. This adds behavioral context beyond annotations and aligns with them.

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

Conciseness4/5

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

Two sentences, no wasted words, front-loaded with purpose. However, it lacks parameter detail which would improve usability; still concise enough.

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

Completeness3/5

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

Despite an output schema, the description provides minimal context for a tool with 13 parameters. It explains the tool's role but not how to use the prepared payload or handle validation. Adequate but not comprehensive.

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

Parameters2/5

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

Schema coverage is only 15% (only two parameters have descriptions), and the tool description adds no explanation of parameter meanings or usage. Given the large number of parameters (13) with low schema coverage, the description should compensate but does not.

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

Purpose5/5

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

The description clearly states it is a preview helper ('Auxiliar de pré-visualização') that builds and validates the payload for editing a transaction without calling the Despezzas API. It distinguishes from sibling tools like despezzas_update_transaction and other prepare tools.

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

Usage Guidelines5/5

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

Explicitly tells the agent to use this before despezzas_update_transaction ('Use antes de despezzas_update_transaction'), providing clear sequencing. No when-not stated but sibling context makes alternatives obvious.

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

despezzas_profileObter Perfil do DespezzasA

Busca o perfil autenticado do Despezzas. Campos sensíveis são mascarados.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so the description bears full burden. It mentions that sensitive fields are masked, which is a useful behavioral trait, but does not discuss authentication, rate limits, or other constraints. Adequate but not rich.

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

Conciseness5/5

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

Two short sentences, front-loaded with the action. Every word adds value; no redundancy.

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

Completeness4/5

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

Given the presence of an output schema and zero parameters, the description covers the essential purpose and masking behavior. It could mention authentication context or explicit tie to the current user, but it is fairly complete for a simple read tool.

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

Parameters4/5

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

No parameters exist in the input schema, so the description does not need to add parameter info. Baseline of 4 is appropriate as there is nothing to compensate for.

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

Purpose5/5

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

The description clearly states the tool fetches the authenticated Despezzas profile, using specific verb and resource. It distinguishes from sibling tools like create_profile, delete_profile, and list_profiles by focusing on the authenticated user's profile.

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

Usage Guidelines4/5

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

The description implies usage for getting the current user's profile, but does not explicitly differentiate from sibling tools like list_profiles. The context of zero parameters makes the purpose clear, but explicit when/alternatives are missing.

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

despezzas_raw_apiChamada Bruta à API DespezzasA
Destructive

Saída de emergência para endpoints descobertos depois. Chamadas GET seguras são permitidas. POST/PUT/PATCH/DELETE exigem allow_destructive: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
pathYes
queryNo
methodNoGET
allow_destructiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already set destructiveHint=true. The description adds that GET is safe and that destructive methods require the allow_destructive flag, providing a clear safety protocol 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.

Conciseness5/5

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

Two sentences, no wasted words. First sentence defines purpose, second sets safety rules. Front-loaded and efficient.

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

Completeness3/5

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

The tool is a raw API with complex parameters; description is minimal. While it covers safety and purpose, it lacks guidance on output, errors, or parameter usage. Adequate for an emergency exit, but could be more complete.

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

Parameters2/5

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

With 0% schema description coverage, the description fails to add meaning for most parameters (path, body, query, allow_destructive). It only mentions method and allow_destructive in general terms, leaving path, body, and query unexplained.

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

Purpose4/5

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

The description clearly states it is an 'emergency exit for endpoints discovered later', indicating a raw API fallback. It mentions allowed methods, but the resource is vague ('endpoints'), so it's not fully specific.

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

Usage Guidelines4/5

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

The description provides explicit context: use when no specific tool exists (emergency), and distinguishes safe GET from destructive methods requiring a flag. It does not list alternative tools but implies they are preferred.

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

despezzas_search_transactionsBuscar TransaçõesB

Lista transações do Despezzas com filtros. Por padrão usa o mês atual e a visão de fluxo de caixa de contas bancárias. Valores retornam em centavos.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNodesc
searchNo
is_paidNo
date_endNo
order_byNodate
date_startNo
is_expenseNo
account_idsNoIDs de conta em despezzas_list_accounts.
include_rawNoRetorna objetos completos de transação do Despezzas em vez de linhas compactas.
account_typeNo
category_idsNoIDs de categoria em despezzas_list_categories.
credit_card_idsNoIDs de cartão de crédito em despezzas_list_credit_cards.
subcategory_idsNoIDs de subcategoria em despezzas_list_subcategories.
min_amount_centsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
filtersYes
warningNo
has_moreYes
returnedYes
diagnosticsYes
transactionsYes
profile_contextYes

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It reveals default scope and value units but omits pagination, the compact vs. full format behavior (controlled by include_raw), and any side effects or permissions. The description is insufficient for safe autonomous use.

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

Conciseness5/5

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

Two sentences with no fluff. Essential information is front-loaded. Every sentence adds value.

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

Completeness2/5

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

Given 15 parameters, no annotations, and a detailed output schema, the description is far too sparse. It leaves the agent without guidance on how to leverage filters, handle defaults, or interpret results effectively. Completeness is low.

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

Parameters2/5

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

Schema description coverage is only 33%. The description does not explain any parameters or clarify their meaning. It adds no value beyond what the schema already provides or lacks, failing to compensate for the low coverage.

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

Purpose4/5

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

The description clearly states it lists transactions with filters. It adds default behavior (current month, cash flow view) and value format (cents). However, it does not explicitly distinguish from sibling tools like despezzas_transaction_overview or despezzas_export_transactions.

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

Usage Guidelines3/5

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

The description provides implicit guidance by noting defaults, but does not specify when to use this tool vs alternatives, nor when not to use it. No exclusions or contextual hints for different scenarios.

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

despezzas_statusStatus do Despezzas MCPA

Verifica se o servidor MCP está configurado com um token do Despezzas.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

The description states the behavior: it verifies token configuration. With no annotations, the description carries full burden. It does not disclose that it is read-only or any error conditions, but for a simple status check this is minimally adequate.

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

Conciseness5/5

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

The description is a single sentence that directly conveys the tool's action. No redundancy or unnecessary words.

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

Completeness4/5

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

Given the tool has no parameters and an output schema exists (though not shown), the description is sufficiently complete for a simple status check. It could optionally mention the return type, but that is covered by the output schema.

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

Parameters4/5

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

The tool has zero parameters, so the description adds no parameter info beyond the schema. Since schema coverage is 100%, the baseline is 4.

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

Purpose5/5

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

The description uses the specific verb 'Verifica' (checks) and clearly identifies the resource: whether the MCP server is configured with a Despezzas token. This clearly distinguishes it from sibling tools that are about creating, updating, or listing financial entities.

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

Usage Guidelines4/5

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

The purpose is self-evident as a health check, and the context of sibling tools makes it clear when to use it (before dependent operations). However, no explicit guidance on when not to use it or alternatives is provided, which would merit a 5.

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

despezzas_switch_profileTrocar Perfil AtivoA
Destructive

Operação de escrita. Troca o perfil Despezzas ativo para chamadas futuras de contas, cartões e transações. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
profile_idYesID do perfil em despezzas_list_profiles. Use null para o perfil pessoal/raiz.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

The description explicitly calls it a write operation and requires confirm: true, adding behavioral context beyond the destructiveHint annotation. 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.

Conciseness5/5

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

Two sentences that are front-loaded with the main purpose and an important requirement. No unnecessary words.

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

Completeness4/5

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

Given the output schema exists and the parameter schema explains profile_id, the description covers the main effect. Some might expect preconditions (e.g., must have profiles), but the context is sufficient.

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

Parameters2/5

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

Schema description coverage is 50%, but the description does not add meaningful parameter details beyond what the schema already provides (e.g., profile_id description). The confirm parameter lacks explanation of its role beyond 'exige confirm: true'.

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

Purpose5/5

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

The description clearly states it switches the active Despezzas profile for future calls, using a specific verb and resource. This distinguishes it from sibling tools like despezzas_create_profile or despezzas_delete_profile.

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

Usage Guidelines4/5

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

The description indicates it requires confirm: true, providing a usage condition. However, it does not explicitly specify when not to use this tool or mention alternatives, though siblings are clear.

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

despezzas_toggle_transaction_paidAlternar Pagamento da TransaçãoB
Destructive

Operação de escrita. Alterna ou marca uma transação como paga em uma data. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
dateNo2026-07-04
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint: true. The description adds that it is a write operation ('Operação de escrita') and requires confirm: true, which provides some behavioral context. However, it does not detail the destructive nature (e.g., what changes are irreversible) or any other 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.

Conciseness4/5

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

Two concise sentences with key information front-loaded. No redundant wording. Could include more detail without losing conciseness, but it is appropriately sized for a simple operation.

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

Completeness3/5

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

Given the tool has 3 parameters (1 required) and an output schema, the description is partially complete. It covers the operation type and confirmation requirement but lacks usage guidelines and parameter details. The output schema exists but is not referenced, leaving return values unexplained.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It adds meaning for 'confirm' by stating it must be true to execute ('Exige confirm: true'). However, 'id' and 'date' have no additional explanation beyond the schema, leaving ambiguity about their purpose and format.

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

Purpose4/5

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

The description clearly states the action: toggles or marks a transaction as paid on a date. The verb 'alterna' and resource 'transação' are specific, but it does not differentiate from the similar sibling 'despezzas_update_transaction' which might also modify paid status.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like despezzas_update_transaction. It only mentions the requirement for confirm: true, but not the context. Fails to provide when-not-to-use or alternative tool references.

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

despezzas_transaction_overviewVisão Geral de TransaçõesC

Obtém totais da visão geral do Despezzas e saldos de conta para uma data. Valores em centavos.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo2026-07-04

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits. It does not state that the operation is read-only, whether authentication is required, or any potential side effects. The only extra detail is that values are in cents, which is useful but insufficient.

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

Conciseness3/5

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

The description is very short (two sentences), which is concise, but lacks necessary details. It is well-structured with the verb first, but could benefit from expanding on the output without becoming verbose.

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

Completeness2/5

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

Given the presence of an output schema, the description could be minimal, but it fails to explain what the output contains beyond vague 'totals and balances.' With many sibling tools, it should clarify how this tool fits into the broader workflow, which it does not.

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

Parameters2/5

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

Schema coverage is 0%, so the description should clarify parameter meaning. It only mentions 'para uma data' (for a date) but does not explain the format, allowed range, or how the date affects results. The default value in the schema is not highlighted.

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

Purpose4/5

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

The description clearly states it retrieves totals and account balances for a date, specifying the resource (Despezzas overview) and returning values in cents. It is specific enough to distinguish from siblings, though it could be more precise about what 'totals' include.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical use cases, or scenarios where other tools might be more appropriate.

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

despezzas_update_accountEditar ContaB
Destructive

Operação de escrita. Edita uma conta manual do Despezzas. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID da conta em despezzas_list_accounts.
logoNo
nameNo
confirmNo
balance_centsNo
include_total_balanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already provide destructiveHint: true, signaling mutation. Description adds that it is a write operation and requires confirm, providing extra context. However, it does not disclose any additional behavioral traits like permission needs or reversibility.

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

Conciseness4/5

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

Description is very short (15 words) and front-loaded with 'Operação de escrita'. No wasted words, but could be slightly expanded to improve parameter guidance without losing conciseness.

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

Completeness2/5

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

Given 6 parameters, low schema coverage, and an output schema (but not shown), the description fails to explain what fields can be updated, what the tool returns, or side effects beyond the confirm flag. The description is too minimal to be contextually complete.

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

Parameters2/5

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

Schema coverage is only 17% (only 'id' described). Description only explains the 'confirm' parameter (required true). Other parameters like logo, name, balance_cents, include_total_balance are left without meaning or format hints, insufficient for the low coverage.

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

Purpose5/5

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

Description clearly states 'Edita uma conta manual do Despezzas' (edits a manual account), with verb 'edita' and specific resource 'conta manual', distinguishing it from create/list/delete siblings. The nature of a write operation is also stated.

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

Usage Guidelines3/5

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

Description requires 'confirm: true', giving a usage condition, but does not explicitly state when to use this tool versus alternatives like creating a new account or updating other entities (e.g., credit cards). Context is implied but no when-not guidance.

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

despezzas_update_credit_cardEditar Cartão de CréditoA
Destructive

Operação de escrita. Edita um cartão de crédito manual do Despezzas. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID do cartão de crédito em despezzas_list_credit_cards.
logoNo
nameNo
confirmNo
account_idNo
limit_centsNo
closing_dateNo
is_unlimitedNo
expiring_dateNo
available_limit_centsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate destructiveHint=true. The description adds 'Operação de escrita' and 'Exige confirm: true', which clarifies the operation type and a required behavioral condition. However, it does not elaborate on the extent of changes or side effects, such as whether fields are overwritten partially or fully.

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

Conciseness5/5

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

The description is only two sentences, front-loading the operation type and core requirement. Every sentence adds essential information with no superfluous words.

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

Completeness2/5

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

Given the tool has 10 parameters, low schema coverage, and a destructive hint, the description is incomplete. It fails to describe the update semantics (partial vs. full), return value (output schema exists but not mentioned), or prerequisites beyond the confirm flag. The agent lacks sufficient context to invoke the tool correctly.

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

Parameters2/5

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

Schema description coverage is only 10%, with only the 'id' parameter described. The description itself only adds context about the 'confirm' parameter (must be true). For the remaining 9 parameters, no additional meaning is provided, leaving significant gaps in understanding.

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

Purpose5/5

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

The description clearly states 'Edita um cartão de crédito manual do Despezzas', specifying the verb (editar) and resource (cartão de crédito manual). It distinguishes the tool from sibling update tools that target different resources (e.g., accounts, transactions).

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

Usage Guidelines3/5

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

The description says 'Exige confirm: true', giving a specific requirement for using the tool. However, it does not provide when-to-use guidance compared to alternatives, such as when to use update vs. create or delete. The usage context is implied but not explicitly differentiated.

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

despezzas_update_profile_accessEditar Perfil CompartilhadoB
Destructive

Operação de escrita. Edita um perfil compartilhado. Se invites for informado, ele substitui a lista de convites/membros. Exige confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID do perfil compartilhado em despezzas_list_profiles.
nameNo
typeNo
confirmNo
invitesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior4/5

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

Beyond the annotation destructiveHint=true, the description explicitly states it is a write operation, explains that invites replaces the existing list, and emphasizes the need for confirm=true. This adds useful 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.

Conciseness4/5

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

The description is concise with three short sentences, front-loading the key action. It could be slightly more structured, but it efficiently communicates essential points.

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

Completeness2/5

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

Given the tool has 5 parameters and an output schema (not shown), the description is incomplete. It only addresses invites and confirm, omitting that name and type are also modifiable. This is insufficient for a full understanding of the tool's capabilities.

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

Parameters2/5

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

Schema description coverage is only 20% (only id described). The description compensates partially by explaining the invites replacement behavior and the confirm requirement, but it fails to clarify the meaning or usage of name and type parameters.

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

Purpose4/5

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

The description clearly states it is a write operation that edits a shared profile, which is distinct from sibling tools like create_profile or delete_profile. However, it could be more specific about which fields are updatable beyond invites.

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

Usage Guidelines3/5

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

The description provides some usage guidance, such as the effect of the invites parameter and the requirement of confirm=true. However, it does not specify when to use this tool versus alternatives, nor does it mention prerequisites or exclusion criteria.

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

despezzas_update_transactionEditar TransaçãoA
Destructive

Operação de escrita. Edita uma transação real no Despezzas. Exige confirm: true. Use despezzas_prepare_update_transaction primeiro.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
dateNo
kindNo
paidNo
scopeNoEscopo de edição para transações recorrentes/parceladas.THIS
titleNo
confirmNo
account_idNo
category_idNo
descriptionNo
amount_centsNo
edition_dateNoData da ocorrência a editar. Por padrão, usa date quando informado.
credit_card_idNo
subcategory_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
payloadYes
updatedYes
transactionYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint: true, and the description adds the confirm parameter requirement. This provides useful behavioral context 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.

Conciseness5/5

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

Two sentences, front-loaded with key information, no unnecessary words. Perfectly concise.

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

Completeness2/5

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

With 14 parameters (only 1 required) and low schema coverage, the description lacks detail on how to use the tool effectively. It doesn't explain most parameters or their effects.

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

Parameters2/5

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

Schema description coverage is only 14% (scope and edition_date have descriptions). The tool description does not explain any parameters beyond confirming the requirement. It adds minimal value over the schema.

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

Purpose5/5

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

The description clearly states it edits a real transaction in Despezzas and specifies it's a write operation. It differentiates from siblings by referencing the required prepare step.

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

Usage Guidelines5/5

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

Explicitly states the requirement for confirm: true and instructs to use despezzas_prepare_update_transaction first, providing clear when-to-use and prerequisite guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 35 tool updatesv0.1.0
    • First observeddespezzas_batch_update_transactions
    • First observeddespezzas_create_account
    • First observeddespezzas_create_credit_card
    • First observeddespezzas_create_profile
    • First observeddespezzas_create_transaction
    • First observeddespezzas_create_transfer
    • First observeddespezzas_delete_account
    • First observeddespezzas_delete_credit_card
    • First observeddespezzas_delete_profile
    • First observeddespezzas_delete_transaction
    • First observeddespezzas_duplicate_transaction
    • First observeddespezzas_export_transactions
    • First observeddespezzas_finance_summary
    • First observeddespezzas_leave_profile
    • First observeddespezzas_list_accounts
    • First observeddespezzas_list_banks
    • First observeddespezzas_list_categories
    • First observeddespezzas_list_credit_cards
    • First observeddespezzas_list_profiles
    • First observeddespezzas_list_subcategories
    • First observeddespezzas_personal_config
    • First observeddespezzas_prepare_create_transaction
    • First observeddespezzas_prepare_delete_transaction
    • First observeddespezzas_prepare_update_transaction
    • First observeddespezzas_profile
    • First observeddespezzas_raw_api
    • First observeddespezzas_search_transactions
    • First observeddespezzas_status
    • First observeddespezzas_switch_profile
    • First observeddespezzas_toggle_transaction_paid
    • First observeddespezzas_transaction_overview
    • First observeddespezzas_update_account
    • First observeddespezzas_update_credit_card
    • First observeddespezzas_update_profile_access
    • First observeddespezzas_update_transaction

TDQS

A3.7/5.0

Scored across 35 tools

Disambiguation5/5

Every tool has a distinct and clear purpose. Operations like create, delete, list, and update are uniquely scoped to accounts, credit cards, transactions, and profiles. Auxiliary 'prepare' tools are clearly separated from actual write operations, preventing confusion.

Naming Consistency5/5

All tools follow a strict 'despezzas_verb_noun' pattern with consistent verb choices (create, delete, list, update, prepare, etc.). There are no mixed conventions or irregular names, making it easy to predict tool names.

Tool Count4/5

With 35 tools, the set is slightly large but still well-scoped for a comprehensive personal finance management system. Each tool covers a distinct operation, and the count is justified by the breadth of features (accounts, credit cards, transactions, profiles, etc.). Minimal redundancy.

Completeness4/5

The tool surface covers most CRUD operations for accounts, credit cards, transactions, and profiles, plus auxiliary features like search, export, and finance summary. Minor gaps exist (e.g., no explicit category creation/deletion), but core workflows are fully supported.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • An MCP server that provides read access to your cloud storage providers, bank accounts and more.

  • Query your real net worth, spending, transactions, budgets and portfolio from any MCP client.

  • Personal finance for AI agents — onboard, import statements, categorize & budget over MCP.

  • The Ramp MCP server enables users to securely connect Ramp with AI assistants like ChatGPT and Claude to query financial data and take actions using natural language. It transforms Ramp's developer API into a SQL interface that LLMs can query, allowing admins to analyze spend trends, identify cost savings, and run complex SQL analyses on comprehensive datasets (transactions, purchase orders, vendors, users), while all users can manage cards, view transactions, request reimbursements, and get expense policy answers.

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    An MCP server that lets AI assistants interact with your Lunchmoney data, enabling natural language queries about transactions, budgets, and spending patterns.
    4
    17
    27
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI assistants to interact directly with Lunch Money's financial API, allowing users to query transactions, access budget information, and perform financial analysis through natural language.
    -
  • A
    license
    B
    quality
    A
    maintenance
    An MCP server implementation that provides programmatic access to personal finance data through LunchMoney's API, enabling AI assistants to manage transactions, budgets, categories, and assets.
    59
    2,361
    101
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A comprehensive MCP server that enables AI assistants to manage Lunch Money finances through 37 tools for transactions, budgets, and accounts. It supports both local stdio and remote HTTP transport modes with secure, encrypted credential storage.
    17
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/guipmilek/despezzas-mcp-clean-snapshot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server