{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/cerebelly/main/json-schema/cerebelly-ucp-tool-schemas.json", "title": "Cerebelly UCP Commerce MCP \u2014 tool input schemas", "description": "Input schemas for the 13 tools returned by an anonymous MCP tools/list against https://cerebelly.com/api/ucp/mcp on 2026-08-09. Extracted verbatim from the live response; nothing added.", "x-generated": "2026-08-09", "x-method": "searched", "x-source": "https://cerebelly.com/api/ucp/mcp (POST tools/list, HTTP 200)", "$defs": { "get_checkout": { "title": "get_checkout", "description": "Returns details about the checkout, including line items, totals, and any applicable discounts or taxes.", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "id": { "type": "string", "description": "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'" } }, "required": [ "meta", "id" ] }, "create_checkout": { "title": "create_checkout", "description": "Creates a checkout. Returns checkout details, including line items, totals, and any applicable discounts or taxes.", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "checkout": { "type": "object", "description": "Checkout properties.", "properties": { "payment": { "type": "object", "description": "Payment information for this checkout.", "additionalProperties": true, "properties": { "instruments": { "type": "array", "description": "Payment instruments for this checkout (e.g., credit cards, tokens, wallets).", "items": { "type": "object", "required": [ "id", "handler_id", "type" ], "additionalProperties": true, "properties": { "id": { "type": "string", "description": "A unique identifier for this payment instrument instance." }, "handler_id": { "type": "string", "description": "Identifier of the payment handler that was used to generate this instrument." }, "type": { "type": "string", "description": "Instrument type. Use 'card' for credit/debit cards, 'token' for wallet payments (Google Pay, Apple Pay)." }, "billing_address": { "type": "object", "description": "Billing address for the instrument.", "additionalProperties": true, "properties": { "street_address": { "type": "string", "description": "Street address of the billing address." }, "extended_address": { "type": "string", "description": "Extended address of the billing address such as an apartment number, C/O, or alternative name." }, "address_locality": { "type": "string", "description": "Locality of the billing address." }, "address_region": { "type": "string", "description": "Region of the billing address." }, "postal_code": { "type": "string", "description": "Postal code of the billing address." }, "address_country": { "type": "string", "description": "Country of the billing address in 2-letter ISO 3166-1 alpha-2 format." }, "first_name": { "type": "string", "description": "First name of the contact associated with the billing address." }, "last_name": { "type": "string", "description": "Last name of the contact associated with the billing address." }, "phone_number": { "type": "string", "description": "Phone number of the contact associated with the billing address." } } }, "credential": { "type": "object", "description": "Payment credential payload to process the transaction for this instrument.", "required": [ "token", "type" ], "additionalProperties": true, "properties": { "token": { "type": "string", "description": "Opaque payment token value." }, "type": { "type": "string", "description": "Namespaced token type using dot notation (e.g., stripe.token, merchant.token, google.pay)." } } }, "display": { "type": "object", "description": "Display information for this payment instrument.", "additionalProperties": true, "properties": { "brand": { "type": "string", "description": "Card brand (e.g., visa, mastercard). Required for card instruments." }, "last_digits": { "type": "string", "description": "Last 4 digits of card. Required for card instruments." }, "expiry_month": { "type": "integer", "description": "Card expiry month (1-12). Required for card instruments." }, "expiry_year": { "type": "integer", "description": "Card expiry year. Required for card instruments." }, "rich_text_description": { "type": "string", "description": "Rich text description of the payment instrument for display purposes." }, "rich_card_art": { "type": "string", "description": "Rich card art URL or identifier for the payment instrument." } } }, "selected": { "type": "boolean", "description": "Whether this instrument is the currently selected for the checkout." } } } } } }, "line_items": { "type": "array", "description": "Items to add to the cart or checkout. Required when creating a new cart or checkout.", "items": { "type": "object", "required": [ "item", "quantity" ], "properties": { "id": { "type": "string", "description": "The ID of the line item to update." }, "quantity": { "type": "integer" }, "item": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The Product Variant ID to add or update." } } } } } }, "buyer": { "type": "object", "description": "Information about the buyer including email and phone number.", "additionalProperties": true, "properties": { "email": { "type": "string", "format": "email" }, "phone_number": { "type": "string" } } }, "context": { "type": "object", "description": "Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.", "additionalProperties": true, "properties": { "address_country": { "type": "string", "description": "Country hint for localization." }, "address_region": { "type": "string", "description": "Region/state hint for localization." }, "postal_code": { "type": "string", "description": "Postal code hint for localization." }, "intent": { "type": "string", "description": "Context describing buyer's intent." }, "language": { "type": "string", "description": "Language tag in IETF BCP 47 format." }, "currency": { "type": "string", "description": "Preferred currency (ISO 4217, e.g., 'EUR', 'USD')." }, "eligibility": { "type": "array", "description": "Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.", "items": { "type": "string", "description": "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty').", "pattern": "^[a-z][a-z0-9]*(?:\\.[a-z][a-z0-9_]*)+$" } } } }, "attribution": { "type": "object", "description": "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters).", "properties": { "referring_domain": { "type": "string", "description": "Domain that referred the buyer to the merchant's storefront." }, "click_id_tag": { "type": "string", "description": "Click identifier parameter name (e.g., 'gclid', 'fbclid')." }, "click_id_value": { "type": "string", "description": "Click identifier value matching click_id_tag." }, "activity_id_tag": { "type": "string", "description": "Activity identifier parameter name." }, "activity_id_value": { "type": "string", "description": "Activity identifier value matching activity_id_tag." }, "utm_campaign": { "type": "string", "description": "UTM campaign parameter." }, "utm_source": { "type": "string", "description": "UTM source parameter." }, "utm_medium": { "type": "string", "description": "UTM medium parameter." }, "utm_content": { "type": "string", "description": "UTM content parameter." }, "utm_term": { "type": "string", "description": "UTM term parameter." } } }, "cart_id": { "type": "string", "description": "Cart ID to convert to checkout. When provided, the business uses cart contents (line_items, context, buyer) and ignores overlapping fields in the checkout payload. Format: 'gid://shopify/Cart/abc123?key=secret'" }, "fulfillment": { "type": "object", "description": "Information about the fulfillment.", "properties": { "methods": { "type": "array", "description": "The methods of fulfillment.", "items": { "type": "object", "properties": { "type": { "type": "string" }, "line_item_ids": { "type": "array", "description": "The line item ids to fulfill.", "items": { "type": "string" } }, "selected_destination_id": { "type": "string", "description": "ID of the selected destination." }, "destinations": { "type": "array", "description": "The destinations to fulfill to.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "phone_number": { "type": "string" }, "street_address": { "type": "string" }, "extended_address": { "type": "string" }, "address_locality": { "type": "string" }, "address_region": { "type": "string" }, "postal_code": { "type": "string" }, "address_country": { "type": "string" } } } }, "groups": { "type": "array", "description": "The groups to fulfill to.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "selected_option_id": { "type": "string" } } } } }, "required": [ "type" ] } } } }, "discounts": { "type": "object", "description": "Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.", "properties": { "codes": { "type": "array", "description": "Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.", "items": { "type": "string" } } } } }, "required": [ "line_items" ] } }, "required": [ "meta", "checkout" ] }, "update_checkout": { "title": "update_checkout", "description": "Updates a checkout. Returns checkout details, including line items, totals, and any applicable discounts or taxes.", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "checkout": { "type": "object", "description": "Checkout properties.", "properties": { "payment": { "type": "object", "description": "Payment information for this checkout.", "additionalProperties": true, "properties": { "instruments": { "type": "array", "description": "Payment instruments for this checkout (e.g., credit cards, tokens, wallets).", "items": { "type": "object", "required": [ "id", "handler_id", "type" ], "additionalProperties": true, "properties": { "id": { "type": "string", "description": "A unique identifier for this payment instrument instance." }, "handler_id": { "type": "string", "description": "Identifier of the payment handler that was used to generate this instrument." }, "type": { "type": "string", "description": "Instrument type. Use 'card' for credit/debit cards, 'token' for wallet payments (Google Pay, Apple Pay)." }, "billing_address": { "type": "object", "description": "Billing address for the instrument.", "additionalProperties": true, "properties": { "street_address": { "type": "string", "description": "Street address of the billing address." }, "extended_address": { "type": "string", "description": "Extended address of the billing address such as an apartment number, C/O, or alternative name." }, "address_locality": { "type": "string", "description": "Locality of the billing address." }, "address_region": { "type": "string", "description": "Region of the billing address." }, "postal_code": { "type": "string", "description": "Postal code of the billing address." }, "address_country": { "type": "string", "description": "Country of the billing address in 2-letter ISO 3166-1 alpha-2 format." }, "first_name": { "type": "string", "description": "First name of the contact associated with the billing address." }, "last_name": { "type": "string", "description": "Last name of the contact associated with the billing address." }, "phone_number": { "type": "string", "description": "Phone number of the contact associated with the billing address." } } }, "credential": { "type": "object", "description": "Payment credential payload to process the transaction for this instrument.", "required": [ "token", "type" ], "additionalProperties": true, "properties": { "token": { "type": "string", "description": "Opaque payment token value." }, "type": { "type": "string", "description": "Namespaced token type using dot notation (e.g., stripe.token, merchant.token, google.pay)." } } }, "display": { "type": "object", "description": "Display information for this payment instrument.", "additionalProperties": true, "properties": { "brand": { "type": "string", "description": "Card brand (e.g., visa, mastercard). Required for card instruments." }, "last_digits": { "type": "string", "description": "Last 4 digits of card. Required for card instruments." }, "expiry_month": { "type": "integer", "description": "Card expiry month (1-12). Required for card instruments." }, "expiry_year": { "type": "integer", "description": "Card expiry year. Required for card instruments." }, "rich_text_description": { "type": "string", "description": "Rich text description of the payment instrument for display purposes." }, "rich_card_art": { "type": "string", "description": "Rich card art URL or identifier for the payment instrument." } } }, "selected": { "type": "boolean", "description": "Whether this instrument is the currently selected for the checkout." } } } } } }, "line_items": { "type": "array", "description": "Items to add to the cart or checkout. Required when creating a new cart or checkout.", "items": { "type": "object", "required": [ "item", "quantity" ], "properties": { "id": { "type": "string", "description": "The ID of the line item to update." }, "quantity": { "type": "integer" }, "item": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The Product Variant ID to add or update." } } } } } }, "buyer": { "type": "object", "description": "Information about the buyer including email and phone number.", "additionalProperties": true, "properties": { "email": { "type": "string", "format": "email" }, "phone_number": { "type": "string" } } }, "context": { "type": "object", "description": "Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.", "additionalProperties": true, "properties": { "address_country": { "type": "string", "description": "Country hint for localization." }, "address_region": { "type": "string", "description": "Region/state hint for localization." }, "postal_code": { "type": "string", "description": "Postal code hint for localization." }, "intent": { "type": "string", "description": "Context describing buyer's intent." }, "language": { "type": "string", "description": "Language tag in IETF BCP 47 format." }, "currency": { "type": "string", "description": "Preferred currency (ISO 4217, e.g., 'EUR', 'USD')." }, "eligibility": { "type": "array", "description": "Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.", "items": { "type": "string", "description": "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty').", "pattern": "^[a-z][a-z0-9]*(?:\\.[a-z][a-z0-9_]*)+$" } } } }, "attribution": { "type": "object", "description": "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters).", "properties": { "referring_domain": { "type": "string", "description": "Domain that referred the buyer to the merchant's storefront." }, "click_id_tag": { "type": "string", "description": "Click identifier parameter name (e.g., 'gclid', 'fbclid')." }, "click_id_value": { "type": "string", "description": "Click identifier value matching click_id_tag." }, "activity_id_tag": { "type": "string", "description": "Activity identifier parameter name." }, "activity_id_value": { "type": "string", "description": "Activity identifier value matching activity_id_tag." }, "utm_campaign": { "type": "string", "description": "UTM campaign parameter." }, "utm_source": { "type": "string", "description": "UTM source parameter." }, "utm_medium": { "type": "string", "description": "UTM medium parameter." }, "utm_content": { "type": "string", "description": "UTM content parameter." }, "utm_term": { "type": "string", "description": "UTM term parameter." } } }, "fulfillment": { "type": "object", "description": "Information about the fulfillment.", "properties": { "methods": { "type": "array", "description": "The methods of fulfillment.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "line_item_ids": { "type": "array", "description": "The line item ids to fulfill.", "items": { "type": "string" } }, "selected_destination_id": { "type": "string", "description": "ID of the selected destination." }, "destinations": { "type": "array", "description": "The destinations to fulfill to.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "phone_number": { "type": "string" }, "street_address": { "type": "string" }, "extended_address": { "type": "string" }, "address_locality": { "type": "string" }, "address_region": { "type": "string" }, "postal_code": { "type": "string" }, "address_country": { "type": "string" } } } }, "groups": { "type": "array", "description": "The groups to fulfill to.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "selected_option_id": { "type": "string" } }, "required": [ "id" ] } } }, "required": [ "line_item_ids" ] } } } }, "discounts": { "type": "object", "description": "Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.", "properties": { "codes": { "type": "array", "description": "Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.", "items": { "type": "string" } } } } }, "required": [ "line_items" ] }, "id": { "type": "string", "description": "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'" } }, "required": [ "meta", "checkout", "id" ] }, "complete_checkout": { "title": "complete_checkout", "description": "Completes a checkout and returns the checkout result. Returns details about the completed checkout, including order ID, Thank You Page URL, or any errors encountered.", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] }, "idempotency-key": { "type": "string", "description": "An idempotency key for completing the checkout." } }, "required": [ "ucp-agent", "idempotency-key" ] }, "checkout": { "type": "object", "description": "Checkout properties.", "properties": { "payment": { "type": "object", "description": "Payment information for this checkout.", "additionalProperties": true, "properties": { "instruments": { "type": "array", "description": "Payment instruments for this checkout (e.g., credit cards, tokens, wallets).", "items": { "type": "object", "required": [ "id", "handler_id", "type" ], "additionalProperties": true, "properties": { "id": { "type": "string", "description": "A unique identifier for this payment instrument instance." }, "handler_id": { "type": "string", "description": "Identifier of the payment handler that was used to generate this instrument." }, "type": { "type": "string", "description": "Instrument type. Use 'card' for credit/debit cards, 'token' for wallet payments (Google Pay, Apple Pay)." }, "billing_address": { "type": "object", "description": "Billing address for the instrument.", "additionalProperties": true, "properties": { "street_address": { "type": "string", "description": "Street address of the billing address." }, "extended_address": { "type": "string", "description": "Extended address of the billing address such as an apartment number, C/O, or alternative name." }, "address_locality": { "type": "string", "description": "Locality of the billing address." }, "address_region": { "type": "string", "description": "Region of the billing address." }, "postal_code": { "type": "string", "description": "Postal code of the billing address." }, "address_country": { "type": "string", "description": "Country of the billing address in 2-letter ISO 3166-1 alpha-2 format." }, "first_name": { "type": "string", "description": "First name of the contact associated with the billing address." }, "last_name": { "type": "string", "description": "Last name of the contact associated with the billing address." }, "phone_number": { "type": "string", "description": "Phone number of the contact associated with the billing address." } } }, "credential": { "type": "object", "description": "Payment credential payload to process the transaction for this instrument.", "required": [ "token", "type" ], "additionalProperties": true, "properties": { "token": { "type": "string", "description": "Opaque payment token value." }, "type": { "type": "string", "description": "Namespaced token type using dot notation (e.g., stripe.token, merchant.token, google.pay)." } } }, "display": { "type": "object", "description": "Display information for this payment instrument.", "additionalProperties": true, "properties": { "brand": { "type": "string", "description": "Card brand (e.g., visa, mastercard). Required for card instruments." }, "last_digits": { "type": "string", "description": "Last 4 digits of card. Required for card instruments." }, "expiry_month": { "type": "integer", "description": "Card expiry month (1-12). Required for card instruments." }, "expiry_year": { "type": "integer", "description": "Card expiry year. Required for card instruments." }, "rich_text_description": { "type": "string", "description": "Rich text description of the payment instrument for display purposes." }, "rich_card_art": { "type": "string", "description": "Rich card art URL or identifier for the payment instrument." } } }, "selected": { "type": "boolean", "description": "Whether this instrument is the currently selected for the checkout." } } } } } }, "attribution": { "type": "object", "description": "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters).", "properties": { "referring_domain": { "type": "string", "description": "Domain that referred the buyer to the merchant's storefront." }, "click_id_tag": { "type": "string", "description": "Click identifier parameter name (e.g., 'gclid', 'fbclid')." }, "click_id_value": { "type": "string", "description": "Click identifier value matching click_id_tag." }, "activity_id_tag": { "type": "string", "description": "Activity identifier parameter name." }, "activity_id_value": { "type": "string", "description": "Activity identifier value matching activity_id_tag." }, "utm_campaign": { "type": "string", "description": "UTM campaign parameter." }, "utm_source": { "type": "string", "description": "UTM source parameter." }, "utm_medium": { "type": "string", "description": "UTM medium parameter." }, "utm_content": { "type": "string", "description": "UTM content parameter." }, "utm_term": { "type": "string", "description": "UTM term parameter." } } } }, "required": [ "payment" ] }, "id": { "type": "string", "description": "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'" } }, "required": [ "meta", "id", "checkout" ] }, "cancel_checkout": { "title": "cancel_checkout", "description": "Cancels a checkout.", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "id": { "type": "string", "description": "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'" } }, "required": [ "meta", "id" ] }, "get_cart": { "title": "get_cart", "description": "Get the cart contents", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "id": { "type": "string", "description": "The ID of the cart. Format: 'gid://shopify/Cart/abc123'" } }, "required": [ "meta", "id" ] }, "create_cart": { "title": "create_cart", "description": "Creates a new cart", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "cart": { "type": "object", "description": "Cart properties.", "properties": { "line_items": { "type": "array", "description": "Items to add to the cart or checkout. Required when creating a new cart or checkout.", "items": { "type": "object", "required": [ "item", "quantity" ], "properties": { "id": { "type": "string", "description": "The ID of the line item to update." }, "quantity": { "type": "integer" }, "item": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The Product Variant ID to add or update." } } } } } }, "buyer": { "type": "object", "description": "Information about the buyer including email and phone number.", "additionalProperties": true, "properties": { "email": { "type": "string", "format": "email" }, "phone_number": { "type": "string" } } }, "context": { "type": "object", "description": "Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.", "additionalProperties": true, "properties": { "address_country": { "type": "string", "description": "Country hint for localization." }, "address_region": { "type": "string", "description": "Region/state hint for localization." }, "postal_code": { "type": "string", "description": "Postal code hint for localization." }, "intent": { "type": "string", "description": "Context describing buyer's intent." }, "language": { "type": "string", "description": "Language tag in IETF BCP 47 format." }, "currency": { "type": "string", "description": "Preferred currency (ISO 4217, e.g., 'EUR', 'USD')." }, "eligibility": { "type": "array", "description": "Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.", "items": { "type": "string", "description": "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty').", "pattern": "^[a-z][a-z0-9]*(?:\\.[a-z][a-z0-9_]*)+$" } } } }, "attribution": { "type": "object", "description": "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters). Forwarded to the cart for downstream reporting.", "properties": { "referring_domain": { "type": "string", "description": "Domain that referred the buyer to the merchant's storefront." }, "click_id_tag": { "type": "string", "description": "Click identifier parameter name (e.g., 'gclid', 'fbclid')." }, "click_id_value": { "type": "string", "description": "Click identifier value matching click_id_tag." }, "activity_id_tag": { "type": "string", "description": "Activity identifier parameter name." }, "activity_id_value": { "type": "string", "description": "Activity identifier value matching activity_id_tag." }, "utm_campaign": { "type": "string", "description": "UTM campaign parameter." }, "utm_source": { "type": "string", "description": "UTM source parameter." }, "utm_medium": { "type": "string", "description": "UTM medium parameter." }, "utm_content": { "type": "string", "description": "UTM content parameter." }, "utm_term": { "type": "string", "description": "UTM term parameter." } } }, "fulfillment": { "type": "object", "description": "Information about the fulfillment.", "properties": { "methods": { "type": "array", "description": "The methods of fulfillment.", "items": { "type": "object", "properties": { "type": { "type": "string" }, "line_item_ids": { "type": "array", "description": "The line item ids to fulfill.", "items": { "type": "string" } }, "selected_destination_id": { "type": "string", "description": "ID of the selected destination." }, "destinations": { "type": "array", "description": "The destinations to fulfill to.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "phone_number": { "type": "string" }, "street_address": { "type": "string" }, "extended_address": { "type": "string" }, "address_locality": { "type": "string" }, "address_region": { "type": "string" }, "postal_code": { "type": "string" }, "address_country": { "type": "string" } } } }, "groups": { "type": "array", "description": "The groups to fulfill to.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "selected_option_id": { "type": "string" } } } } }, "required": [ "type" ] } } } }, "discounts": { "type": "object", "description": "Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.", "properties": { "codes": { "type": "array", "description": "Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.", "items": { "type": "string" } } } } }, "required": [ "line_items" ] } }, "required": [ "meta", "cart" ] }, "update_cart": { "title": "update_cart", "description": "Perform updates to a cart.", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "cart": { "type": "object", "description": "Cart properties.", "properties": { "line_items": { "type": "array", "description": "Items to add to the cart or checkout. Required when creating a new cart or checkout.", "items": { "type": "object", "required": [ "item", "quantity" ], "properties": { "id": { "type": "string", "description": "The ID of the line item to update." }, "quantity": { "type": "integer" }, "item": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The Product Variant ID to add or update." } } } } } }, "buyer": { "type": "object", "description": "Information about the buyer including email and phone number.", "additionalProperties": true, "properties": { "email": { "type": "string", "format": "email" }, "phone_number": { "type": "string" } } }, "context": { "type": "object", "description": "Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.", "additionalProperties": true, "properties": { "address_country": { "type": "string", "description": "Country hint for localization." }, "address_region": { "type": "string", "description": "Region/state hint for localization." }, "postal_code": { "type": "string", "description": "Postal code hint for localization." }, "intent": { "type": "string", "description": "Context describing buyer's intent." }, "language": { "type": "string", "description": "Language tag in IETF BCP 47 format." }, "currency": { "type": "string", "description": "Preferred currency (ISO 4217, e.g., 'EUR', 'USD')." }, "eligibility": { "type": "array", "description": "Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.", "items": { "type": "string", "description": "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty').", "pattern": "^[a-z][a-z0-9]*(?:\\.[a-z][a-z0-9_]*)+$" } } } }, "attribution": { "type": "object", "description": "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters). Forwarded to the cart for downstream reporting.", "properties": { "referring_domain": { "type": "string", "description": "Domain that referred the buyer to the merchant's storefront." }, "click_id_tag": { "type": "string", "description": "Click identifier parameter name (e.g., 'gclid', 'fbclid')." }, "click_id_value": { "type": "string", "description": "Click identifier value matching click_id_tag." }, "activity_id_tag": { "type": "string", "description": "Activity identifier parameter name." }, "activity_id_value": { "type": "string", "description": "Activity identifier value matching activity_id_tag." }, "utm_campaign": { "type": "string", "description": "UTM campaign parameter." }, "utm_source": { "type": "string", "description": "UTM source parameter." }, "utm_medium": { "type": "string", "description": "UTM medium parameter." }, "utm_content": { "type": "string", "description": "UTM content parameter." }, "utm_term": { "type": "string", "description": "UTM term parameter." } } }, "fulfillment": { "type": "object", "description": "Information about the fulfillment.", "properties": { "methods": { "type": "array", "description": "The methods of fulfillment.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "line_item_ids": { "type": "array", "description": "The line item ids to fulfill.", "items": { "type": "string" } }, "selected_destination_id": { "type": "string", "description": "ID of the selected destination." }, "destinations": { "type": "array", "description": "The destinations to fulfill to.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "phone_number": { "type": "string" }, "street_address": { "type": "string" }, "extended_address": { "type": "string" }, "address_locality": { "type": "string" }, "address_region": { "type": "string" }, "postal_code": { "type": "string" }, "address_country": { "type": "string" } } } }, "groups": { "type": "array", "description": "The groups to fulfill to.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "selected_option_id": { "type": "string" } }, "required": [ "id" ] } } }, "required": [ "line_item_ids" ] } } } }, "discounts": { "type": "object", "description": "Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.", "properties": { "codes": { "type": "array", "description": "Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.", "items": { "type": "string" } } } } }, "required": [ "line_items" ] }, "id": { "type": "string", "description": "The ID of the cart. Format: 'gid://shopify/Cart/abc123'" } }, "required": [ "meta", "cart", "id" ] }, "cancel_cart": { "title": "cancel_cart", "description": "Cancels a cart.", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "id": { "type": "string", "description": "The ID of the cart. Format: 'gid://shopify/Cart/abc123'" } }, "required": [ "meta", "id" ] }, "get_order": { "title": "get_order", "description": "Get the details of an order", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "id": { "type": "string", "description": "The ID of the order. Format: 'gid://shopify/Order/123'" } }, "required": [ "meta", "id" ] }, "search_catalog": { "title": "search_catalog", "description": "Search for products from the online store, hosted on Shopify.\n\nThis tool can be used to search for products using natural language queries, specific filter criteria, or both.\nAt least one of query or filters must be provided.\n\nResults are paginated, with initial results limited to improve experience.\nUse the pagination.cursor from the response to fetch additional pages when users request more results.\n\nResponse conforms to the UCP catalog search capability (dev.ucp.shopping.catalog.search).\n", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "catalog": { "type": "object", "description": "Catalog search parameters.", "properties": { "query": { "type": "string", "description": "Search query string." }, "context": { "type": "object", "description": "Buyer signals for localization and personalization.", "additionalProperties": true, "properties": { "address_country": { "type": "string", "description": "Country code in ISO 3166-1 alpha-2 format." }, "address_region": { "type": "string", "description": "Region or state." }, "postal_code": { "type": "string", "description": "Postal code." }, "language": { "type": "string", "description": "Language tag in IETF BCP 47 format." }, "currency": { "type": "string", "description": "Currency code in ISO 4217 format." }, "intent": { "type": "string", "description": "Buyer intent." } } }, "signals": { "type": "object", "description": "Platform environment data.", "additionalProperties": true, "properties": { "dev.ucp.buyer_ip": { "type": "string", "description": "Buyer IP address." }, "dev.ucp.user_agent": { "type": "string", "description": "Buyer user agent." } } }, "filters": { "type": "object", "description": "Narrowing criteria for catalog results.", "additionalProperties": true, "properties": { "categories": { "type": "array", "description": "Category filters combined with OR logic.", "items": { "type": "string" } }, "price": { "type": "object", "description": "Price range filter.", "properties": { "min": { "type": "integer", "description": "Minimum price in minor currency units." }, "max": { "type": "integer", "description": "Maximum price in minor currency units." } } }, "available": { "type": "boolean", "description": "Filter by availability. Default true (only sale-ready items).", "default": true } } }, "pagination": { "type": "object", "description": "Pagination parameters.", "properties": { "cursor": { "type": "string", "description": "Pagination cursor." }, "limit": { "type": "integer", "description": "Number of results to return.", "default": 10, "minimum": 1 } } } } } }, "required": [ "meta", "catalog" ] }, "lookup_catalog": { "title": "lookup_catalog", "description": "Look up multiple products or variants by identifier.\nUse this tool to resolve multiple product/variant IDs in a single request.\n\nSupports:\n- Product IDs (gid://shopify/Product/...): Returns product with match: \"featured\"\n- Variant IDs (gid://shopify/ProductVariant/...): Returns parent product with the exact variant\n\nResults are grouped by product. Each variant includes an inputs array showing\nwhich request ID resolved to it and whether the match was exact or featured.\n\nMaximum 10 IDs per request.\n", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "catalog": { "type": "object", "description": "Catalog lookup parameters.", "required": [ "ids" ], "properties": { "ids": { "type": "array", "description": "Product IDs to look up.", "items": { "type": "string" }, "minItems": 1, "maxItems": 10 }, "context": { "type": "object", "description": "Buyer signals for localization and personalization.", "additionalProperties": true, "properties": { "address_country": { "type": "string", "description": "Country code in ISO 3166-1 alpha-2 format." }, "address_region": { "type": "string", "description": "Region or state." }, "postal_code": { "type": "string", "description": "Postal code." }, "language": { "type": "string", "description": "Language tag in IETF BCP 47 format." }, "currency": { "type": "string", "description": "Currency code in ISO 4217 format." }, "intent": { "type": "string", "description": "Buyer intent." } } }, "signals": { "type": "object", "description": "Platform environment data.", "additionalProperties": true, "properties": { "dev.ucp.buyer_ip": { "type": "string", "description": "Buyer IP address." }, "dev.ucp.user_agent": { "type": "string", "description": "Buyer user agent." } } }, "filters": { "type": "object", "description": "Narrowing criteria for catalog results.", "additionalProperties": true, "properties": { "categories": { "type": "array", "description": "Category filters combined with OR logic.", "items": { "type": "string" } }, "price": { "type": "object", "description": "Price range filter.", "properties": { "min": { "type": "integer", "description": "Minimum price in minor currency units." }, "max": { "type": "integer", "description": "Maximum price in minor currency units." } } }, "available": { "type": "boolean", "description": "Filter by availability. Default true (only sale-ready items).", "default": true } } } } } }, "required": [ "meta", "catalog" ] }, "get_product": { "title": "get_product", "description": "Retrieve complete product detail by identifier. Returns a singular product\nwith a relevant set of variants, exact pricing, and real-time availability.\nSupports interactive option selection via selected and preferences parameters\nfor variant narrowing and availability signals. Use for product detail page\nrendering and purchase decisions.\n", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "meta": { "type": "object", "description": "Metadata for UCP agent profile discovery.", "properties": { "ucp-agent": { "type": "object", "properties": { "profile": { "type": "string", "format": "uri", "description": "Agent profile URI for UCP discovery." } }, "required": [ "profile" ] } }, "required": [ "ucp-agent" ] }, "catalog": { "type": "object", "description": "Product detail parameters.", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Product ID." }, "selected": { "type": "array", "description": "Selected variant options.", "items": { "type": "object", "properties": { "name": { "type": "string" }, "label": { "type": "string" } } } }, "preferences": { "type": "array", "description": "Buyer preferences.", "items": { "type": "string" } }, "context": { "type": "object", "description": "Buyer signals for localization and personalization.", "additionalProperties": true, "properties": { "address_country": { "type": "string", "description": "Country code in ISO 3166-1 alpha-2 format." }, "address_region": { "type": "string", "description": "Region or state." }, "postal_code": { "type": "string", "description": "Postal code." }, "language": { "type": "string", "description": "Language tag in IETF BCP 47 format." }, "currency": { "type": "string", "description": "Currency code in ISO 4217 format." }, "intent": { "type": "string", "description": "Buyer intent." } } }, "signals": { "type": "object", "description": "Platform environment data.", "additionalProperties": true, "properties": { "dev.ucp.buyer_ip": { "type": "string", "description": "Buyer IP address." }, "dev.ucp.user_agent": { "type": "string", "description": "Buyer user agent." } } }, "filters": { "type": "object", "description": "Narrowing criteria for catalog results.", "additionalProperties": true, "properties": { "categories": { "type": "array", "description": "Category filters combined with OR logic.", "items": { "type": "string" } }, "price": { "type": "object", "description": "Price range filter.", "properties": { "min": { "type": "integer", "description": "Minimum price in minor currency units." }, "max": { "type": "integer", "description": "Maximum price in minor currency units." } } }, "available": { "type": "boolean", "description": "Filter by availability. Default true (only sale-ready items).", "default": true } } } } } }, "required": [ "meta", "catalog" ] } } }