Shopping is moving into the assistant. When a customer states a goal to an agent instead of clicking through a category tree, the shop has to expose catalog, cart and checkout as callable operations rather than as pages. A storefront that only renders HTML gives an agent nothing to call.

That moves the value. The agent reasons; the platform stays the system of record and executes. It holds the prices, the promotion rules, the stock, the delivery promises and the order, and the merchant keeps control of all of it. That position is the commerce execution layer, and it is the same position whether the customer arrives through Claude, ChatGPT, Gemini or a company's own agent.

Anthropic published the agent half of it on September 2, 2026, as the Commerce Agents blueprint: two backend contracts, a safety harness, skills and reference runtimes. What was missing was the other half, a real platform you can open, read and run yourself. That is this project.

Three consequences, and they are the point:

  • Merchants can own the whole loop: the shop, the agent host, the tools, the approval gates. Shopware is open source and the hosts are in the repository, so no part of the buying flow is a black box you rent.
  • Developers target two interfaces, not one vendor's API. StorefrontBackend and MerchantBackend are the entire contract, which is why the same agents run against Shopware in Docker and Shopware in a browser tab. You can fork the execution layer and leave the blueprint untouched.
  • Governance is the unlock. dryRun previews from the shop itself, a maker checker approval step and a least privilege ACL mean an agent proposes a price change or a promotion and a human decides. That is the line between deployable agentic commerce and a demo.

Live demo (no clone): agentic-commerce-lab.github.io/shopware-claude-commerce

Repository: github.com/agentic-commerce-lab/shopware-claude-commerce

Shopware 6.7 boots in the tab as PHP WASM + MariaDB WASM, both agents run on Pyodide, catalog and cart go over UCP and MCP. Paste your own Anthropic key for chat. A 2:29 explainer is on the repository as a 1080p video.

What happened

The blueprint landed on September 2, 2026. The next day it ran unmodified against a real Shopware 6.7 shop in Docker. A day later, the same shop and both agents ran in the browser. What exists today is a reference implementation, not a GA product: two hosts, two Shopware plugins, a Claude Code plugin, evals and CI.

Honest limits: first load is about 150 MB for the shop, plus about 40 MB for the Python runtime and agents. Cold boot is 20 to 40 seconds; a reload uses the browser cache. Chat on Pages is bring your own key. If that browser call is rejected, the shop still works. Docker remains the full local stack: signed UCP, checkout handoff, merchant apply, evals and CI.

Why the model is not the moat

The blueprint is deliberately plain: one model in a standard agent loop, skills for the long tail flows, tools that call existing systems, safety rules in the harness rather than in the prompt. The commerce value is not in the model. It is in the tools and the commerce semantics underneath them. Anthropic reports carts up to 35 percent larger and shoppers up to 60 percent more likely to complete a purchase; those are Anthropic's figures, not Shopware benchmarks.

Anthropic positions Claude as the intelligence layer that connects to a merchant's existing commerce systems rather than owning the storefront or the checkout. That is the same split from the other side: if the model is the intelligence layer, the platform is the execution layer. So the goal was never "Shopware has a Claude agent". It was to make Shopware the system any agent executes commerce against. That splits into three layers, and they are worth very different amounts.

Layer 1, connectivity over UCP, MCP and APIs, is turning into a commodity. Layer 2, agentic execution, runs today. Layer 3, knowing which action makes economic sense, is the long term moat and clearly roadmap.

Two agents, two contracts

The blueprint defines two backend contracts: StorefrontBackend for the shopping agent, working for the buyer, and MerchantBackend for the merchant agent, working for the merchant. We implemented both on Shopware.

Shopping agent: the customer states the goal

Illustrative dialog. The tool calls are the real methods of the blueprint contract; products and prices are examples. The agent never places an order; checkout ends in Shopware.

Merchant agent: the merchant states the question

Illustrative dialog based on the repository's seed shop (T shirt S/M/L, L out of stock). Root cause analysis across traffic, conversion and delivery times is the goal of the Commerce Intelligence Graph, not this version.
The merchant portal on port 3006: staged change with the Shopware preview from the server, approved by the operator, then written. Screenshot from the running Docker shop.

How it is built

The pattern is simple, which is why it is robust: Anthropic's blueprint packages are installed unmodified, pinned to a commit. Around them sit two thin FastAPI hosts, each mapping one contract onto Shopware.

  • Shopping over UCP, MCP first. Discovery via /.well-known/ucp; catalog and cart on /ucp/mcp, REST as fallback. Every request is signed (RFC 9421 + RFC 9530); the shop runs signature-policy=strict. Policies, PAngV disclosures, shipping, variants and orders come from the Store API. Identity Linking is implemented but still guest only on the plain HTTP Docker shop (Shopware wants an https agent profile).
  • Merchant over the Admin MCP. Least privilege integration, own ACL role and MCP allowlist; no admin password. Staging runs shopware-entity-upsert with dryRun=true; approval replays the same payload with dryRun=false. Promotions are real Shopware promotions. The ledger is SQLite.
  • Real Shopware, not a substitute. Shopware 6.7.13 in Docker with pinned plugins and a seeded catalog. Checkout is a handoff: a one time HMAC signed code (120 seconds) lands on /checkout/confirm. The cart token never leaves the host. The Pages demo is the same shop in the tab (WASM shop + Pyodide); Docker remains the complete local product.

The blueprint stays untouched. The repository contributes the two backends, the two web UIs and the shared MCP client and signer; Shopware provides protocols, semantics and checkout.

Three things that make Shopware strong here


Point three is more than a German market feature. The mandatory disclosures in the dialog, base price (Grundpreis), delivery time, VAT notice, are server authored lines derived from product data, not generated by the model.

