Skip to main content

Product Data and Transports

5.1 Product Data Structure

UCP uses JSON to describe products. All monetary amounts follow ISO 4217 minor currency units:

5.2 Required and Optional Fields

5.3 Variant Management

Products with multiple options (color, size, material, etc.) use the variants array:
  • Each variant has its own id, sku, price, and availability
  • The attributes object defines option attributes as key-value pairs
  • AI agents can present all available options when displaying a product
  • Variants can have different prices (e.g., larger sizes at a premium)

5.4 Four Transport Mechanisms

UCP product data can be delivered to AI agents via four transport mechanisms, each suited to different integration scenarios.

REST Transport (OpenAPI 3.x)

The most traditional server-to-server integration approach. Merchants provide a REST API conforming to the OpenAPI 3.x specification:
REST transport is ideal for merchants and platforms with existing API infrastructure.

MCP Transport (OpenRPC / JSON-RPC 2.0)

An AI-native transport mechanism. UCP exposes catalog tools via the MCP protocol, defined using OpenRPC schemas. Three standard tools are provided: search_catalog — Search the product catalog
lookup_catalog — Look up by SKU or GTIN
get_product — Get single product details
The key advantage of MCP transport is that AI applications (such as Claude or ChatGPT) can directly use UCP merchants as MCP tools without additional integration code. AI agents understand tool definitions through natural language and autonomously decide when to invoke each tool.

A2A Transport (Agent Card Specification)

Designed for multi-agent collaboration scenarios. Merchants publish an Agent Card that enables other AI agents to discover and connect with them. Agent Cards follow Google’s Agent-to-Agent protocol specification. Applicable scenarios include: a shopping agent invoking a payment agent, a price-comparison agent querying multiple merchant agents simultaneously, and similar patterns.

Embedded Transport (OpenRPC Schema)

A transport mechanism for embedded scenarios that uses only the OpenRPC schema (without the full MCP protocol). Suitable for merchants embedding an AI shopping assistant within their own website.

5.5 Transport Comparison

5.6 Price Format Specification

UCP uses integers to represent prices (ISO 4217 minor currency units), avoiding floating-point precision issues: Implementation note: Always look up the decimal places for a currency from the ISO 4217 exponent table. Do not hardcode exponent values.

5.7 Search and Filtering

UCP defines standardized search and filter parameters:
Next chapter: Security and Authentication — RFC 9421 signatures, JWK keys, mTLS, and Content-Digest