Skip to main content
Glama

Otis

Record a payment

payment_record
DestructiveIdempotent

Record a reported partial or full payment for an issued invoice. Unique business-wide reference prevents double counting. Overpayments are rejected. No bank verification occurs.

Input Schema

NameRequiredDescriptionDefault
referenceYesUnique business-wide payment reference. Reuse when reporting the same payment.
invoice_idYes
request_idYesStable ID for this action; reuse only for identical retries.
business_idNoOmit for your own business; use businesses_list for shared business IDs.
received_onYes
amount_minorYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Goes meaningfully beyond the annotations: it discloses the trust model ('reported', no bank verification), the double-counting guard via a business-wide unique reference, and the overpayment rejection rule. It does not explain what the destructiveHint=true actually destroys (e.g. invoice status/outstanding balance changes), which is the one notable gap.

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?

Four short sentences, each carrying a distinct fact: scope, deduplication, overpayment rule, and absence of verification. Front-loaded with purpose and zero padding.

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 destructive, idempotent mutation with no output schema, the description covers trust and duplicate-prevention but leaves out downstream effects (does a full payment close the invoice?), permission requirements, and response shape. Adequate but with clear gaps an agent would want filled.

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 only 50% schema description coverage, the description compensates partially: it clarifies that amount_minor may be a partial or full amount and that overpayment is rejected, and reinforces reference uniqueness. It says nothing about invoice_id, received_on, or business_id semantics beyond what the schema already implies.

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?

States a specific verb and resource ('Record a ... payment for an issued invoice') with the important qualifier that the payment is 'reported' and the invoice must already be 'issued'. This distinguishes it from expense_record and billable_record by implication, but does not name those siblings or payments_list explicitly.

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?

Usage is implied rather than stated: the tool is for reporting a payment against an issued invoice, and the 'reported'/'no bank verification' framing hints it is a manual reconciliation entry rather than a gateway charge. There is no explicit when-not-to-use and no pointer to alternatives such as payments_list for reading records or expense_record for outbound money.

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.