What you can inspect that a hosted demo cannot show

A platform already shipped a hosted agent demo against the same blueprint. That proves a shopping agent can talk to a live storefront. This Shopware reference is for people who need to run the shop and read the execution layer, not only a hosted storefront chat.

  • You run the shop and you can fork the execution layer. Start it in Docker, or open the full shop in the browser as WASM, then change how the tools hit the shop while the blueprint packages stay untouched.
  • Zero install live demo on GitHub Pages. A real Shopware 6.7 instance in the tab, not a mock catalog. First load is large because you download the shop, not only a chat widget.
  • UCP, MCP, and merchant writes you can approve. Shopping uses UCP and MCP. Merchant writes go through Admin dryRun, a maker checker loop, and a least privilege ACL.
  • Tools inside the shop. A Claude Code plugin scaffolds the integration. Shopware plugins expose MCP tools and the checkout handoff from the shop itself.
  • Shopping and merchant agents together. Both blueprint contracts run here, in Docker and in the browser tab.
  • Licenses you can read. This repository is MIT. The blueprint stays pinned and unmodified under Apache License 2.0.

Safety: the model proposes, a human or a policy executes

The blueprint's safety rules sit in the tool executor, not in the prompt. Backend results are sanitized and fenced. Cart writes only accept product ids a tool returned in this session. No method places an order or triggers a payment. Identity comes from the session, not from a tool argument.

For the merchant agent, concretely:

Tests prove that staging sends only dry runs and that apply is the only code path sending dryRun=false; anything not STAGED is refused. The checkout link never reaches the model; the shop receives a one time code, refused on replay, expiry or tampering.

Tested like software

The repository ships an eval suite that makes agent behavior measurable instead of anecdotal. A case is a recorded shop state plus one user message; the runner drives one real model turn and grades the final state and the rendered answer, not the path the model took. 107 cases, 64 shopping and 43 merchant, every positive case paired with a negative one. Scorers are deterministic wherever possible, including byte exact checks of the German price disclosures, with one pinned LLM judge for the few cases no field can settle. Runs happen in replay mode against a stubbed Shopware backend, so the shop side is fixed and only the model varies. The gate is pass rate per tag (safety must be 1.00), cache hit rate and cost per turn.

Where it stands: the merchant CI set holds 38 cases, and the last recorded run scored 34 of them, with a repeat of the same configuration at 35. The four open cases are behavioral, not infrastructure: how the agent refuses an approval it is not allowed to grant, a percentage move across a variant family, and a price move staged exactly at the allowed cap. They are open, not waived. The deterministic suites are green: 286 Python tests, ruff lint and formatting clean, 45 Node tests in the browser demo. Every push runs the Python suites on two Python versions, the two Next.js builds and the handoff plugin's PHPUnit tests; the eval set runs nightly, because each run costs real model turns. Findings that belong upstream are collected in the repository's notes for upstream, not filed as upstream issues.

Build your own in minutes

The repository ships a Claude Code plugin, shopware-commerce-builder, that complements Anthropic's commerce-builder with what Shopware adds. claude plugin marketplace add agentic-commerce-lab/shopware-claude-commerce, then /scaffold-shopware-agent. Further commands add one flow, author evals, review an integration, or diagnose discovery, signing and the handoff.

What runs, what is in progress

Open today: the live browser demo (shop, catalog, cart, admin, UCP/MCP, both agent shells; chat is bring your own key). Against Docker: signed UCP shopping with variants, handoff, policies, PAngV, shipping and orders; merchant snapshot, alerts, staged listing / price / inventory / promotion changes with server dry run previews and portal approval. Plus shopware-commerce-builder, SwagCommerceAgentTools, CommerceAgentsHandoff, evals and CI.

In progress: Identity Linking (needs https). SwagCommerceAgentTools is in the repo and the WASM shop (nine MCP tools, staged change entity, Flow Builder, ACL templates; 149 PHPUnit tests), not yet in the shared Docker container. Not in this version: traffic and conversion, campaigns, per line item promotions, Managed Agents manifests.

Where this goes next

The zero install demo is live. What continues is moving more host side work into Shopware as MCP tools. SwagCommerceAgentTools is that path. Finishing Identity Linking is the other. Every agent that speaks MCP gets those tools, not only Claude.

The shop in the browser stands on existing work

The shop in the browser stands on the FriendsOfShopware playground and on the work of Soner Sayakci (@shyim). He built that playground: Shopware running entirely in the browser on PHP WASM and MariaDB WASM. This project seeds that foundation with UCP, Admin MCP and both blueprint agents, and publishes the result as a static site on GitHub Pages.

Invitation

Open the live demo: agentic-commerce-lab.github.io/shopware-claude-commerce. First load is large; paste your own Anthropic key for chat. Explainer (2:29) and code: github.com/agentic-commerce-lab/shopware-claude-commerce. Docker is the full local stack.

To merchants and agencies: point it at your shop and tell me where the mapping breaks. To the Anthropic Commerce and Applied AI teams: your blueprint now runs against Shopware without changing the blueprint itself. We would love to work with you on making Shopware a reference execution platform for Claude Commerce Agents.

Thanks to the authors and the acknowledged contributors of the Commerce Agents launch and the engineering deep dive: Ali Shazal, Matthew Koen, Amandeep Khurana, John Lopus and Rodrigo Olivares Lopez. Everything on the Shopware side is open, so the mapping is there to be read, questioned and improved.

What must a merchant agent be able to do before you would trust it with a price change without manual approval?

Shopware is the Commerce Operating System for the Agent Economy.

#AgenticCommerce #Shopware#Claude #Anthropic #UCP #MCP #Ecommerce #AI #OpenSource #CommerceOS