Skip to main content
Glama
OpenMonetis MCP

OpenMonetis MCP

by Welington98

Criar transação

create_transaction

Create income, expense, transfer, installment, or recurring transactions with domain validation; preview payloads and save only when confirmed.

Instructions

Cria uma transação de receita, despesa, transferência, compra parcelada ou série recorrente. Transferências (type: 'transfer') só aceitam condition: 'single' e paymentMethod: 'bank_transfer' — a API do OpenMonetis não suporta transferência recorrente nem parcelada. A API valida todas as regras de domínio (categoria obrigatória em receita/despesa, cartão obrigatório no crédito, contas distintas em transferência, etc.). Sem confirm: true a ferramenta apenas devolve o payload que seria enviado.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "amount": "<amount>",
      "type": "<type>",
      "paymentMethod": "<paymentMethod>",
      "purchaseDate": "<purchaseDate>",
      "personId": "<personId>"
    },
    "name": "create_transaction"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYes
noteNo
typeYesTipo da transação. Transferências (type: 'transfer') só aceitam condition: 'single'.
amountYes
cardIdNo
tagIdsNo
confirmNo
dueDateNo
personIdYes
accountIdNo
conditionNo'single' (única, padrão), 'installment' (parcelada) ou 'recurring' (recorrente). Transferências só aceitam 'single'.single
isSettledNo
categoryIdNo
settledDateNo
splitSharesNoDivisão entre pessoas. A soma deve ser igual ao amount.
purchaseDateYes
invoicePeriodNoFatura do cartão (apenas crédito não recorrente).
paymentMethodYesForma de pagamento. Transferências (type: 'transfer') exigem 'bank_transfer'.
sourceAccountIdNoConta de origem, obrigatória em transferências.
installmentCountNo
startInstallmentNo
boletoPaymentDateNo
recurrenceEndDateNo
recurrenceFrequencyNo
destinationAccountIdNoConta de destino, obrigatória em transferências.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.3

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare this is a non-read-only, non-destructive, non-idempotent mutation, so the bar is lower. The description adds genuinely useful behavior beyond that: transfer operations are restricted to 'single' condition and 'bank_transfer', the server enforces domain rules, and without confirm the call is a no-op preview that returns the payload.

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?

Four dense sentences with the most decision-relevant content (variants, transfer restriction, dry-run flag) front-loaded. No filler, though the domain-rule list is abbreviated enough to be slightly vague ('etc.').

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 25-parameter mutation with no output schema, the description covers the critical mode gating and the confirm preview semantics. It stops short of explaining the installment and recurrence parameter families it names as supported variants, leaving a meaningful gap for an agent building those payloads.

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 only 28% across 25 parameters, so the description must carry weight. It usefully explains the cross-field constraints for type/condition/paymentMethod and that category is required for income/expense and card for credit, but it leaves installmentCount, startInstallment, recurrenceFrequency, recurrenceEndDate, splitShares, invoicePeriod, and settled fields entirely to 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 opens with a specific verb and resource ('Cria uma transação') and enumerates the supported variants: income, expense, transfer, installment purchase, and recurring series. This lets an agent distinguish it from siblings like update_transaction or delete_transaction without inspecting the schema.

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?

It clearly explains the dry-run vs. commit behavior ('Sem `confirm: true` a ferramenta apenas devolve o payload'), which is real when-to-use guidance. However, it never points to an alternative tool for related tasks (e.g., preview_transaction_import or update_transaction) nor states when not to use this creation path.

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