Fictional example

A sample Shopify storefront check

Northstar Outdoor and every observation in this report are invented. This example shows how product comparisons, shopping-journey evidence and a correction plan are presented.

Illustrative report date: 6 September 2026, the delivery date in the engagement record below. Every other date in the example belongs to the same invented engagement. This page itself was last revised on 2 October 2026.

What to fix first

Two of the three tested products need attention. The remote catalog shows one price 2 EUR higher than the storefront. The Agentic preview marks one variant unavailable even though the storefront sells it.

The browser cart worked in the agreed anonymous session, and the checkout handoff reached the right store. No customer details were entered, no payment was submitted and no order was created.

Contents

The agreed work

FieldValue
MerchantNorthstar Outdoor, invented D2C outdoor equipment store on Shopify
Storefrontnorthstar-outdoor.example, the .myshopify.com domain redacted in this sample
Market, language, currencyFinland, fi-FI, EUR
Products in scopeTrail Bottle 750 ml, blue. Merino Base Layer, size M. Camp Mug, green
Buyer searches in scopeFive, listed under the buyer journey
Preflight2026-09-04, public read-only. An observable agent commerce surface was found, so the check was sold
Written kickoff2026-09-05 at 09:00 EEST, after preflight, payment and settings evidence
Test session2026-09-05, one clean supported Chromium session, one anonymous shopper
Package delivered2026-09-06 at 15:40 EEST, 30 hours and 40 minutes after the kickoff
Retest windowUntil 2026-09-20, up to two corrected items
Access usedPublic storefront surfaces and redacted settings screenshots from the merchant. No Admin login, no credentials, no customer data

The three interfaces

The table shows what could be checked on each interface, using the same products in the same session.

SurfaceStatusWhat was verifiedWhat was not
Browser WebMCP, in the shopper's live storefront tabPresentTen tools registered on navigator.modelContext: browse_store, search_catalog, get_product, show_variant, update_cart, get_cart, cancel_cart, proceed_to_checkout, search_shop_policies_and_faqs and manage_orders. Eight were called within scope. One anonymous cart built and emptied.manage_orders and browse_store were not called, and proceed_to_checkout was called once for the permitted navigation only. No customer account was opened.
Shopify-hosted Storefront Catalog MCP and Cart MCP on /api/ucp/mcp, and the Policy and FAQs tool on /api/mcpPresentCatalog search and product read answered at protocol level on /api/ucp/mcp. On /api/mcp, the Policy and FAQs tool answered. The check created one remote cart with the blue Trail Bottle through the Cart MCP tool create_cart and cancelled it with cancel_cart, without a buyer identity.Checkout MCP was not reached, by scope.
Shopify Catalog and Agentic storefront channelsPresentCatalog access on, auto-enrolment of new products on, one channel active, read from the merchant's redacted settings evidence. Catalog search preview run for the three products.Channel ranking or sales were not measured. Settings were not changed.

These labels describe the test session, not a certification, an endorsement or a security claim.

Product information compared

The table compares the product, variant, price, currency, availability and policy facts in the same market, language, currency and test window. A difference was reproduced before being marked Mismatch.

Product and variantStorefront pageBrowser WebMCPStorefront Catalog MCPAgentic Catalog previewResult
Trail Bottle 750 ml, blue29,90 EUR, in stock29,90 EUR, in stock31,90 EUR, in stock29,90 EUR, in stockMismatch, remote price
Merino Base Layer, M79,00 EUR, in stock79,00 EUR, in stock79,00 EUR, in stock79,00 EUR, unavailableMismatch, variant eligibility
Camp Mug, green18,50 EUR, in stock18,50 EUR, in stock18,50 EUR, in stock18,50 EUR, in stockAligned

Each row compares one variant. The three tool interfaces returned the same product title and the same variant ID for it, and the catalog preview showed the same title and option:

Product and variantVariant IDTitle returned
Trail Bottle 750 ml, bluegid://shopify/ProductVariant/100000000001Trail Bottle 750 ml
Merino Base Layer, Mgid://shopify/ProductVariant/100000000002Merino Base Layer
Camp Mug, greengid://shopify/ProductVariant/100000000003Camp Mug

