Skip to main content
Glama

Mark an invoice paid

invoice_mark_paid

Record a payment on one invoice. amount is in MAJOR units and ADDS to what is paid, never replaces it; omit it to settle the rest. An overpayment is refused, naming the open balance.

Input Schema

NameRequiredDescriptionDefault
amountNoAmount received in major units, ADDED to what is already paid on this invoice. Omit to pay off the remaining balance in full
methodNoHow it was paid, e.g. bank transfer, card. Stored on this payment's row
numberYes
paid_dateNoYYYY-MM-DD, defaults to today
referenceNoBank reference or transaction id for this payment. Stored on this payment's row

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

The annotations cover the safety profile: not read-only, not destructive, not idempotent. The description adds real behavioral context on top: the additive rather than replacing semantics, which is the key non-idempotent detail, and the failure mode that an overpayment is refused with the open balance named. It says nothing about currency handling or whether a nonexistent invoice number errors.

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, front-loaded with the action, then the highest-risk parameter semantics and the error case. There is no filler, and each sentence gives information the caller needs.

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 mutation tool with no output schema and 5 parameters, the description covers the amount parameter and the overpayment behavior well. It leaves gaps on partial failure and edge cases, such as whether the invoice number must match an existing invoice and the response shape. This is adequate but not complete.

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 80% schema coverage, the baseline is 3. The description expands on `amount`: major units, additive, omit to settle in full, which largely repeats the schema's own wording. The other four parameters, including `number` and the free-form `method` and `reference`, get no added meaning from the description.

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 gives a specific verb and resource: 'Record a payment on one invoice.' That is clearly distinct from the sibling tools (invoice_create, invoice_get, invoice_list, overdue_report) even though none of them is named. It is not a restatement of the name, so the purpose is clear without opening 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?

The description implies when to call it (when a payment arrives for a specific invoice) and clarifies the omit-amount case, but it names no alternative and states no preconditions, such as the invoice needing to exist. An agent can infer the usage but must work it out rather than read it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.