Get Commerce Purchase Status
get_commerce_purchase_statusRead an authorized buyer or seller view of one dynamic purchase, fulfillment state, signed receipt, and next recovery action.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| purchaseId | Yes |
get_commerce_purchase_statusRead an authorized buyer or seller view of one dynamic purchase, fulfillment state, signed receipt, and next recovery action.
| Name | Required | Description | Default |
|---|---|---|---|
| purchaseId | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the operation read-only and non-destructive, and the description adds useful context: the result is scoped to one dynamic purchase and is role-dependent ('buyer or seller view'). It also names the returned content categories, which is meaningful behavior beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It leads with the verb and resource, then compactly lists the returned information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with read-only annotations, the description covers scope, role, and the main return categories. Since there is no output schema, listing fulfillment state, signed receipt, and next recovery action helps, though parameter details and sibling routing are still under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate for the undocumented purchaseId parameter, but it never mentions the parameter or how to supply it. 'one dynamic purchase' weakly implies that purchaseId selects the purchase, but no explicit parameter semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation ('Read') and a specific resource ('one dynamic purchase'), and it enumerates the key outputs: fulfillment state, signed receipt, and next recovery action. It does not explicitly contrast itself with closely related siblings such as get_commerce_receipt or get_purchase_recovery_status, so sibling differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'an authorized buyer or seller view' implies the tool is for an authorized participant needing the composite status of a purchase. However, it gives no explicit when-to-use/when-not-to-use guidance and does not mention alternatives among the many purchase, receipt, and recovery sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
The set has multiple near-synonymous read and recovery surfaces, e.g. get_commerce_purchase_status vs get_purchase_recovery_status vs recover_authorized_purchase vs recover_commerce_purchase, and discover_assurance_services vs discover_commerce_index vs get_discovery_manifest vs search_verified_offers. Long descriptions are required to tell them apart, so misselection is likely.
All names follow a readable snake_case verb_noun pattern, with get_, request_, create_, verify_, and recover_ prefixes used consistently. The main deviation is read operations split across get_/discover_/inspect_/search_/list_, which is still understandable but not perfectly uniform.
At 50 tools this is in the extreme-mismatch band for an MCP server. Even with a broad payment/commerce/discovery domain, dozens of get/status/recovery tools could be consolidated or parameterized.
The toolset covers the major lifecycles: registration, wallet, funding, payment, commerce offer/purchase/fulfillment/refund, mandates, and verification. Minor gaps such as no service unregister/update, no payment-request cancellation, and no wallet deletion are workable but not fatal.