tools/list; see MCP connection and OAuth for calling tools. Even tools with no additional scope require the normal authenticated MCP connection.
Search and product details
Discover products
Exampletools/call parameters:
Registered-merchant scope cannot be combined with external-store or provider scope. Results can include
groups, provider_results, and exact product target objects. Keep the original target when calling get_product; a store ID is not a registered merchant ID.
Pure search does not create a spending authorization or start payment. Resolve product variants and required options before checkout. Use returned or parsed prices in their documented units; do not multiply a minor-unit amount by 100 again.
UCP Checkout
When the user chooses UCP Checkout for a purchase, first apply the connected server’s purchase-authorization rules. If the stated budget requires preauthorization, activate a matching instruction before discovery. Without a budget, checkout can provide the actual total before authorization.- Obtain exact products from Catalog, or parse a product URL.
- Confirm SKU, options, quantity, and fulfillment requirements.
- Call
create_checkout, then follow itsnext_actionto supply information, authorize spending, or confirm the summary. - Use
update_checkoutfor supported changes to that checkout. Review and confirm the updated summary. - Call
complete_checkoutonce for the current confirmation. Readget_operationif the outcome is still pending or the response is lost. - Read the resulting UCP order and, for digital goods, wait for delivery if needed.
Main checkout parameters
For the
items form of create_checkout:
- Registered merchant: use the returned merchant ID and item IDs, quantities, and selected options. Catalog supplies prices; omit external
currency, itemtitle, andunitPriceMinorfields. - External product: use the product URL as
merchantUrl, providecurrency, and include each item’s exacttitleandunitPriceMinor. Preserve a returnedorder_channel_id. Obtain missing facts withget_productorparse_product_itembefore creating checkout. - Fulfillment: use
PHYSICAL_GOODS_REQUIRES_SHIPPINGwith complete shipping details, orNO_SHIPPING_REQUIREDwhen appropriate. Resolve an unknown fulfillment type with the user first.
create_checkout prepares a checkout; it does not complete payment. update_checkout invalidates the old confirmation. complete_checkout uses the current confirmation identifiers; it is not a place to submit a replacement amount or payment card. The legacy checkout paymentInstrumentId argument is ignored; checkout uses the wallet default.
Spending-authorization tools and their amount units are documented in Wallet Service tools. Operation identifiers, revisions, and recovery are documented in Operations.
Orders and delivery
Some server versions expose this UCP order reader as
get_ucp_order. Use the exact name returned by the connected server’s tools/list.
Payment completion and delivery completion are separate states. Reading an order or waiting for delivery never retries payment.
UCP order IDs and Clink direct-payment order IDs identify different records. Do not use them interchangeably or assume a UCP order ID can be submitted to Clink’s refund tools. These UCP tools do not provide a general order-cancellation or refund operation.
Keep the payment flows separate
UCP Checkout completes throughcomplete_checkout and its operation. Browser Pay obtains a credential, pays on the merchant website, and reports the observed outcome through confirm_result. Do not call Browser Pay’s confirm_result after UCP Checkout.