Give a coding agent the ability to search a unified catalog of millions of merchants
Build a cart at a specific Shopify merchant and hand a continue URL to the buyer
Complete a checkout end to end with an agent and a user escalation hook for confirmation steps
Discover which UCP operations a merchant supports without depending on stale docs
Single npm install plus profile creation; live schema calls require network access to each merchant.
This is a command-line tool from Shopify that gives an AI agent the ability to shop. It is built on top of something called the Universal Commerce Protocol, an open specification that any online merchant can implement so that AI agents can talk to their store in a consistent way. The CLI itself, called ucp, is installed once with npm and then exposes a set of subcommands that the agent can run. The README walks through a sixty-second tour. After install, you add the bundled skill to your agent and create a shopper profile. Then the agent can run ucp catalog search to look for a product, for example a particular keyboard, across what the README calls a unified global catalog of millions of merchants. Results come back as structured JSON, which the CLI can also render as a Markdown table. Each row includes a title, a price, a variant identifier, and a direct buy link. Once the agent picks a product, ucp cart create adds it to a cart at a specific merchant, identified by URL. The merchant returns the confirmed cart with pricing and a continue URL that can be opened in a real browser. There is then a checkout step, where the cart turns into a checkout object, the agent fills in fulfillment details, and finally calls ucp checkout complete. When the merchant requires the buyer to do something the agent cannot, the CLI calls a user-defined escalation hook, typically a command that opens the continue URL in the browser, then waits for the buyer to confirm. A recurring design point in the README is that the agent never relies on stale documentation. Every command has an --input-schema flag that makes a live network call to the merchant and returns the exact shape that operation accepts right now. There is also a discover command that asks the merchant which operations it supports. This way merchants can extend or deprecate their schemas without coordinated releases against the CLI. The README also explains the two scopes a command can have. Without the --business flag, queries hit a global catalog. With it, the call is scoped to a single merchant. Every response also carries a cta field with structured suggestions for the next command, so the agent does not have to memorize the flow.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.