Skip to main content
Glama

Manage invoice payments

invoice_payments_manage
Destructive

record (a payment taken outside Stripe; emails a receipt, confirm first) or reverse (paymentId; undoes a recorded payment). Card refunds are done in the app.

Input Schema

NameRequiredDescriptionDefault
notesNo
actionYes
amountNoDecimal string in the invoice currency.
methodNo
sendViaNoHow the receipt is sent. Default: their own mailbox, then Resend, then Groundbase's address.
invoiceIdNo
paymentIdNo
referenceNoCheque number or transfer reference.
receivedAtNoISO date. Default now.
sendReceiptNoDefault true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / sendVia / description
      Added value: +"How the receipt is sent. Default: their own mailbox, then Resend, then Groundbase's address."
    • changedInput schema / properties / sendVia / enum
      Previous value: -[
      -  "smtp",
      -  "resend"
      -]New value: +[
      +  "smtp",
      +  "resend",
      +  "groundbase"
      +]
  2. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true; the description adds the important unwritten detail that 'record' sends an outbound receipt email (external side effect requiring confirmation) and that 'reverse' undoes a recorded payment, effectively pinpointing which action is destructive. It does not say whether reversal is reversible or what happens to the receipt already sent.

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 compact sentence with the two actions front-loaded and the exclusion trailing; nothing is wasted. The parenthetical density is high enough that it reads as shorthand, but every clause carries 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?

For a 10-parameter mutation tool with no output schema, the description should say which inputs each action requires (e.g. record needing invoiceId and amount). It covers side effects and the reverse path but leaves the record path's required inputs and any response/return behavior unstated.

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%: amount, sendVia, reference, receivedAt, and sendReceipt are described in the schema, while notes, method, invoiceId, paymentId, and action are not. The description compensates for paymentId ('paymentId; undoes a recorded payment') and the action enum, but leaves invoiceId, amount, and method unaddressed for the record path.

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?

States two specific verbs with their resources and parenthetical semantics: 'record (a payment taken outside Stripe...)' and 'reverse (paymentId; undoes a recorded payment)'. It also scopes out card refunds ('done in the app'), which distinguishes it from invoices_manage and refund-adjacent siblings.

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?

Gives the condition selecting each action and an explicit exclusion boundary ('Card refunds are done in the app'), plus a caution to 'confirm first' before the receipt email fires. It doesn't name a sibling tool as the alternative, but the app-boundary exclusion is a clear when-not signal.

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.

Resources