A store can expose a product-search tool and still disappear from the shopper’s shortlist. The tool may return something, the assistant may write a convincing recommendation, and the one variant that meets the request may never appear. A translated storefront makes that possibility harder to see: an English request and a natural Chinese request can travel through different search terms, locale settings, and fallback behavior.
On October 21, Cloudflare and Commerce.com announced a WebMCP integration for BigCommerce storefronts. That is a useful reason to examine discovery before enabling more shopping actions. The proposed experiment here asks a narrow question: does the tool route preserve access to qualifying products across the two language experiences your team intends to ship?
This is a test design, not a report of an integration we ran. No merchant store, browser agent, or paid model was tested for this article. The catalog, counts, budgets, and decision rules below are author-designed starting points. They can expose a failure worth repairing; they cannot establish conversion lift or rank today’s shopping agents.
1. Read the rollout as availability, then inspect your store
Cloudflare’s announcement describes edge delivery across Commerce.com’s almost 100,000 domains, with merchant opt-outs. It also calls WebMCP an experimental proposed browser standard, available through testing flags, origin trials, and some agent environments. A platform rollout is not evidence that every visitor has a compatible browser or every store exposes shopping tools.
The Commerce.com announcement places browser-based product discovery and cart preparation on the merchant’s own store, with checkout remaining on the storefront. Those are first-party descriptions of the intended flow, not independent evidence of search quality. This experiment stops at a shortlist, before cart changes or purchase authority become relevant.
There is a consequential setup distinction in BigCommerce’s WebMCP documentation: eligible storefronts can have the bridge enabled while shopping tools depend on server-side Storefront MCP being enabled. Default image tools alone do not demonstrate product search. Inspect the registered tool list in the exact storefront and session you intend to test. Save the search and product-detail schemas, their descriptions, and the inspection time.
Record browser version, agent build, model, channel, session type, and enabled locale. Chrome’s documentation describes the origin trial and local testing flag; it also says clients must visit a site to discover its tools. This article evaluates discovery within a visited store. It does not test whether a general assistant will choose to visit that merchant from the wider web.
2. Separate tool discovery, retrieval, and recommendation
WebMCP gives an agent structured functions exposed by a page. The original project explainer describes JavaScript tools with descriptions and schemas, enabling cooperation with the page’s current context. That structure helps specify an interaction. It does not supply a relevance judgment for a customer’s request.
Use three separate terms in the test. Tool discovery means the expected callable surface is present. Retrieval means the search path returns candidate products. Recommendation means the agent selects and describes a particular product or variant as satisfying the request. These stages can disagree. A candidate can be retrieved and discarded incorrectly; a parent product can be retrieved while its eligible variant is missed; an unqualified item can be confidently recommended.
Define a qualifying variant as a catalog entry satisfying every explicit hard requirement under the frozen shopping context. Define a miss as failing to recommend any qualifying variant when at least one exists. Define a false fit as recommending any variant as meeting the request when it violates a hard requirement. A response can contain both a correct suggestion and a false fit. Count both facts.
The merchant’s visible search is a comparator, not the answer key. It might also miss products. The reference comes from an independently checked catalog snapshot. Nor must the two routes produce identical rankings: several products can be legitimate choices. The question is whether each route can deliver a supported shortlist under the same customer constraints.
3. Build one small catalog whose answers are knowable
Imagine a fictional bilingual bag store, Northline. In a staging storefront, it has 30 sellable variants across backpacks, totes, and organizers. Each variant has a stable ID, parent ID, SKU, color, capacity, price, stock state, and explicit compatibility attributes where applicable. English and Chinese product names describe the same underlying items. This is a proposed fixture, not a real merchant or a claim about a platform’s default data.
Take a request such as “Find a black commuter backpack, at most USD 80, with a listed 14-inch laptop compartment.” The Chinese counterpart could be “找一款黑色通勤背包,价格不超过80美元,并且商品资料明确支持14英寸笔记本。” A bilingual reviewer should confirm equivalent requirements, rather than preserve word order. Keep currency and budget identical. Changing dollars into yuan would change the task.
Suppose synthetic variant N14-B costs USD 76 and meets all three requirements. N14-G is gray; N16-B costs USD 92; N12-B has no listed laptop compatibility. Only N14-B qualifies. An attractive parent-product description cannot make the gray variant black, and the model must not infer laptop fit from a photo. Build similarly unambiguous records for every case.
Before running an agent, have a second person enumerate all qualifying variant IDs for each request from the catalog export. Check those records against the staging product details. Resolve disagreements and freeze the labels. Give the agent ordinary shopper-visible data, not the answer key. Keep an immutable copy of both catalog languages, availability, prices, and channel assignment. If any changes during a comparison, invalidate the affected pair and rerun both routes after refreezing.
4. Use language pairs that stress the search contract
Create 24 information needs, each expressed naturally in English and Chinese. Twenty should have at least one qualifying variant; four should have none. The following six families supply four needs each. These counts describe workload design, not a statistically representative sample of shoppers.
| Family | What the four cases vary | What the labels must establish |
|---|---|---|
| Exact product identity | Names, model codes, translated labels | Matching IDs despite different display names |
| Multiple constraints | Color, explicit capacity, budget | Full conjunction, not one attractive attribute |
| Short category requests | Short Chinese headwords and English equivalents | Whether a valid search formulation preserves intent |
| Variant distinctions | Eligible and ineligible siblings | Correct variant rather than parent-level plausibility |
| Deeper candidates | Relevant items beyond an initial result page | Whether the bounded search reaches a qualifying item |
| Genuine no-match requests | Absent combinations with close alternatives | Honest absence without inventing a fit |
There is a useful contract question here. The current B2C MCP reference specifies a required term of at least three characters, an optional pagination cursor, and product details containing variants and SKUs. A Chinese category such as “背包” has two written characters. That makes short terms a diagnostic case, not proof that a running server rejects Chinese: the actual schema, validation, counting behavior, and the agent’s reformulation still need inspection.
Do not pad a query with meaningless characters or secretly translate every request to English. If the agent reformulates “背包” into “通勤背包,” record that it added a commuter constraint. If it chooses another equivalent valid phrase, preserve the exact term and ask the bilingual reviewer whether meaning changed. Follow the registered schema rather than copying filter arguments from an announcement’s illustrative pseudocode. The B2C reference does not list dedicated price or size inputs for search_products.
For the deeper-candidate family, confirm placement in a preliminary diagnostic retrieval and freeze the fixture afterward. If a route does not expose stable pagination, label that condition accurately rather than asserting the fourth page exists. The qualifying item must be reachable within the later three-search budget; an initial page plus one or two advances is sufficient. If the 30-variant fixture fits on a single page for every relevant query, mark this family unsupported and redesign the fixture before scoring rather than claim a pagination test. Keep diagnostic calls separate from scored agent sessions, and never seed the agent with the successful query they reveal.
5. Compare four conditions without silently mixing routes
Cross two language experiences with two interaction routes: English/page, English/WebMCP, Chinese/page, and Chinese/WebMCP. A language experience includes both the request language and the intended storefront locale. This design estimates the route difference within each language experience. The English–Chinese difference cannot isolate translation quality from locale configuration or model language behavior; those require follow-up interventions.
For the page condition, use the same agent through the visible storefront UI with WebMCP invocation disabled. For the tool condition, allow registered read-only search and detail tools but prevent UI search and cart writes. Opening the initial store page is allowed in both. Use a harness that can enforce and log those restrictions. If a run crosses that restriction, label it mixed-route and score it as a non-success in the assigned-route comparison, even if its shortlist is correct. Do not pretend a verbal instruction proved compliance. If the harness cannot enforce or observe routes at all, stop the route experiment; the result can only describe a mixed-route product.
Use the same model version and reasoning setting, the same public guest account state, currency, inventory snapshot, and output instruction. Ask for up to three qualifying variants with stable product links or IDs and a reason tied to each hard requirement. If no match is found, require an explicit statement about the bounded search; do not require a claim that the entire store has nothing suitable.
As an initial budget, allow 120 seconds per session, up to three search submissions or result-page advances, and up to six product-detail inspections. Count an initial search as one search operation and each pagination advance as another. Apply the same counts to UI and tool routes, while logging total interaction steps separately. This is an author-chosen bounded customer journey, not a pure comparison of backend retrieval algorithms or equal token consumption.
Run every information need twice in a fresh session in each condition: 24 × 2 languages × 2 routes × 2 repeats gives 192 sessions. Shuffle condition order within case blocks and alternate which route runs first. Never carry conversation history, search hints, or previous candidate IDs into the next session. A repeat measures instability on the same need; it is not another independent shopper.
6. Verify locale resolution before blaming the model
A Chinese prompt does not establish a Chinese catalog context. BigCommerce’s multi-language API guidance distinguishes enabled locales from the resolved locale, describes preference precedence, and notes fallback to global product data when localized data is missing. These are GraphQL behaviors to inspect where available, not proof that every MCP bridge exposes equivalent controls or diagnostics.
The faceted and textual search documentation separately describes locale-dependent search, catalog refresh requirements, and filtering prerequisites. It limits multi-language search availability to the Storefront GraphQL API. Do not infer an end-to-end WebMCP language guarantee from that page. It supplies hypotheses about catalog state and search configuration that the merchant’s actual route must confirm.
For each scored run, save the requested locale, visible language selection, relevant session preferences, and any actual resolved-locale evidence exposed by the application. Redact cookies and tokens. Where resolution is unobservable, write “unknown.” A Chinese product name is helpful evidence of displayed content, but does not prove which fields a search backend indexed.
After scoring, diagnose a failed pair in layers. First inspect whether the intended tools were available. Then compare actual query and cursor behavior, candidate IDs, detail evidence, and final shortlist. If the tool returns an eligible item and the agent ignores it, changing translations may be irrelevant. If neither route can retrieve a correctly labeled translated product, catalog publication or indexing deserves investigation before a prompt rewrite.
Change only one layer for a follow-up: for example, supply a verified locale setting while keeping request and catalog fixed. Preserve the initial failure. A repaired search proves a particular intervention helped that case under that configuration; it does not retroactively turn the original run into a pass.
7. Score matched outcomes with explicit denominators
Score against variant IDs and hard constraints before judging prose. On positive cases, report coverage: sessions whose final shortlist includes at least one qualifying variant divided by all positive sessions. Use an intention-to-test denominator: every assigned positive session stays in its condition, including timeouts, malformed calls, missing tools, and mixed-route escapes, which cannot count as coverage successes. Per route and language, that denominator is 20 needs × 2 repeats = 40. Also report how many of the 20 needs succeeded on both repeats. That second count prevents one lucky run from hiding instability.
Report false-fit sessions separately: sessions containing any unsupported qualifying recommendation divided by all 48 sessions in that route-language condition. A returned alternative explicitly labeled “over budget” is not a false fit; presenting it as satisfying an USD 80 limit is. Track unsupported descriptions even when the recommended ID qualifies, because fabricated attributes remain a separate customer-facing defect.
For the four genuine no-match needs, each condition has eight sessions. Report invented-fit count, honest bounded-search endings, and operational failures separately. A timeout or mixed-route run is not a successful absence judgment. Preserve false-fit and unsupported-description flags whenever output is observable, even on an operational failure. Report every assigned run and its failure reasons; never drop failures to make retrieval coverage look better.
Compare routes on matched case, language, and repeat keys. Keep all 40 assigned positive pairs in each language table and count both succeed, tool only, page only, and neither succeeds. A mixed-route or failed member is a non-success in that table. If you also report a compliant-only diagnostic, label it separately, exclude the entire pair whenever either member violated routing, and state its reduced denominator; never substitute it for the primary comparison. A fictional result of eight tool-only successes and three page-only successes among 40 positive pairs would be a net five-pair difference, or 12.5 percentage points, in that language condition. It would still require the false-fit and failure breakdown. It would not establish population superiority or a causal language penalty.
Classical retrieval measures distinguish precision and recall at a chosen result depth; the Stanford information-retrieval reference explains that distinction. Here, “at least one qualifying choice” is deliberately a shopping-task measure. It is not full catalog recall. If the team needs recall, it must enumerate the complete relevant set and declare the retrieval depth. Identical top-three lists are not the success criterion.
8. Keep a discovery worksheet that makes repairs testable
Use one row per session, plus a case file containing both language requests and the frozen qualifying-ID set. This worksheet is the reusable artifact. Store raw traces as access-controlled attachments; keep credentials and real customer information out of the shared table.
| Field | What to retain |
|---|---|
| Case and pair key | Need ID, language experience, route, repeat, block order |
| Frozen reference | Catalog revision, qualifying variant IDs, hard constraints |
| Runtime | Browser, agent, model, configuration, harness restrictions |
| Session context | Channel, guest state, currency, requested/resolved locale or unknown |
| Tool availability | Registered read-only names and schema snapshot |
| Search path | Exact query terms, filters actually used, cursors or page advances |
| Candidate evidence | Returned IDs and inspected details with timestamps |
| Final shortlist | Recommended variant IDs, links, and qualifying claims |
| Budget use | Search/detail counts, elapsed time, timeout or other stop reason |
| Outcome labels | Coverage, false fit, unsupported description, operational failure |
| Human adjudication | Reviewer, disagreement, final evidence-based label |
| Follow-up repair | Suspected layer, single change, fresh confirmation case IDs |
Have a reviewer score ID and attribute evidence without seeing the route label where feasible. Have a bilingual reviewer separately inspect request equivalence and altered meanings. Do not let the same model’s confident explanation serve as the catalog authority. If evidence is insufficient, record an unresolved label, count the run as unverified rather than successful, and resolve it before launch.
The row should make the next action specific. “Chinese search weak” is not actionable. “The two-character request became a narrower term; the qualifying tote was absent from retrieved candidates; product details were never inspected” identifies several testable links. It still does not identify the root cause without another controlled check.
9. Choose a repair and require fresh confirmation
Before seeing results, set product-specific stop rules. For this small discovery pilot, a reasonable proposed gate is zero false fits, zero unsupported critical attributes, and zero unadjudicated cases, with no previously passing need lost after a repair. Treat coverage and repeat consistency as explicit acceptance targets chosen by the merchant, not universal thresholds supplied by this article. A single defect can block a narrow slice without requiring a platform-wide verdict.
Use the observed layer to choose the intervention. Missing tools calls for setup verification. Wrong locale calls for context repair. Missing translated fields calls for catalog work. Correct candidates followed by a wrong shortlist calls for constraint checking. Budget exhaustion calls for a separate budget experiment; extending only the tool route invalidates the original comparison. Unsupported schema arguments call for reconciling the live definition and the agent’s instructions.
After repair, rerun the affected original blocks as regression tests, then create 12 new information needs: two in each family, including two no-match needs overall. Review new English and Chinese expressions and labels before running the same four conditions with two repeats. That adds 96 confirmation sessions. Keep discovery and confirmation results separate. If confirmation reveals another defect, revise and create a fresh holdout rather than repeatedly tuning to the same twelve answers.
These are manageable offline workloads, not a demand that a small store reproduce a research benchmark. If 192 discovery sessions exceed the team’s budget, run fewer fully paired case blocks and label the result exploratory. Preserve all four conditions and report the reduced denominators. Dropping difficult Chinese requests to meet a launch date changes the product claim.
10. Ship the language experience you can support
The result should change a release decision. A merchant might enable a narrow read-only assistant for well-described categories, improve missing Chinese catalog fields, or keep the visible search as the primary path while a tool route is repaired. Another team might find that both routes retrieve the right items but its assistant misstates variant attributes. That calls for a recommendation check, not a celebratory WebMCP announcement.
This fixture is useful for a small team operating a controlled catalog and bilingual shopping experience. It does not cover unrestricted open-web shopping, negotiated B2B prices, customer-specific assortment, regulated product advice, checkout consent, payment, or fulfillment. Those require their own contexts and tests. A guest-session result must not be advertised as support for authenticated buyers with different entitlements.
The two language bundles also leave important unknowns. The experiment does not separate prompt-language effects from storefront-locale effects, measure natural customer demand, or establish conversion and retention. Broader claims need a larger, representative study. A future live pilot should independently observe qualified discovery, user corrections, and abandonment under appropriate consent and measurement practices.
The immediate change is smaller and more useful: make “agent-ready” include a verified path from a natural customer request to a qualifying variant. Start with the actual registered tool contract, preserve the language-specific failures, and repair the layer the evidence identifies. A callable search surface is the beginning of that work.
References
- Cloudflare, How Commerce.com and Cloudflare are getting storefronts ready for AI agents, October 21, 2026.
- Commerce.com, Commerce and Cloudflare bring AI shopping assistants to BigCommerce merchants, October 21, 2026.
- Chrome for Developers, WebMCP, current documentation accessed October 22, 2026.
- Web Machine Learning Community Group, WebMCP explainer and proposal repository, accessed October 22, 2026.
- BigCommerce, WebMCP, current implementation guidance accessed October 22, 2026.
- BigCommerce, B2C Storefront MCP reference, accessed October 22, 2026.
- BigCommerce, Multi-language support in GraphQL Storefront API, accessed October 22, 2026.
- BigCommerce, Faceted and textual search with the GraphQL Storefront API, accessed October 22, 2026.
- Manning, Raghavan, and Schütze, Evaluation of ranked retrieval results, Introduction to Information Retrieval.