Merchant data that people and agents can inspect
Agentic
A commerce platform in two deliberately separate tracks: a merchant-authorized Shopify publishing product, and a public WebMCP research surface for evidence-rich product discovery with a human-controlled handoff.
- Merchant product
- Shopify embedded app and signed App Proxy routes
- Research track
- Browser WebMCP tools and a normalized Offer protocol
- Runtime
- Cloudflare Workers, KV, TypeScript, and JavaScript
- Boundary
- Read-only discovery and proposal, never autonomous checkout
The project
What it does
The merchant product lets a store publish current, active product and variant data as compact Markdown on its own shop domain. Shopify App Bridge identifies the merchant session, signed App Proxy requests protect the public catalog routes, and the app requests only read_products. Tokens and configuration remain server-side in Cloudflare KV.
The WebMCP project is a separate public research build. It converts allowlisted product origins into normalized Offers with field-level provenance, visible freshness, delivered-price context, and deterministic ranking. It can stage a purchase review, but only a visible human action creates a handoff to the merchant. It does not share the commercial app's secrets or mutate a cart.
Built around
Product principles
Merchant-authorized publishing
Only active Shopify catalog data crosses the signed App Proxy, with narrow read-only access.
Evidence before recommendation
Price, condition, shipping, returns, seller context, freshness, and provenance remain inspectable.
Allowlisted origins
Exact hosts, paths, adapters, response sizes, and redirects are governed by an origin manifest.
A hard human seam
Agents can research, compare, and propose. Checkout and payment remain on the source merchant under human control.
System architecture
How the system moves
The two flows share product values but not runtime authority. The merchant platform publishes authenticated catalog data. The WebMCP build studies how agents can reason over allowlisted public offers without importing commercial credentials or gaining purchase authority.
Merchant publishing product
-
01 · Merchant
Shopify Admin and App Bridge
The installed merchant opens an embedded dashboard and grants read_products only.
-
02 · Identity
Session token and HMAC
Worker routes validate Shopify identity, destination shop, timestamps, and signatures.
-
03 · Catalog
Admin GraphQL
The Worker reads current active products and variants from the authorized shop.
-
04 · Transform
Compact Markdown
Catalog and product records are normalized into agent-readable, human-readable pages.
-
05 · Publish
Signed App Proxy
The output appears on the merchant's own shop domain with server-side credentials hidden.
WebMCP research and human handoff
-
01 · Browser
Manual UI and WebMCP tools
The same visible page actions are available to a person or a compatible agent client.
-
02 · Origin gate
Exact allowlist manifest
HTTPS host, path, adapter, byte, redirect, and freshness rules constrain every request.
-
03 · Adapters
JSON, GraphQL, JSON-LD, HTML
Public sources are read through explicit adapters with labeled fallback behavior.
-
04 · Offer graph
Provenance and ranking
Fields retain their source while deterministic scoring exposes why options rank.
-
05 · Decision
Visible purchase review
A proposal becomes a handoff only when the person approves it in the page.
-
06 · Merchant
Human-controlled checkout
The source merchant owns cart, account, payment, and the final transaction.
The commercial Shopify app and the WebMCP challenge project are separate systems. The research build imports no commercial secret, token, storage, Admin API access, or checkout capability.
Keep exploring