What do you need for UCP? There are two levels of UCP readiness. The first is the minimum viable manifest — the bare requirements to pass validation and appear in the UCP directory. The second is the agent-ready setup — what it actually takes for an AI agent to browse, cart, and check out at your store without friction.
Think of this as your UCP checklist — the minimum requirements plus the recommended prerequisites that separate stores agents can find from stores agents can actually shop. Most guides only cover the first level. This one covers both, grounded in data from 4,024 verified merchants and hundreds of agent testing sessions.
Minimum requirements (pass validation)
These are the fields required to produce a valid UCP manifest on the current v2026-04-08 spec:
1. A JSON file at /.well-known/ucp
The manifest must be publicly accessible at https://yourdomain.com/.well-known/ucp, served with Content-Type: application/json, and reachable without authentication.
Platform notes:
- Shopify: handled automatically
- WooCommerce: manual publish via plugin or custom route
- BigCommerce: manual, served from storefront origin
- Magento: manual, typically via custom module
Full publishing guide with code examples: /.well-known/ucp developer reference.
2. ucp.version (required)
A string identifying which spec version the manifest is written against. Current latest: "2026-04-08".
99.4% of verified stores are on this version. If you're starting fresh, use it. If you're on an older version, the spec update post walks through the migration.
3. ucp.services (required)
At least one service entry declaring a transport (mcp, rest, a2a, or embedded) and an endpoint URL. This tells agents where to send requests.
MCP is the dominant transport — ~100% of verified stores declare it. If you're building from scratch, start with MCP. See the transport comparison for the tradeoffs.
4. ucp.payment_handlers (required)
A map of payment handler namespaces. Can be an empty object {} if your store uses checkout-link redirects instead of tokenized payments (common on WooCommerce).
If you declare handlers, use reverse-domain namespaces like com.stripe.card or dev.shopify.card. See the payment handlers directory for examples.
5. signing_keys (required, at root level)
An array of JWK objects at the document root (not nested inside ucp). An empty array [] is valid if you're not signing payloads yet, but the key must be present.
This field moved from ucp.signing_keys to the root in v2026-04-08 — the most common validation warning we see is stores that still nest it.
Recommended setup (agent-ready)
Passing validation gets you into the directory. The requirements below determine whether agents can actually shop your store — the difference between a B+ grade and an A grade in our benchmarks.
6. Capabilities declaration
The ucp.capabilities field is optional per spec but strongly recommended. Without it, agents know your store exists but not what it can do.
Declare every capability you support:
- checkout — 99.5% adoption across verified stores
- cart — 99.1% adoption
- catalog-search — required for product discovery
- identity-linking — 3 stores, massive first-mover opportunity
- payment — 0 stores, the frontier
Full list: capability registry.
7. Clean variant data
Variant mismatches are the #1 failure mode in agent shopping sessions. Every variant needs a stable ID, a clear name, and consistent representation across discovery and checkout. This is the single highest-impact fix you can make.
8. Responsive MCP endpoint
Latency matters. The average Shopify store responds in ~130ms. BigCommerce stores average ~890ms. Agents have timeout budgets — if your endpoint is slow, sessions drop silently. Target under 500ms for tool responses.
9. robots.txt allowing AI crawlers
Make sure /.well-known/ucp is explicitly allowed in your robots.txt. Some WAFs and CDN configurations block well-known paths by default. Check the common errors guide for the fix.
10. Supported_versions for backward compatibility
Declare supported_versions in your manifest listing both the current and previous spec version. This lets agents that haven't migrated yet still find a valid endpoint:
"supported_versions": {
"2026-04-08": "https://yourstore.com/.well-known/ucp",
"2026-01-23": "https://yourstore.com/.well-known/ucp/2026-01-23"
}
The UCP readiness checklist
| Requirement | Required? | % of stores that have it |
|---|---|---|
| Manifest at /.well-known/ucp | Yes | 100% (by definition) |
| ucp.version | Yes | 100% |
| ucp.services with transport + endpoint | Yes | 100% |
| ucp.payment_handlers | Yes | 100% |
| signing_keys at root | Yes | ~97% (rest have it nested) |
| ucp.capabilities | Recommended | ~99% (Shopify default) |
| Clean variant data | Recommended | Unknown (runtime issue) |
| Latency < 500ms | Recommended | ~95% (Shopify), ~30% (others) |
| robots.txt allows /.well-known/ucp | Recommended | ~99% |
| supported_versions | Recommended | ~70% |
Validate your setup
Not sure if you pass? Start with Is My Store UCP Ready? — it walks through the full diagnostic in 60 seconds. Or jump straight to the tool:
Run a live check on your domain — it tests every requirement above in seconds. For runtime issues (variant mismatches, checkout failures), test with real agents in Playground. For ongoing monitoring, set up alerts.
Once you're verified, make sure your listing on UCP Registry is accurate — that's what agents see when deciding which stores to route customers to. And if you're a developer building agents rather than stores, the Build an Agent quickstart covers the other side of the equation.
Check your store now at UCPChecker.com. See how you compare: side-by-side store comparison. Platform guides: Shopify · WooCommerce · BigCommerce · Magento
Top comments (0)