The 30-day return window, free shipping above 80 EUR and the delivery estimate of two to four working days matched across the storefront, the WebMCP policy tool and the remote Policy and FAQs tool on /api/mcp. The Agentic Catalog preview has no policy fields, so their absence is not a mismatch.

The price difference was reproduced at 11:20 and 14:05 EEST. The merchant's redacted settings screenshot shows the M variant's Agentic eligibility switched off. According to the merchant's written note at the kickoff, every product in scope was meant to be sellable in that channel. No settings were changed during the test.

The shopping journey

Each row records the tool, the input, the result and the cart state for the five buyer searches and the cart test, with the remote reads and the catalog preview between them. It also shows exactly where testing stopped.

StepTool and inputObserved resultCart stateStatus
Search 1, "light bottle for a day hike"WebMCP search_catalog, fi-FITrail Bottle 750 ml returned first, blue variant listed with price and stockEmptyAligned
Search 2, "merino base layer size M"WebMCP search_catalogMerino Base Layer returned, M variant listed as in stockEmptyAligned
Search 3, "camp mug green"WebMCP search_catalogCamp Mug returned, green variant listedEmptyAligned
Search 4, "waterproof jacket"WebMCP search_catalogTwo jackets returned, both outside the scope, no claim recordedEmptyObserved
Search 5, "return and shipping policy"WebMCP search_shop_policies_and_faqs30-day return window, free shipping above 80 EUR and a delivery estimate of two to four working days returned, matching the storefront policy pageEmptyAligned
Remote catalog searchStorefront Catalog MCP search_catalog on /api/ucp/mcp, "trail bottle", Finland EURTrail Bottle 750 ml returned first, blue variant at 31,90 EUR, in stockEmptyMismatch, remote price
Remote product readStorefront Catalog MCP get_product, Trail Bottle, blue variantSame title and variant ID as the storefront, 31,90 EUREmptyMismatch, remote price
Remote policy readPolicy and FAQs tool search_shop_policies_and_faqs on /api/mcp, "return and shipping policy"30-day return window, free shipping above 80 EUR and a delivery estimate of two to four working days, matching the storefront policy pageEmptyAligned
Remote product read, Merino Base Layer MStorefront Catalog MCP get_product, M variantSame title and variant ID as the storefront, 79,00 EUR, in stockEmptyAligned
Remote product read, Camp Mug greenStorefront Catalog MCP get_product, green variantSame title and variant ID as the storefront, 18,50 EUR, in stockEmptyAligned
Agentic Catalog previewCatalog search preview for the three products, from the merchant's redacted screenshotsTrail Bottle and Camp Mug sellable, Merino Base Layer M unavailableEmptyMismatch, variant eligibility
Product detailWebMCP get_product and show_variant, Trail Bottle blueMaterial, volume, price 29,90 EUR and stock matched the storefront pageEmptyAligned
Add to cartWebMCP update_cart, one blue Trail BottleCart line created, quantity 1, line price 29,90 EUROne line, 29,90 EURAligned
Cart readWebMCP get_cartOne line, 29,90 EUR, matches the visible storefront cart drawerOne line, 29,90 EURAligned
Checkout handoffWebMCP proceed_to_checkout, the one permitted navigationLanded on the store's own checkout page, correct store, correct lineOne line, 29,90 EURObserved
Payment and orderNoneNo form filled, no payment method entered, no order created. This is the stopOne line, 29,90 EURNot tested
Remote UCP cartCart MCP create_cart, one blue Trail Bottle, quantity 1, fi-FI Finland EURRemote cart created with a 31,90 EUR line price and a 31,90 EUR subtotal, the same 31,90 EUR the remote catalog returned in the comparison aboveSeparate remote cart, one lineMismatch, same price difference as the remote catalog, cause not confirmed
CleanupWebMCP cancel_cart. Cart MCP cancel_cartBrowser cart empty, storefront drawer empty, remote cart cancelledEmptyAligned

The checkout handoff was one navigation to the checkout page. It was not a payment or an order. The remote cart was a separate test. It returned the same 31,90 EUR as the remote catalog, and the session did not establish that the two share a cause. C1 checks the Finland market price list assignment first, as the explanation to confirm or rule out.

What to change

