Skip to main content
Glama

Pay an order

pay_order
DestructiveIdempotent

Pay an eVerbary order using prepaid balance, saved card, or team invoice; first preview amount and method, then confirm to charge.

Instructions

Pay an order with the account's own means: its team's prepaid balance, its saved card (off-session; card numbers are never accepted), or - for teams with billing terms - its periodic invoice. Call with confirm=false first, show the user the amount and method, then confirm=true with the confirmation_id. If the card needs the cardholder's approval (3-D Secure) nothing is charged and a payment link is returned. Limited per order and per day for this key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
methodYesprepaid_balance: the team's prepaid balance. card_on_file: the account's primary saved card, charged off-session. on_account: teams with billing terms - the order goes on the team's periodic invoice, nothing is charged now.
confirmNofalse: show what would be charged and get a confirmation_id. true: charge it.
order_numberYesThe eVerbary order number, e.g. 43392.
confirmation_idNoRequired with confirm=true: the confirmation_id from the confirm=false call (valid 15 minutes). Retrying with it never charges twice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, and the description adds substantial context beyond them: card numbers are never accepted, nothing is charged when 3-D Secure approval is needed (a payment link is returned instead), the confirmation_id is valid 15 minutes, retries never double-charge, and there are per-order and per-day limits for the key.

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?

Front-loads the core action and funding methods, then the mandatory confirm-then-charge sequence, then edge cases (3-D Secure) and limits. Four sentences, no filler, and each sentence carries distinct operational information.

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?

No output schema exists, and the description covers the important return behavior (payment link on 3-D Secure challenge) and the confirmation_id round-trip. It does not describe the general success response shape or where the confirmation_id surfaces from the confirm=false call, but for a mutation tool with rich annotations and full schema coverage this is nearly complete.

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 coverage is 100% so the baseline is 3, but the description goes beyond field definitions by framing the parameters as a two-step workflow (confirm=false yields the confirmation_id that confirm=true consumes) and by explaining the off-session nature of card_on_file. The enum values themselves are already fully described in the schema, so this is reinforcement plus flow context rather than new per-parameter detail.

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+resource ('Pay an order') and immediately enumerates the three funding sources the account can use (prepaid balance, saved card off-session, periodic invoice), which distinguishes it from sibling tools like get_payment_link or get_quote. An agent can identify the tool's job 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 Guidelines4/5

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

Gives an explicit required sequence: call with confirm=false, show the user amount and method, then confirm=true with the confirmation_id, plus the 3-D Secure branch behavior. It never states when NOT to use it or names an alternative sibling (e.g. get_payment_link) as the right tool in some condition, so it falls short of a full 5.

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