UCP Sandbox Docs
StoresSign inStart an experiment

Quickstart: shop a sandbox store with your agent

Point any UCP agent at Northlight Flowers, search, build a checkout and pay with a test card. No account needed. About ten minutes.

Test stores only. Every payment uses a test instrument, no money moves and nothing ships. Never send a real card or real personal data.

1. Read the store's profile

Every store publishes its UCP profile at /.well-known/ucp: the spec version it speaks, its transports and the capabilities it declares.

curl https://flowers.ucpsandbox.com/.well-known/ucp

Northlight Flowers declares catalog search, catalog lookup, cart, checkout, order, discount, fulfillment, buyer consent, location search, location lookup, on spec release 2026-08-25, over REST and MCP.

2. Say who your agent is

Every UCP operation needs your platform's profile URL. Over REST it goes in the UCP-Agent header; over MCP, in meta.ucp-agent.profile. Without it the store answers 400 invalid_profile_url. Send an idempotency key on writes so a retry never makes a second checkout: the Idempotency-Key header over REST, meta.idempotency-key over MCP.

UCP-Agent: profile="https://agent.example.com/.well-known/ucp"
Idempotency-Key: 3f6c1c52-7d0e-4b43-9a55-2b1f0c9e8d11

3. Search and build a checkout

Pick the way your agent talks to stores. All three reach the same catalogue, cart and checkout, so a browser and an agent never disagree.

POST https://flowers.ucpsandbox.com/mcp

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call",
  "params": { "name": "search_catalog", "arguments": {
    "meta": { "ucp-agent": { "profile": "https://agent.example.com/.well-known/ucp" } },
    "catalog": { "query": "birthday bouquet" }
  } } }

// then create_checkout with
//   "meta": { "ucp-agent": { ... }, "idempotency-key": "3f6c1c52-7d0e-4b43-9a55-2b1f0c9e8d11" },
//   "checkout": { "line_items": [ { "item": { "id": "bouquet_ranunculus" }, "quantity": 1 } ] }

Start with initialize and tools/list. The server is stateless: no session to keep between calls.

4. Pay with a test instrument

Complete the checkout with one of the store's saved test instruments. Use the declining one to see how your agent handles a refusal.

Instrument idCardResult
instr_1Visa •••• 1234Approves
instr_2Mastercard •••• 5678Approves
instr_failVisa •••• 0000Always declines

Discount codes: 10OFF (10%), WELCOME20 (20%), FIXED500 ($5.00 off) . Delivery: std-ship, exp-ship-us, exp-ship-intl .

MCP tools on Northlight Flowers

A store lists only the tools for the capabilities it declares. Each tool takes meta with your profile, and returns the UCP object for that capability.

ToolCapabilityChanges state
create_checkoutdev.ucp.shopping.checkoutYes
get_checkoutdev.ucp.shopping.checkoutNo
update_checkoutdev.ucp.shopping.checkoutYes
complete_checkoutdev.ucp.shopping.checkoutYes, pays
cancel_checkoutdev.ucp.shopping.checkoutYes
create_cartdev.ucp.shopping.cartYes
get_cartdev.ucp.shopping.cartNo
update_cartdev.ucp.shopping.cartYes
cancel_cartdev.ucp.shopping.cartYes
search_catalogdev.ucp.shopping.catalog.searchNo
lookup_catalogdev.ucp.shopping.catalog.lookupNo
get_productdev.ucp.shopping.catalog.lookupNo
get_orderdev.ucp.shopping.orderNo
search_locationsNo
lookup_locationsNo

Store versions

A reference store gets a new version number whenever its catalogue or settings change. Copies and experiment stores follow their reference store, so quote the version when you publish a result. The console shows the version an experiment started on and warns if it changed part-way.

StoreVersionSinceWhat changed
Northlight Flowersv1 current2 Oct 2026Five shops, location search and lookup, pickup at checkout
Harbour Row Staysv1 current2 Oct 2026First recorded version
Kettle Street Noodlesv1 current2 Oct 2026First recorded version

Next

Run an experiment →Copy the store, change one thing, send agents to shop both versions.
Let an agent run the storeThe store agent proposes and tests changes; you approve. Coming soon.
Updated 2 Oct 2026 · spec release 2026-08-25Suggest an edit