This plan contains three changes, ordered by their effect on the buyer. Each has an owner and a check the merchant can repeat. The plan carries up to five.

C1. Align the remote catalog with the Finnish price list

What was found. The blue Trail Bottle is 31,90 EUR in the remote catalog and in the remote cart, compared with 29,90 EUR on the storefront and in the browser tools. The session recorded the same difference on both remote surfaces and did not establish why. The market price list assignment in the change below is the explanation to check first.

Who makes the change. The merchant's Shopify Markets and product-data owner.

What to change. Check that the Finland market price list is published to the remote catalog, then republish it. If the remote interface uses the default list, correct the market assignment rather than changing the product price. If the Finland list is already published and assigned, the difference has another cause, and C1 stays open until it is found.

How to check. Within one hour, the same variant must return 29,90 EUR on the storefront, in the WebMCP product response and in the Storefront Catalog MCP response, using the fi-FI Finland EUR context. A remote cart is then created with Cart MCP create_cart for the same variant, quantity 1, in the same market and currency. Its unit price and its line subtotal must both read 29,90 EUR, which the cart returns as 2990 in minor units. The cart is cancelled with cancel_cart and kept apart from the browser cart, and the check stops before Checkout MCP. C1 stays open while the cart price differs. If the cart cannot be created, its reading is Unknown and C1 does not close on the other three readings.

C2. Make the M variant available in the Agentic Catalog

What was found. The Merino Base Layer in size M is available on the other tested interfaces but marked unavailable in the Agentic Catalog preview. An AI channel using that catalog may omit it. The settings screenshot shows the variant's eligibility switched off, and the kickoff note says no product in scope was meant to be left out, so the change below restores the intended setting.

Who makes the change. The merchant's Agentic settings and catalog-mapping owner.

What to change. Update the variant's eligibility and republish the mapping.

How to check. After the propagation time stated in the settings page, the M variant reads as sellable in the Agentic Catalog preview, in the same market, language and currency as the comparison table. A public agent answer is not part of this check: an AI channel can keep an older copy of the catalog, and this report does not promise when it refreshes.

C3. Repeat the comparison after catalog changes

Why this matters. Later price-list, market or theme changes may introduce new differences. A repeat check can help the team detect them.

Who makes the change. The merchant's e-commerce operations team.

What to change. Keep these three products as test cases. Compare them across the three interfaces after each relevant publication, using the tool calls recorded above.

How to check. For each product, compare its identity, variant, price in minor units, currency and availability across every interface that provides those fields.

Changes not needed in this test

Beyond C1 to C3, no theme, app or product-data changes were identified for the three products in scope. The WebMCP inventory matched the ten platform-provided tools, so no missing tool was recorded.

Scope and unresolved items

Checking the corrections

The retest is pending. C1 and C2 are the two items selected for it, and it is due by 2026-09-20, fourteen days after the first package was delivered on 2026-09-06. A further retest is bought as a new check. It is checked once, using the same tools, market, language and currency as the session above.

Retest itemWhat is checkedTest dateResult
C1The blue Trail Bottle returns 29,90 EUR on the storefront, in the WebMCP product response and in the Storefront Catalog MCP response, and a remote UCP cart for the same variant, quantity 1, Finland market and EUR reads a 29,90 EUR unit price and subtotal before it is cancelledPendingPending
C2The Merino Base Layer in size M reads as sellable in the Agentic Catalog previewPendingPending

Each item is then marked Aligned, Mismatch or Unknown. If an interface cannot be read, the result is Unknown. The product comparison above shows the original session on its own until the retest has been run, and the retest result is printed beside it once there is one.

Scope limits

This is not a Shopify certification, an endorsement by Shopify, a penetration test or a promise of sales through any AI channel. A browser observation is not a remote MCP interface, and a navigation to the checkout page is not a payment or an order. The check reads what an AI shopper receives from one store in one session and records it.

About this sample

The store, products, prices and results are fictional. The interface names, status labels and report format show what the service delivers.

A real report includes timestamped tool calls and the merchant's redacted settings evidence.

The check is described on its product page. To start one, email info@turva.dev with the storefront URL, the .myshopify.com domain, the primary market and up to three priority products. The agent-readiness audit has its own sample report.