Shopify UCP needs an agent profile per call: where a Sume clip fits

Shopify's UCP storefront MCP needs an agent profile on every request. A product clip belongs after get_product, as an async Sume job the agent collects later.

4 min readSume
All posts

In a Shopify Universal Commerce Protocol (UCP) agent flow, a product video belongs after the product lookup and outside the checkout path: call get_product, then submit a Sume video job, and give the shopper the clip when the job finishes. Shopify requires an agent profile on every request to its MCP endpoint, and Sume is a separate server with its own authentication, so the two never share credentials.

I found no Shopify integration in the Sume docs, so the agent or your own service is the thing that connects the two.

What the Shopify page documents

Shopify Storefront MCP, read 2026-10-05
ItemValue
Endpointhttps://{shop}/api/ucp/mcp (Universal Commerce Protocol)
Toolssearch_catalog, lookup_catalog, get_product, create_cart, get_cart, update_cart, cancel_cart
Agent profileRequired on every request
CheckoutAuthenticated or signed

What Sume provides

Sume video options, Sume docs checked 2026-10-05
SurfaceHow you start a clip
Developer APIPOST https://api.sume.com/v1/videos with model and prompt; 202 with id and polling_url
Hosted MCPgenerate_video, then jobs_wait and jobs_result; paid calls need an idempotency_key
Spend gatesdry_run, optional max_spend_usd, generation_admission_preview
Video modelsGET /v1/videos/models lists supported durations, resolutions and pricing_skus

Where in the conversation the clip goes

  • After get_product: you have the title, description and image URLs. Use them to build the prompt and any frame_images or input_references.
  • Before create_cart: the clip should not block the cart. Submit it and keep shopping.
  • Not inside a single tool call: video jobs usually outlast Sume's 30 second sync wait, and MCP jobs_wait is capped at 55 seconds a call, so re-issue the wait rather than hold longer.
  • After completion: fetch the result from jobs_result (or GET /v1/videos/{id}/content) and show it.

Cost control

Generation is billed to the Sume workspace, not to the shop. Use dry_run to preview a paid call, set max_spend_usd, and always send an idempotency_key so a retried call does not bill twice. With OAuth the session needs the mcp:write toggle for paid tools, and there is no mcp:paid scope; an API key sees the full tool set. See the tools and gates docs for Sume hosted MCP.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume