Agent Commerce Research June 14, 2026

Can AI agents shop your Shopify store? We checked the top brands.

We ran the real agent-shoppability checker — live HTTP scans, no estimates — on six major Shopify brands: Gymshark, Allbirds, Bombas, Ruggable, Mejuri, and Brooklinen. The scores range from 0 to 76. Four out of six score an F. Every single brand scores zero on MCP. Here is exactly what we found, why it matters in 2026, and what any Shopify merchant can do today.


The 2026 context: AI agents are shopping now

This is not a future-tense story. In 2026, AI shopping agents — built on GPT-4o, Claude, and Gemini — are actively browsing, selecting, and initiating purchases on behalf of users. The rails that make a store agent-transactable are already live and standardized:

The important nuance: Shopify auto-generates agents.md, /llms.txt, and /.well-known/ucp for current storefronts. Most Shopify stores have the discovery layer by default. What they almost universally lack is the transactability layer: schema.org Product + Offer JSON-LD on product pages, machine-readable pricing, GTIN identifiers, and MCP endpoints. That gap is what our checker measures.

What our checker actually scans: We fetch seven real endpoints — /agents.md, /llms.txt, /.well-known/ucp, /products.json (sampling GTIN/price/availability), a real product page for schema.org markup, machine-readable pricing signals, and /mcp — and score each from the actual HTTP responses. The HTTP status codes and byte sizes for every fetch are recorded. Nothing is estimated.

The results: six brands, real scores

Brand Score Grade Key gap
Allbirds 76 B Missing schema.org Product; no GTIN; no MCP
Gymshark 53 C No schema.org Product/Offer; no machine pricing; no MCP
Brooklinen 37 D Product feed too large to parse; no schema; no machine pricing
Mejuri 12 F products.json 404; no agents.md; no llms.txt; no schema
Bombas 0 F Every agentic endpoint returns 404 — zero signals detected
Ruggable 0 F Every agentic endpoint returns 404 — likely headless architecture gap

Grade scale: A ≥ 80 · B ≥ 65 · C ≥ 50 · D ≥ 35 · F < 35. The top score in this set is 76 (Allbirds). Two brands score a hard zero. Every brand in the set is missing the MCP endpoint that would make them natively transactable by any compliant AI agent.

4 / 6
brands score F (below 35) on agent-shoppability
6 / 6
brands score zero on MCP — the next-gen transaction interface
5 / 6
brands have zero GTIN on any product variant
76
highest score (Allbirds) — still missing Product JSON-LD

Brand-by-brand: what the real data shows

76
B

Allbirds

Best in this set. Has machine-readable pricing and Offer schema. Still missing Product JSON-LD and MCP.
agents.md (200)
llms.txt (200)
UCP (200)
products.json (200)
schema.org Offer
machine pricing
machine availability
schema.org Product
GTIN (0%)
MCP endpoint

Allbirds is the best performer in this set by a significant margin. Their discovery layer is complete: agents.md (4,237 bytes, HTTP 200), llms.txt (4,280 bytes), and UCP all live. Their /products.json returns a full parseable feed (109 KB sample). Critically, the product page checker found schema.org Offer JSON-LD including price, availability, and currency — the only brand in this set to have machine-readable pricing on a product page. The gap keeping them from an A: no schema.org Product wrapper (the Offer exists but is not nested inside a Product entity, so AI agents cannot reliably identify the item type), zero GTIN on any of the 20 sampled variants, and no MCP endpoint. The Product JSON-LD fix is a single Shopify theme edit.

53
C

Gymshark

Complete discovery layer. Product feed with 100% price + availability data. But zero schema on product pages.
agents.md (200)
llms.txt (200)
UCP (200)
products.json (200)
schema.org Product
schema.org Offer
machine pricing
GTIN (0%)
MCP endpoint

Gymshark has the discovery layer fully in place: agents.md (4,291 bytes), llms.txt (4,334 bytes), and UCP all return HTTP 200. Their /products.json returns a 120 KB sample with 100% price coverage and 100% availability across 20 sampled variants. The product page we checked — /products/gymshark-pumper-pants-pants-orange-ss26 — returned HTTP 200 with 52 KB of content. But when the checker parsed that page for schema.org JSON-LD, it found zero Product markup and zero Offer markup. An AI agent that lands on a Gymshark product page cannot reliably extract the price or confirm the item's identity from structured data. It has to parse raw HTML — which agents do inconsistently and unreliably.

37
D

Brooklinen

Discovery layer intact. Product feed response is 533 KB for 20 products — too large to parse. No schema.
agents.md (200)
llms.txt (200)
UCP (200)
products.json (oversized)
schema.org Product
schema.org Offer
machine pricing
MCP endpoint

Brooklinen has the discovery layer in place — agents.md, llms.txt, and UCP all return HTTP 200 — which accounts for their 37 points. The problem is their /products.json?limit=20 response: it came back at 532,912 bytes (533 KB). That is more than four times the expected size for a 20-product sample. This payload size indicates oversized variant metafields or embedded data in their product catalog. The checker could not reliably parse GTIN, pricing, or availability from it, so the product feed score is zero. Because the feed failed to parse, no product page URL was extracted for schema checking, so schema also scores zero. The fix is straightforward: trim variant metafields or paginate the feed.

12
F

Mejuri

Has UCP (12 pts). Everything else missing or blocked. A deliberate catalog-lock decision with steep AI costs.
UCP (200)
agents.md (404)
llms.txt (404)
products.json (404)
schema.org Product
schema.org Offer
machine pricing
MCP endpoint

