Skip to main content
Glama

Request a Refund (Admin Approves)

request_order_refund
Idempotent

Files a request that an org admin approves in the dashboard to refund or cancel an order. Moves no money and changes no order itself; returns the approval link (24 hours). Use when: "refund order 1234 5678", "cancel seat C5, the customer is ill". cancel means no money moves through SeatLayer (refunded elsewhere, lost dispute): give reason. Needs the Orders permission. Example: {"eventKey": "ev_1350a828b5ff", "orderRef": "#1234 5678", "action": "refund", "amountMinor": 2000}

Input Schema

NameRequiredDescriptionDefault
noteNoWhy, in the person's words; shown to the admin
seatsNoOnly these seats of the order (labels from get_order tickets)
actionYesrefund: money back through the payment provider; cancel: void tickets, money handled outside SeatLayer
reasonNocancel: lost_dispute, refunded_elsewhere or other (with note)
eventKeyYesKey from find_events
orderRefYesOrder reference, e.g. "#1234 5678", from list_orders or find_order
amountMinorNorefund only: amount in minor units; leave out for the whole remaining balance
notifyBuyerNocancel: email the buyer that it was cancelled

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: annotations only say non-read-only, idempotent, non-destructive, while the description explains that no money moves and no order changes, that an admin approves in the dashboard, and that the returned approval link is valid for 24 hours. It also discloses the auth requirement (Orders permission).

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-loads the critical constraint (files a request, moves no money) in the first sentence, then layers usage, caveats and an example. Slightly dense with mixed inline quoting, but every clause carries information an agent needs.

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

Completeness5/5

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

For an 8-parameter mutation-request tool with no output schema, the description covers the return value (approval link, 24 hours), the approval workflow, the permission requirement, and the action semantics. Nothing an agent needs to call it correctly is missing.

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 adds a worked example binding eventKey, orderRef, action and amountMinor together and reinforces when reason applies (cancel with lost_dispute/refunded_elsewhere). It does not restate every field, leaving note/seats/notifyBuyer to the schema.

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?

The first sentence states a specific verb and resource (files a refund/cancel request for an order) and explicitly scopes it as an approval-gated request rather than a direct mutation. No sibling tool performs refunds, and the title/description make the two-step nature unmistakable.

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?

Provides concrete 'Use when' utterances ("refund order 1234 5678", "cancel seat C5, the customer is ill") that map directly to invocation, and disambiguates the two actions by stating cancel means no money moves through SeatLayer and requires a reason. It also names the prerequisite permission (Orders).

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