Universal Commerce Protocol
Heads up: old Catalog MCP tool names retire on June 15, 2026.
Shopify's Storefront Catalog MCP now implements UCP. search_shop_catalog, get_product_details, and the other pre-UCP tool names continue to work through June 15, 2026. After that date, agents must use the new names (search_catalog, lookup_catalog, get_product) against the new per-store endpoint /api/ucp/mcp.
What is UCP?
Universal Commerce Protocol (UCP) is Shopify's open infrastructure for enabling AI agents to participate in commerce. It provides standardized APIs, data formats, and interaction patterns that allow AI systems to search products, understand availability and pricing, and facilitate purchases across millions of merchants.
Think of UCP as the “roads and signage” for AI shopping. Just as humans need storefronts, search bars, and checkout flows to shop online, AI agents need structured data and APIs to do the same. UCP provides that infrastructure.
The Foundation: Product Taxonomy
Before AI agents can discover your products, they need to understand them. This starts with Shopify's product taxonomy, a standardized system for categorizing products that provides first-party data to enhance discoverability.
Standard Category Metafields
When you assign a product category in Shopify (like “Apparel & Accessories > Clothing > Shirts”), you're creating structured metadata that AI agents can parse. These categories follow a standardized taxonomy that's consistent across all Shopify stores.
Product Properties Working Together
Your product title, description, and structured data (like size, color, material) all contribute to how AI agents understand and recommend your products. The more complete and accurate this data, the better your products match user intent.
Impact on Catalog API Results
When someone searches for “breathable running shirt under $50,” the Catalog API uses your taxonomy data, product attributes, and pricing to determine relevance. Products with complete taxonomy data surface more accurately for relevant queries.
Hear From Shopify
We sat down with Shopify's UCP team to understand their vision for agentic commerce. Click any card to watch the interview segment.
Why Does UCP Matter?
The way people shop is changing. Instead of visiting individual stores or browsing marketplaces, users increasingly ask AI assistants for help. “Find me a good laptop for video editing under $1500” or “What's the best gift for a 10-year-old who likes science?”
Without protocols like UCP, AI agents can only scrape websites or use limited search APIs. With UCP, they have direct access to structured product data, real-time inventory, verified pricing, and merchant information, everything needed to make informed recommendations.
For Merchants: Why Participate?
New Discovery Channel
Your products become discoverable through AI assistants like ChatGPT, Claude, and Google's Gemini. This is a new acquisition channel beyond traditional SEO and paid ads.
Qualified Traffic
AI agents send users who are ready to buy. When an AI recommends your product, the user has already described their needs and the AI has matched them to your offering.
Future-Proofing
As more shopping moves to AI-assisted channels, merchants on UCP are positioned to capture that demand. Early participation builds visibility as the ecosystem grows.
For Developers: Why Build on UCP?
Access to Millions of Products
The Catalog API gives you instant access to product data from Shopify's merchant base. No need to negotiate individual partnerships or scrape websites.
Built for AI
UCP is designed for AI integration from the ground up. Semantic search, structured data, and MCP compatibility make it easy to build AI shopping experiences.
Real-Time Data
Product data stays synchronized with merchant catalogs. Pricing, availability, and inventory reflect current state, not stale snapshots.
The Three UCP Catalog Tools
The Storefront Catalog MCP exposes three tools for agents to discover and inspect products on a single merchant. Each is reached via JSON-RPC 2.0 at POST https://{store}/api/ucp/mcp.
search_catalog
Free-text search across a store's catalog with buyer signals and cursor pagination.
- Input:
catalog.query(required),catalog.context(optional buyer signals). - Output: cursor-paginated product array with
cursor,has_next_page, andtotal_count.
lookup_catalog
Batch-resolve up to 10 product or variant identifiers in a single call. Ideal for cart validation, deep-link expansion, and re-hydrating saved searches.
- Input:
catalog.ids: array of up to 10 identifiers in the formgid://shopify/Product/123. - Output:
inputs[]correlates each request id to a result withmatch_type: "exact"or"featured". Unresolved ids appear innot_found[].
get_product
Full product detail with interactive variant selection. Options carry per-value availability signals so agents can reason about what combinations exist and which are currently purchasable.
- Input:
catalog.id, plus optionalcatalog.selectedarray of{ name, label }option choices. - Output: options array with per-value
existsandavailablebooleans, filtered variants matching the selection, and seller policy links.
Endpoint and Request Shape
UCP uses JSON-RPC 2.0. Every call targets the tools/call method on the store's UCP endpoint, identifies the tool in params.name, and passes the tool inputs under params.arguments. An agent profile URL under meta.ucp-agent.profile declares which UCP capabilities the caller supports.
POST https://examplestore.myshopify.com/api/ucp/mcp
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_catalog",
"arguments": {
"meta": {
"ucp-agent": {
"profile": "https://shopify.dev/ucp/agent-profiles/2026-04-08/valid-with-capabilities.json"
}
},
"catalog": {
"query": "organic coffee beans",
"context": {
"address_country": "US",
"language": "en",
"currency": "USD",
"intent": "browse"
}
}
}
}
}Buyer Context
Agents can pass buyer signals via catalog.context. UCP uses these to localize pricing, assess shippability, and tune relevance.
address_countryISO 3166-1 alpha-2 (e.g. US). Drives ships-to and tax context.
languageBCP-47 language tag (e.g. en).
currencyISO 4217 (e.g. USD). Applied to price ranges in the response.
intentHint about the buyer's stage (e.g. browse, purchase).
Cursor Pagination and Match Correlation
UCP search responses include a cursor for deep pagination rather than offset-based paging. Clients advance by passing the returned cursor back on the next call while has_next_page is true. A total_count accompanies the first page.
The batch lookup_catalog tool returns an inputs[] array correlating each request id with the product it resolved to, along with a match_type:
"exact": the id resolved to that exact product or variant."featured": the id did not resolve, but the store substituted a featured alternative.
Unresolved ids appear in not_found[] with a reason, so agents can decide whether to surface or silently drop stale identifiers.
UCP and the Catalog API
The Catalog API is the primary interface for product discovery within UCP. It provides federated search across all participating merchants, with filtering for price, category, availability, and more.
Catalog Search (this tool) is a reference implementation showing how to query and display results from the Catalog API. Developers can use it to understand response formats and view example curl commands in the documentation.
Where This Is Headed
Agentic commerce is in its early stages. Today, AI assistants can search and recommend products. Tomorrow, they'll handle increasingly complex purchase flows: comparing options across dimensions, negotiating on behalf of users, and managing subscriptions.
UCP is Shopify's bet on this future. By building open infrastructure now, they're positioning Shopify merchants to benefit as AI shopping becomes mainstream.
- Integration with major AI platforms (OpenAI, Google, Anthropic)
- Expanded checkout capabilities for AI-facilitated purchases
- Richer product data including reviews, Q&A, and merchant reputation
- Tools for merchants to optimize their catalog for AI discovery