Every platform has its own commerce surface. Stripe checkout. Shopify cart. App stores with their own install flows. Marketplaces with their own categories.
UCP collapses all of it into one protocol.
What UCP gives you
list_offers— every active product, download, app, and plan in one paginated list.create_checkout— Stripe checkout session for any item by slug, configured per location.get_download_link— verify entitlement, return the signed URL.list_purchases— what the user has bought.
It doesn't matter if you're building a Chrome extension, an MCP server agent, a Slack bot, or a website. UCP is the same shape everywhere.
How it works
UCP unions ucp_products (rich first-party catalog) and marketplace_apps (community + first-party apps) into a single canonical view. De-duplicated by slug. Featured items first. Per-actor installed flags so the UI knows what's already on the location.
Free items install with one tool call. Paid items return a Stripe URL the user clicks. Downloads check entitlement against store_purchases and return a time-limited link.
Built into 0nMCP
import { SERVICE_CATALOG } from "0nmcp/catalog";
const ucp = SERVICE_CATALOG.ucp;
Lands in v4.10.0. Public availability for 0nCore: May 1, 2026.