Skip to main content
Glama

Simpler.Asia

invoice_payer_confirmation

Acts on a payer's report, sent from the invoice's client page, that they have paid. action 'accept' records the payment with the same writer as invoice_payment_record, graded counterparty_confirmed: the amount is amount_cents (or amount) when given, else the balance still owed; occurred_at defaults to when the payer reported. An agent's accept waits for the owner's approval. action 'dismiss' closes a report whose money did not arrive. Find reports in invoice_read's payer_confirmations. Refuses a report already accepted or dismissed with CONFLICT (invoice_read shows it), and an invoice with nothing owed unless amount_cents comes with allow_overpayment. Nothing is sent to the payer.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoThe confirmation id from invoice_read's payer_confirmations.
noteNoaccept only: your own note on the payment (max 500).
forceNoaccept only: confirms a genuine second payment of the same amount on the same day.
actionYesaccept: record the payment the payer reported. dismiss: the money did not arrive.
amountNoaccept only: the amount as a decimal STRING ("250.00") instead of amount_cents.
methodNoaccept only: how the money arrived.
invoice_idNoInstead of id: the invoice, when exactly one report on it is pending.
occurred_atNoaccept only: epoch milliseconds the money arrived. Omit it to use the time the payer reported.
amount_centsNoaccept only: the amount received in integer CENTS. Omit it to record the balance still owed.
allow_overpaymentNoaccept only: record more than the balance still owed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Adds substantial behavior beyond annotations: agent accepts wait for owner approval, amount defaults to balance owed, occurred_at defaults to report time, conflicts are refused, and nothing is sent to the payer. These details are consistent with the non-read-only, non-destructive, non-idempotent annotations.

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?

Front-loaded with the core purpose and action semantics, and every sentence carries operational detail. Some sentences are dense and compound, but the length is justified for a 10-parameter mutation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers approval workflow, defaulting rules, conflict handling, and side effects well for a tool with no output schema. It could say more about the success response, but the behavioral context is otherwise strong.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful semantics: amount_cents/amount defaults, occurred_at default, and the allow_overpayment condition for overpayment, though it does not explicitly discuss note, method, or force.

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 a specific verb and resource: acts on a payer's report, with accept recording payment and dismiss closing it. Distinguishes itself from invoice_payment_record by noting the same writer and counterparty_confirmed grading, and points to invoice_read's payer_confirmations for discovery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use each action: accept when the payer reported payment, dismiss when the money did not arrive. Also gives exclusions: refuses already accepted/dismissed reports with CONFLICT and refuses invoices with nothing owed unless allow_overpayment is set.

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