Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions docs/specification/shopping/checkout/mcp.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,19 @@ The `meta["ucp-agent"]` field is **required** on all requests to enable
`meta["idempotency-key"]` for retry safety. Platforms **MAY** include
additional metadata fields.

### Idempotency

`complete_checkout` and `cancel_checkout` are state-changing operations and
**MUST** carry `meta["idempotency-key"]` (see [Request Metadata](#request-metadata)).
Servers **MUST** apply the same idempotency contract as the REST binding
([Specific Header Requirements](rest.md#specific-header-requirements)):
store the key with the operation result, return the cached result for a duplicate
key whose request matches the original, and treat a key reused with a mismatched
request as a conflict. Over MCP that conflict surfaces as the JSON-RPC error the
[error registry](../../overview/index.md#error-handling) maps from HTTP `409` (`-32000`). See
[Message Signatures — Replay Protection](../../signatures.md#replay-protection) for the
full payload-matching contract.

## Tools

UCP Capabilities map 1:1 to MCP Tools.
Expand Down
Loading