Shopify Shop MCP Guide: Product Search, Carts, Shop Pay, and Buyer Consent

An AI shopping agent needs more than product search. To move from a recommendation to a real purchase, it must handle catalog data, availability, variants, carts, buyer identity, checkout status, payment approval, and consent without blurring who is responsible for the sale. Shopify launched Shop MCP on October 13, 2026 as a public connection for MCP-compatible agents. On October 16, Shopify also added UCP buyer-consent support to Cart MCP and Checkout MCP.

This guide does not treat Shop MCP as an automatic-buy button. It starts with a read-only terminal search, then explains how to connect an agent, decide between a cart and a checkout, preserve explicit buyer approval, negotiate consent, verify completion, and recover from common failures. The steps and limits are based on Shopify's public documentation rather than an unverified purchase test.

What you need to know first

  • The public Shop MCP endpoint is https://mcp.shop.com, and catalog search can be tested without an API key.
  • search_catalog, lookup_catalog, and get_product cover discovery and product details.
  • A cart is useful while a buyer is still comparing or changing items. A checkout is for finalized values such as fulfillment, buyer details, and payment.
  • The merchant remains the merchant of record. The buyer must still confirm the total and payment method before a purchase is completed.
  • When the UCP 2026-08-25 buyer-consent extension is negotiated, an agent can present store-specific choices for analytics, preferences, sale or sharing, and email or SMS marketing.
Concept showing product discovery, cart building, buyer approval, secure payment, and order tracking with Shop MCP
The key control point is the buyer approval gate between product selection and payment.

What Shop MCP changes

Many shopping assistants can recommend a product but lose context when they send the buyer to a merchant website. Shop MCP connects Shopify Catalog search, product lookup, carts, checkout, Shop sign-in, Shop Pay, and order search through one MCP service. A compatible client can use the public service directly instead of building a separate integration for every catalog action.

That does not mean every order can finish inside an agent. A checkout can require authentication, a payment challenge, policy review, or another merchant-side step. Non-terminal checkout states normally include a continue_url so the agent can hand the buyer to the merchant's prefilled checkout. The agent should treat that handoff as an expected safety boundary, not an error to bypass.

Shop MCP is also different from a deep integration with one storefront. Public catalog discovery can start without credentials. Store-specific Cart MCP and Checkout MCP flows use UCP capability negotiation, authentication, and the merchant's own rules. Shopify says existing Catalog API integrations do not need an immediate change just because Shop MCP is available.

Before you connect it

  1. Node.js and npm: Shopify's shop CLI provides a quick way to inspect search results before an agent receives any purchase capability.
  2. An MCP-compatible client: Use a client that can add a remote HTTP MCP server or read an external skill description. The exact menu or configuration file differs by product.
  3. A low-risk test plan: Begin with search, price, availability, and variant comparison. Do not start with a live checkout or customer data.
  4. An authentication plan: Search does not require credentials, but Checkout MCP needs a bearer token or a signed request. A custom app may also need an API key from Shopify's Dev Dashboard and the appropriate sign-in flow.
  5. A buyer-approval checklist: Decide when the agent must display the merchant, item, variant, quantity, shipping destination, total, and payment method again.

Step 1: Test read-only search in a terminal

Install Shopify's CLI and run a catalog query before adding the MCP server to a capable agent:

npm install -g @shopify/shop
shop search "ceramic coffee dripper"

A useful result should identify the selling store, current price, and availability. Do not stop at “the command returned data.” Try a few queries with budget, use case, and destination constraints. Check how unavailable variants, incomplete prices, and multiple merchants are represented. Those fields determine whether your agent can compare products honestly.

If results are empty, shorten the query, remove regional constraints, verify the CLI version, and confirm network access. Adding credentials to a public search is not the first troubleshooting step.

Step 2: Connect the MCP service

Shopify provides two entry points. If your client can read skill descriptions, give it https://mcp.shop.com/skill.md. If it supports remote MCP servers, add https://mcp.shop.com as the server URL. Because client interfaces vary, verify the endpoint and tool list rather than copying a configuration path from a different product.

Start with an explicitly read-only request:

Find portable espresso makers under $100.
Return the merchant, current price, availability, shipping country,
and important variant choices in a table.
Do not create a cart, sign in, or start checkout.

There are three completion checks. First, catalog-related tools should be visible to the client. Second, results should connect each product to its merchant and variants instead of returning titles alone. Third, the client should not open a cart or authentication flow when you did not ask for one. If the agent mixes web-search results with Shop MCP records, require a source field on every row.

Step 3: Keep product selection separate from checkout

Going directly from search to checkout makes it harder to change quantity, color, size, or merchant. Use Cart MCP when the buyer may continue comparing. The main tools are create_cart, get_cart, update_cart, and cancel_cart. A cart can hold line items, localization context, and buyer information while the conversation continues.

The important implementation detail is that update_cart uses PUT semantics. It replaces the cart's full state rather than patching one field. If you send only a newly selected item, omitted items can disappear. Read the latest state with get_cart, merge the intended changes, and send the complete cart back.

