A few weeks ago, an AI agent browsed a WooCommerce store, built a cart, generated a checkout URL, and a human clicked that link and bought a perfume. The order appeared in WooCommerce like any other. Except it wasn't.
I'm a developer from the Netherlands. This is a side project that turned into something I didn't expect.
WooCommerce powers roughly 36% of online stores. But every AI shopping integration announcement was Shopify + Stripe + OpenAI. WooCommerce merchants were invisible to agents — no structured way to discover products, check stock, or generate a checkout link.
I built UCPReady to fix that. It's a WooCommerce plugin implementing the Universal Commerce Protocol (UCP) — an open standard that gives AI agents a machine-readable commerce interface. One plugin, and your store gets a /.well-known/ucp manifest, three transport layers (REST, MCP, embedded checkout), and a native analytics dashboard.
How the flow actually works
An agent reads your manifest, searches products, resolves variants, builds a cart, and generates a delegated checkout URL. It hands that URL to the user. The user clicks, pays on your own WooCommerce checkout, through your existing gateway. The AI handles discovery and intent. The human handles payment.
The first real purchase
It happened on a Saturday night while I was debugging simultaneously with Ben Fisher, who built UCP Playground. We'd been patching bugs on both sides for hours — a Content-Type injection issue, an MCP dispatcher problem, a rate limiter blocking his IP.
At 00:59 I messaged him: "it just worked. Full funnel. Agent searched, created a checkout session, I clicked the link and completed the purchase. Order is live in WooCommerce."
We'd both been awake about 20 hours.
What the analytics show across two live stores:
308 unique AI agent sessions
29 distinct agents identified
668 total endpoint requests
3 attributed orders
€66.55 in AI-attributed revenue
Small numbers. But the pattern is real — agents aren't just scanning manifests, they're calling product endpoints, building carts, and generating checkout URLs that convert. None of that was previously visible inside WooCommerce.
What we learned about model behavior
Variant resolution is where most agents fail. The ones that reach checkout consistently call get_product_details to resolve variant IDs before carting. Those that skip this step guess, hit type errors, and drop off. In 180 sessions across 11 models, Llama 3.3 70B called the details endpoint at 2x the rate of GPT-4o and reached checkout at 3x the rate.
Schema quality predicts success more than model capability. A store with clean, consistent schemas performs well across all models. A store with ambiguous schemas fails across all models. The implementation matters more than which LLM is shopping it.
Attribution is harder than conversion. Most revenue shows as "Unknown Agent" because the delegated checkout flow means the final session is a normal browser request — the AI's identity doesn't carry through to the order. Signed session tokens are next on the roadmap.
UCPReady is in WooCommerce Marketplace business review. It passed all 11 automated tests. Whether it gets approved or not, the stores are live and the agents are shopping.
If you're building on UCP or thinking about the merchant side of agentic commerce, I'd like to hear what you're seeing.
I'm Ben — I built UCP Playground (https://ucpplayground.com), the testing tool mentioned in the post. I can confirm the Saturday night debugging session. We were chatting while patching things live on both sides for hours.
A few things I can add from the Playground side:
On schema quality > model capability: This is the biggest takeaway from 180+ sessions across 11 models. We have a leaderboard tracking completion rates per model, and the variance between stores is larger than the variance between models. A clean store schema makes even weaker models succeed. A messy schema makes even Claude and GPT fail. The store is the bottleneck, not the LLM.
On variant resolution: The agents that skip get_product_details and try to cart directly almost always fail. They guess variant IDs from search results, hit type errors, and drop off. Llama 3.3 70B's higher success rate comes down to it reliably calling the details endpoint first — it follows the tool sequence more faithfully than models that try to shortcut.
On the three transports: UCP Playground tests MCP, REST, and ECP (embedded checkout via iframe). The REST fallback turned out to be critical — MCP connections to WooCommerce stores can be flaky (OOM on unbounded queries, rate limits), so the agent silently falls back to REST for that tool call and continues. Without that, a lot of sessions would just die at search.
On store instructions: One thing we surface in Playground that merchants don't always realize — stores can inject response_instructions into MCP tool responses. These are behavioral prompts that tell the agent how to present products. We extract and display them per tool call. It's worth auditing what your store is telling agents to do.
If anyone wants to see what a real agent session looks like, Playground lets you share replays as public links. Happy to answer questions about the testing/observability side.
The REST fallback point is something I didn't cover in the post but it's critical. We saw exactly this — MCP connections dropping on unbounded catalog queries, the agent silently switching to REST and continuing without the user ever knowing. That resilience is what makes the full funnel actually work in production, not just in demos.
The store instructions point is underrated too. Most WooCommerce store owners have no idea their MCP responses can coach agent behavior. That's probably a post on its own.
A few weeks ago, an AI agent browsed a WooCommerce store, built a cart, generated a checkout URL, and a human clicked that link and bought a perfume. The order appeared in WooCommerce like any other. Except it wasn't. I'm a developer from the Netherlands. This is a side project that turned into something I didn't expect.
WooCommerce powers roughly 36% of online stores. But every AI shopping integration announcement was Shopify + Stripe + OpenAI. WooCommerce merchants were invisible to agents — no structured way to discover products, check stock, or generate a checkout link. I built UCPReady to fix that. It's a WooCommerce plugin implementing the Universal Commerce Protocol (UCP) — an open standard that gives AI agents a machine-readable commerce interface. One plugin, and your store gets a /.well-known/ucp manifest, three transport layers (REST, MCP, embedded checkout), and a native analytics dashboard.
How the flow actually works An agent reads your manifest, searches products, resolves variants, builds a cart, and generates a delegated checkout URL. It hands that URL to the user. The user clicks, pays on your own WooCommerce checkout, through your existing gateway. The AI handles discovery and intent. The human handles payment.
The first real purchase It happened on a Saturday night while I was debugging simultaneously with Ben Fisher, who built UCP Playground. We'd been patching bugs on both sides for hours — a Content-Type injection issue, an MCP dispatcher problem, a rate limiter blocking his IP. At 00:59 I messaged him: "it just worked. Full funnel. Agent searched, created a checkout session, I clicked the link and completed the purchase. Order is live in WooCommerce." We'd both been awake about 20 hours.
What the analytics show across two live stores:
308 unique AI agent sessions 29 distinct agents identified 668 total endpoint requests 3 attributed orders €66.55 in AI-attributed revenue
Small numbers. But the pattern is real — agents aren't just scanning manifests, they're calling product endpoints, building carts, and generating checkout URLs that convert. None of that was previously visible inside WooCommerce.
What we learned about model behavior Variant resolution is where most agents fail. The ones that reach checkout consistently call get_product_details to resolve variant IDs before carting. Those that skip this step guess, hit type errors, and drop off. In 180 sessions across 11 models, Llama 3.3 70B called the details endpoint at 2x the rate of GPT-4o and reached checkout at 3x the rate. Schema quality predicts success more than model capability. A store with clean, consistent schemas performs well across all models. A store with ambiguous schemas fails across all models. The implementation matters more than which LLM is shopping it. Attribution is harder than conversion. Most revenue shows as "Unknown Agent" because the delegated checkout flow means the final session is a normal browser request — the AI's identity doesn't carry through to the order. Signed session tokens are next on the roadmap.
UCPReady is in WooCommerce Marketplace business review. It passed all 11 automated tests. Whether it gets approved or not, the stores are live and the agents are shopping. If you're building on UCP or thinking about the merchant side of agentic commerce, I'd like to hear what you're seeing.
I'm Ben — I built UCP Playground (https://ucpplayground.com), the testing tool mentioned in the post. I can confirm the Saturday night debugging session. We were chatting while patching things live on both sides for hours.
A few things I can add from the Playground side:
On schema quality > model capability: This is the biggest takeaway from 180+ sessions across 11 models. We have a leaderboard tracking completion rates per model, and the variance between stores is larger than the variance between models. A clean store schema makes even weaker models succeed. A messy schema makes even Claude and GPT fail. The store is the bottleneck, not the LLM.
On variant resolution: The agents that skip get_product_details and try to cart directly almost always fail. They guess variant IDs from search results, hit type errors, and drop off. Llama 3.3 70B's higher success rate comes down to it reliably calling the details endpoint first — it follows the tool sequence more faithfully than models that try to shortcut.
On the three transports: UCP Playground tests MCP, REST, and ECP (embedded checkout via iframe). The REST fallback turned out to be critical — MCP connections to WooCommerce stores can be flaky (OOM on unbounded queries, rate limits), so the agent silently falls back to REST for that tool call and continues. Without that, a lot of sessions would just die at search.
On store instructions: One thing we surface in Playground that merchants don't always realize — stores can inject response_instructions into MCP tool responses. These are behavioral prompts that tell the agent how to present products. We extract and display them per tool call. It's worth auditing what your store is telling agents to do.
If anyone wants to see what a real agent session looks like, Playground lets you share replays as public links. Happy to answer questions about the testing/observability side.
The REST fallback point is something I didn't cover in the post but it's critical. We saw exactly this — MCP connections dropping on unbounded catalog queries, the agent silently switching to REST and continuing without the user ever knowing. That resilience is what makes the full funnel actually work in production, not just in demos. The store instructions point is underrated too. Most WooCommerce store owners have no idea their MCP responses can coach agent behavior. That's probably a post on its own.