@tobi and I sat down to talk UCP and the art of protocol design. A couple of themes worth expanding on...
The hard part of good protocol design isn't the spec. It's the deep understanding of the problem you're solving and the humility to approach it at the right level. Commerce is infinitely complex and always evolving; it's hubris to pretend anyone can 'spec commerce'.
But wait — isn't UCP trying to do exactly that?
No, UCP doesn't 'spec commerce'. It models the rules of the bazaar that make commerce possible. The job of UCP is to build the boring parts: the small core of common and composable primitives, and the discovery and negotiation mechanisms that everything else runs on. Done right, this lets commerce thrive in the open, with merchants, agents, and buyers deciding what is advertised, supported, and adopted, not by fiat from a protocol committee. This is UCP. 👇🏻🧵
I want to highlight 4 features Shopify launched on UCP (universal commerce protocol) that enables richer experiences in agentic commerce:
1. UCP’s location capability is now supported on the Storefront MCP enabling buyers to understand nearby physical locations and if products are available. Here’s a demo combining Shopify catalog data with Apple MapKit APIs.
@openfort_hq Spend caps are available on Shop Pay. Authorize the agent and then assign a budget for it on https://t.co/k1yFXvj0yO. And UCP already solves payments for commerce (see payment handlers); x402 is great but not appropriate tool for the job in this case.
Shopify is (almost) the only place on the internet that has implemented WebMCP end-to-end
Which means that on Shopify sites you can go from search -> cart -> checkout and complete a purchase entirely through WebMCP tools
We’ve indexed >2.3 million of this sites, learn more about the Shopify WebMCP implementation here:
https://t.co/WDp3CQTIB3
No one could say it better than the 🐐 storyteller. Canvas is now rolled out to 100% of merchants and the impact is crazy -- two more of my favorites:
1. a 3D globe stockist locator
2. an actual house you can explore and shop
People are going wild with this.
River, our Slack bot at Shopify, wasn't good at building mobile apps at first.
We fixed that, but engineers were still skeptical. Mobile development has always happened on your laptop, right?
So I made a series of internal ads for it. This is one of those:
@MartinLasmanis The agent creates the request and buyer approves, if the total does not match when submitted by the agent.. yes, it may be declined and user has to re-approve. The agent can also update the request if it knows upfront that there will be a mismatch.
Yo dawg, heard you like MCP. So we compiled the shop CLI (an MCP client) to WASM, put it in a browser terminal, and exposed it over #WebMCP, so your agent can call MCP tools that call MCP tools.
Silly? Yes. Necessary? No. Fun? Abso-yes-lutely. 😆
But really, try the playground on https://t.co/wlvCiAQ4Nq!
1B+ products from millions of Shopify stores, cart → checkout → Shop Pay, order tracking. Bonus, try `shop spend-request`: buyer approves in Shop, your agent gets a single-use payment credential, and checks out anywhere on the web.
$> npm install --global @shopify/shop@latest
$> shop skill --install
From discovery to purchase, batteries included.
We made a good version of both of these within a day … and then we were like “but what if…” over and over again.
Working with @igrigorik and @suprb on this was so fun that I laughed basically every day out of disbelief from how ridiculous we were making it.
We pushed these marketing sites to the limit, and then kept pushing.
Built a full terminal in the browser (you can mkdir/echo/cd/whatever) on https://t.co/5a69JrQ2Wd, and on shop.md made what is now my favourite markdown editor.
Publish a skill to see my favourite Easter egg.