A cart permalink is the simpler alternative. The catalog can return a checkout_url for a variant, letting the buyer open a prefilled merchant checkout. Use that path when the agent does not need to manage a long-running cart.

Step 4: Build a checkout with an approval gate

Once the buyer confirms the items and quantities, call create_checkout. You can convert an existing cart by passing its cart_id. Shopify documents this conversion as idempotent: calling create_checkout again with the same cart ID returns the same incomplete checkout. Persisting the cart and checkout identifiers helps prevent accidental duplicates.

Read every response's status and messages. States such as incomplete, requires_escalation, and ready_for_complete are not successful orders. They generally include a continue_url for a merchant-side step. Authentication, fulfillment selection, payment challenges, and required reviews should be completed through the supported flow.

Before complete_checkout, display these values again:

  • Product, variant, quantity, and selling merchant
  • Item subtotal, shipping, tax, discounts, and final total
  • Delivery address and selected fulfillment method
  • Payment method plus cancellation and return-policy links

Saved Shop Pay details make checkout faster, but they do not replace purchase consent. Call the completion tool only after the buyer clearly approves the final total and payment method.

Official Shopify UCP flow from catalog discovery through cart and checkout to merchant handoff
Shopify's documented UCP flow authenticates the agent, discovers products, optionally builds a cart, creates a checkout, and hands the buyer to the merchant when needed. Source: Shopify Developers, checked October 19, 2026.

Step 5: Negotiate buyer consent

Cart MCP and Checkout MCP support the dev.ucp.shopping.buyer_consent extension for UCP 2026-08-25. Your platform profile must declare the extension, and it must be successfully negotiated with the storefront. When active, responses include a buyer.consent object describing the purposes the shop supports, their current states, explanatory text, and policy links.

Shopify storefronts advertise purposes for analytics, preferences, sale or sharing, and marketing. Marketing can be divided into email and SMS segments. Present the merchant-provided explanation and policy links rather than replacing them with a vague “accept marketing” toggle. Send source: "platform" only for choices the buyer actually made in your flow.

Some choices require contact information. An SMS opt-in without a phone number can produce a missing_consent_data warning, and the checkout cannot complete until the required detail is supplied. Do not fabricate the missing value or silently change the consent choice. Explain what is missing, collect it from the buyer, and retry. If the buyer's country is unknown and no choice is supplied, consent defaults to opt-out.

Three practical patterns

1. Anonymous gift research

The goal is to narrow a shortlist, not purchase. Collect the budget, destination country, recipient needs, and excluded materials. Use only search_catalog and get_product. The output should be a comparison table with merchant, availability, variant options, and price. Review it for out-of-stock items and unclear total cost. Do not create a cart or open Shop sign-in.

2. A cart that spans several conversations

Use Cart MCP when the buyer may revisit choices over several hours or sessions. Call get_cart before every replacement update, preserve unchanged lines, and show the revised estimated total. Make it clear that taxes, shipping, or availability can change at checkout. Convert the cart only after the buyer confirms the final selection.

3. Order lookup after payment

A signed-in shopper can ask the agent to find an order or tracking information. Narrow the request by date or merchant so the agent does not expose an unnecessary order history. Return the order number, current status, and tracking link. Show addresses or payment details only when they are needed for the user's stated purpose.

Cost, permissions, and operational limits

  • Public catalog search does not require an API key. Authenticated checkout and order features require the appropriate credentials.
  • Tool access and rate limits can change with the way the agent identifies and authenticates itself.
  • The merchant remains the merchant of record. The agent does not become responsible for tax, refunds, product fulfillment, or merchant policies.
  • Shopify says there are no checkout-status webhooks at launch. Poll get_checkout with a bounded retry interval and a clear timeout instead of running a tight infinite loop.
  • Product pages, merchant content, emails, and connected data can contain malicious instructions. Treat them as untrusted data, not as authority to change system rules or use additional tools.

Troubleshooting checklist

ProblemCheck firstNext action
No search resultsQuery, country filters, CLI version, networkRetry a short general query with public search
Profile negotiation failsHTTPS profile URL, UCP version, declared capabilitiesTest a minimal Shopify profile before adding extensions
Cart lines disappearWhether the full state was sentCall get_cart, merge lines, then replace the cart
Consent data is missingmissing_consent_data warningCollect the required contact detail and retry
Checkout does not finishstatus, messages, continue_urlHand the buyer to the merchant checkout

Final recommendation

Shop MCP is useful because it connects discovery, cart management, checkout, and order lookup while preserving a merchant-controlled purchase flow. Roll it out in layers: inspect public search data with the CLI, add a read-only MCP connection, test cart replacement behavior, and enable authenticated checkout only after buyer confirmation and consent handling are explicit.

For another example of designing permissions around an MCP service, see the WhatsApp Business Tools MCP guide.

한국어판: 한국어로 이 글 읽기

Official sources

Sources checked: October 19, 2026

Comments

Popular posts from this blog

Codex CLI 0.163.0 Guide: Steer Active Turns, Search Settings, and Verify Security

WhatsApp Business Tools MCP Guide: Set Up Messaging with Codex or Claude