Mejuri is the most instructive F in the set. Their /.well-known/ucp returns HTTP 200 (4,139 bytes) — the sole source of their 12 points. Everything else is a 404. Their /agents.md (404), /llms.txt (404), and /products.json (404) are all absent. The product feed block is particularly consequential: without a parseable catalog, an AI agent cannot make product recommendations, cannot quote prices, and cannot verify availability. Mejuri appears to be on a current Shopify plan (UCP is auto-generated by Shopify for current plans), but has separately removed or blocked the other agentic endpoints. For a fine jewelry brand where product discovery is the entire buying journey, this is a significant gap.

The catalog-lock trade-off: Locking /products.json is a reasonable competitive decision for brands protecting pricing from scrapers. But the cost in 2026 is total AI-agent blindness to your catalog. AI shopping agents that rely on structured feeds to build product understanding get nothing.
0
F

Bombas

Score: 0/100. Every agentic endpoint returns 404. Not a single signal detected.
agents.md (404)
llms.txt (404)
UCP (404)
products.json (404)
schema.org Product
schema.org Offer
machine pricing
MCP endpoint

Bombas scores zero. Every agentic endpoint — /agents.md, /llms.txt, /.well-known/ucp, /products.json, /mcp — returns HTTP 404. Their homepage is live (1.46 MB, HTTP 200), so the store is running. But none of the agentic discovery or transaction endpoints are served. Bombas appears to be on a Shopify configuration where the automatic generation of these files has been overridden, or a CDN/routing layer is stripping these paths. An AI agent sent to shop at Bombas today finds nothing it can use.

0
F

Ruggable

Score: 0/100. All 404s return 420 KB — classic headless SPA shell. Likely a headless architecture gap.
agents.md (404)
llms.txt (404)
UCP (404)
products.json (404)
schema.org Product
schema.org Offer
machine pricing
MCP endpoint

Ruggable scores zero. Their homepage is live (417 KB, HTTP 200). Every agentic endpoint returns 404 — and each 404 page is 420 KB, consistent with a custom app shell that serves the SPA for all unknown routes. This is a classic headless Shopify signature: a React or Next.js frontend where all unmatched paths return the SPA shell. In this architecture, Shopify's default agents.md and llms.txt generation does not automatically carry over to the custom frontend domain. These files need to be explicitly published at the CDN/web server level. This is a common blind spot for teams that migrate to headless commerce: the Shopify backend has the files, but the custom frontend domain does not serve them.

Headless commerce blind spot: Teams that migrate to headless Shopify (Hydrogen, custom React frontends) often lose the automatic agentic file generation that Shopify provides to standard storefronts. The fix is a set of static files added to the CDN root — not a complex engineering project — but it requires knowing the gap exists.

What the pattern tells us

Across six major Shopify brands, three distinct failure modes emerge:

1. Discovery layer present, transactability layer absent (Gymshark, Allbirds, Brooklinen). These brands have agents.md, llms.txt, and UCP in place. An AI agent can discover them. But the page-level signals that make a store actually transactable — schema.org Product + Offer JSON-LD, machine-readable pricing, GTIN identifiers — are largely absent. The agent can browse but cannot buy with confidence.

2. Deliberate or accidental endpoint blocking (Mejuri, Bombas, Ruggable). These brands score 0–12 because their agentic endpoints are not reachable. For Mejuri, the /products.json block appears intentional. For Bombas and Ruggable, the pattern looks like a CDN or headless architecture decision that never accounted for agentic discovery. In all three cases, the stores are invisible to AI shopping agents at the catalog level.

3. Zero MCP, universally. Not one of the six brands had a detectable MCP endpoint. MCP-native Shopify integration is early in 2026, but the brands that are first to publish an MCP endpoint will have a structural advantage when agent-native commerce becomes the default shopping mode.

The core insight: Shopify has already done the heavy lifting to give current-plan stores a discovery layer. The gap that separates a 0 from a 76 is not infrastructure — it is the page-level structured data (schema.org Product + Offer) and catalog accessibility (products.json parseable, GTIN populated) that merchants control directly in their theme and admin settings.

The agent-shoppability checklist


The standards in plain language

Full explainer with implementation details: Agent-Commerce Readiness: How AI Agents Shop in 2026.


Methodology. All six scans were performed on 2026-06-14 via the Hatchloop Agent-Commerce Readiness API (GET /api/v1/agent-commerce-check?url=<store>). The checker fetches seven public endpoints per store: /agents.md, /llms.txt, /.well-known/ucp, /products.json?limit=20 (sampling GTIN, price, and availability across variants), a product page (for schema.org Product + Offer JSON-LD), machine-readable pricing meta tags, and /mcp. Scores are computed from actual HTTP response bodies and status codes. No scores are fabricated or estimated. The API disclaimer: “Score computed from real HTTP fetches of the store public endpoints. No scores are fabricated. Signals checked: /agents.md, /llms.txt, /.well-known/ucp, /products.json (GTIN/price/availability), schema.org Product+Offer JSON-LD on product page, machine-readable pricing, MCP endpoint hint.” Raw evidence including HTTP status codes and byte sizes for every fetch is available in the API response. All six stores confirmed as Shopify storefronts by platform detection signals. Scanned at: gymshark 2026-06-14T16:43:22Z, allbirds 2026-06-14T16:43:23Z, bombas 2026-06-14T16:43:36Z, ruggable 2026-06-14T16:43:38Z, mejuri 2026-06-14T16:43:40Z, brooklinen 2026-06-14T16:44:25Z.

How does your store score?

Run the same agent-shoppability checker on your own Shopify store. Real scans, no fabricated estimates. You get a 0–100 score across every signal in this post, plus a ranked fix list. Free, no signup, results in under 60 seconds.

Check your agent-shoppability score →

Free · No account needed · Works on any public Shopify storefront

Also check: AI-Visibility (AEO) Checker — scores your store for ChatGPT, Perplexity & Google AI citation.