Skip to main content
Glama

Confirm a paid order

shop.merchant.order_confirm
Idempotent

Confirms a paid merchant order, moving it to CONFIRMED status and stopping the default 48-hour confirmation SLA. Repeat calls are no-ops; other merchants' orders return 404.

Instructions

PAID -> CONFIRMED (needs orders:write); stops the confirm SLA (48 h by default). Repeating is a no-op. Another merchant's order is 404.

Input Schema

NameRequiredDescriptionDefault
order_idYes

Output Schema

NameRequiredDescriptionDefault
stateYes
order_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.2.0

TDQS

A4.2/5.0
Behavior4/5

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

Goes beyond the annotations by disclosing the SLA consequence (stops the 48 h confirm SLA), the required orders:write authorization, and the cross-tenant 404 behavior. The no-op-on-repeat claim duplicates the idempotentHint annotation and earns no credit, but the SLA, auth and tenant-isolation details are genuine added context.

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 telegraphic clauses, front-loaded with the state transition and the scope requirement, with zero filler. Every clause carries a distinct fact an agent would otherwise have to discover by trial.

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?

With an output schema present, return values need no explanation, and annotations already cover safety and idempotency; the description supplies auth scope, SLA effect and tenant isolation. It leaves open whether a confirmation can be reversed and what happens once the SLA has already lapsed.

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 description coverage is 0% for the single order_id parameter, so the description must compensate; it only partially does so via the 404 note, which implies order_id must reference an order belonging to the calling merchant. It adds no format, prefix or length guidance for the identifier itself.

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 precise state transition (PAID -> CONFIRMED) with the resource implied by the tool name, which is exactly the kind of specific verb+effect statement an agent needs. It is clearly distinguishable from siblings such as shop.order.pay, shop.order.cancel and shop.merchant.orders_list, which occupy different lifecycle stages.

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?

The precondition (order must be in PAID state) and the required scope (orders:write) are stated, so the agent knows the conditions under which the call is valid. It does not explicitly name an alternative tool or state when not to use it, but the state-machine framing makes the applicable context unambiguous.

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

Deploy Server

Other Tools