Skip to main content
Glama
OpenMonetis MCP

OpenMonetis MCP

by Welington98

Registrar pagamento de fatura

add_invoice_payment

Record a credit card invoice payment, split the amount across people, and optionally set the source account. Requires confirm: true; without it, returns the proposed payload.

Instructions

Registra o pagamento de uma fatura de cartão, com rateio por pessoa e conta de origem opcional. Exige confirm: true para executar; sem isso devolve o payload proposto.

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": {
      "cardId": "<cardId>",
      "period": "<period>",
      "paidAt": "<paidAt>",
      "allocations": "<allocations>"
    },
    "name": "add_invoice_payment"
  }
}

Input Schema

NameRequiredDescriptionDefault
cardIdYes
paidAtYes
periodYesPeríodo da fatura (YYYY-MM).
confirmNo
accountIdNo
allocationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.3

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already establish this as a non-read-only, non-destructive, non-idempotent, closed-world mutation. The description adds genuinely new behavior that annotations cannot express: without confirm:true the call returns the proposed payload instead of executing. It leaves unstated whether a successful payment closes the invoice, creates linked transactions, or how duplicate submissions behave (idempotentHint is false).

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, both earning their place: the first establishes purpose and shape, the second front-loads the critical confirm gate. No filler or restatement of the name and title.

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 six-parameter financial mutation with low schema coverage and no output schema, the definition covers the confirm protocol and the allocation/account shape but omits the effects of success, the paidAt semantics, and validation constraints on the allocation amounts. An agent can invoke it, but not fully predict the outcome.

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 17%, so the description must compensate, and it does name the allocations split, the optional accountId, and the confirm flag. However, cardId, paidAt, and the meaning of the per-person amount (for example whether allocations must total the invoice amount) are left undocumented, leaving half the parameters 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 states a specific verb and resource: it registers the payment of a card invoice, and it names two defining traits (per-person allocation and an optional source account). It is clearly distinct from read-oriented siblings like get_invoice_history, though it never explicitly contrasts itself with any alternative.

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?

It gives concrete operational context: the tool is for recording a card-invoice payment split across people, and it states the confirm:true gate so the agent knows the dry-run versus execute flow. There is no explicit when-not guidance or named alternative, which keeps it out of the top band.

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