SDX AI Readiness Toolkit makes any WooCommerce store auto-discoverable, readable, and purchasable by AI shopping agents — ChatGPT plugins, Perplexity Shopping, Google’s commerce AI, custom Claude tools, and any agent that speaks the open protocols of the agentic commerce ecosystem. Why this matters
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 7.0 and PHP 7.4.
SourceWordPress plugins · Nov 6, 2026
01 / Source details
Aboutthistool.
SDX AI Readiness Toolkit makes any WooCommerce store auto-discoverable, readable, and purchasable by AI shopping agents — ChatGPT plugins, Perplexity Shopping, Google’s commerce AI, custom Claude tools, and any agent that speaks the open protocols of the agentic commerce ecosystem.
Why this matters
In 2026 Google launched the Universal Commerce Protocol (UCP) with Shopify, Walmart, Target, Wayfair, and Etsy. WooCommerce was absent. This plugin closes that gap.
What this plugin does
UCP business profile at /.well-known/ucp — a spec-conformant UCP 2026-08-25 profile agents can negotiate against
UCP shopping catalog at /wp-json/agtc/v1/ucp/catalog/… — the dev.ucp.shopping.catalog.search and .lookup capabilities, served from your own products
MCP server at /wp-json/agtc/v1/mcp — JWT-authenticated tools for product listing, search, and order lookup, speaking every MCP revision from 2024-11-05 to 2026-07-28
ACP checkout at /wp-json/agtc/v1/acp/checkouts — agentic checkout sessions with Stripe payment_intent support
OAuth 2.0 server with discovery — dynamic client registration, client_credentials grant, and RFC 8414 / RFC 9728 metadata so MCP clients configure themselves
Coexistence with WooCommerce core — defers to WooCommerce’s native ACP checkout and to its canonical product/order Abilities instead of duplicating them
Web discovery — HTML <link> tags, HTTP Link headers, robots.txt advisory, /llms.txt
Google Merchant Center feed at /merchant-feed/google.xml — a self-hosted, Google-spec product feed you register as a scheduled fetch
AI readiness dashboard — scores your store, shows what’s missing, offers one-click fixes
Production-grade engineering — 396 unit tests, integration-tested on live WordPress + WooCommerce, WordPress Coding Standards compliant, PHP 7.4+ compatible
How agents use your store
01Agent fetches /.well-known/ucp and negotiates the capabilities you publish
02Agent searches your catalog at /ucp/catalog/search (UCP) — no credentials needed for public product data
03Agent discovers how to authenticate at /.well-known/oauth-authorization-server
04Agent registers via /oauth/register → receives client ID + secret
05Agent exchanges credentials for JWT at /oauth/token
06Agent calls MCP tools under /mcp (search, list, order lookup)
07Agent creates an ACP checkout session at /acp/checkouts
08Agent completes the session → real WooCommerce order in your admin
All standard payment gateways work. UCP creates standard WC orders.
How this actually helps your store
AI shopping assistants — ChatGPT, Perplexity, Gemini, Claude — now help millions of people find products every day. When a shopper asks “find me a waterproof backpack under $80”, the assistant increasingly queries machine-readable storefronts instead of crawling pages. A UCP platform starts by fetching /.well-known/ucp on the domains it knows, reads which capabilities the store supports, and calls those endpoints. A store with no profile — or with a profile the platform cannot parse — simply is not part of that conversation.
This plugin publishes a conformant profile automatically, serves the UCP catalog capabilities behind it, and exposes the same catalog through MCP. You don’t have to write a single line of integration code; activating the plugin is enough to put your store on the map for agents that speak UCP, MCP, or ACP.
A few complementary moves we recommend alongside this plugin: register your products in Google Merchant Center so the Google Shopping feed picks them up, keep product titles and descriptions clear and well-structured (the same SEO discipline that helps humans also helps AI parsing), and make sure your site runs on HTTPS end-to-end so agents trust the responses.
Once your store is published, agents can do three things that previously required a human: discover that you exist, browse your catalog in real time, and — with ACP enabled — create a real WooCommerce order on behalf of their user, with the same checkout, tax, shipping, and fulfillment plumbing your human customers go through today.
A note on where the money moves: ChatGPT’s Instant Checkout was retired in March 2026, and the buyer now completes payment on the merchant’s own checkout. That is exactly the “Model B” flow described in the FAQ below, and it works with whatever gateway your store already uses — so the practical path for most stores is discovery and catalog access first, agent-initiated orders second.
Google Merchant Center
The plugin publishes a Google-spec product feed at https://yourstore.com/merchant-feed/google.xml . It is fully self-hosted — the plugin contacts no external service. Instead, you register that URL in Google Merchant Center → Products → Feeds as a scheduled fetch, and Google pulls the feed on its own schedule. Once Google has the feed, your products become eligible for Google Shopping and Google’s shopping AI.
The feed is built from your published, catalog-visible WooCommerce products and includes each product’s title, description, price, availability, image, and — when set — brand and GTIN. Filling in brand and GTIN (Products → product → Inventory → Global Unique ID, on WooCommerce 9.2+) materially improves listing quality and how often Google can match your products. Variable products are expanded to their purchasable variations. The generated XML is cached for one hour to keep the endpoint fast.
Privacy & Data Handling
This plugin is built to be conservative about data:
The plugin only exposes publicly available product data — name, price, image, description — through its UCP and MCP discovery endpoints. Anything you already display on a public product page is fair game; nothing else is.
Order data is gated behind a valid OAuth 2.0 access token AND is scoped to the agent’s own orders. An agent (OAuth client) can only read orders it created itself through the ACP checkout flow; it can never read other agents’ orders or orders placed by human customers through normal checkout. An agent without the read:orders scope cannot read any orders at all, and read:orders is never granted by open client registration unless it is explicitly requested.
No customer personally identifiable information (PII) is collected, transmitted to third parties, or stored beyond standard WooCommerce order records that WooCommerce itself already manages.
All admin actions — including the audit dashboard and one-click auto-fix buttons — require the manage_woocommerce capability and a verified WordPress CSRF nonce.
No outbound telemetry. No analytics calls. No external “phone home” requests. The plugin does not contact the author, an analytics vendor, or any third party at install time, on activation, or during normal operation.
External Services
WordPress.org guideline #6 requires that we disclose any external services this plugin contacts. The list is short:
Stripe (optional, opt-in): Stripe is only contacted when the ACP module’s payment_intent flow is explicitly enabled by defining the AGTC_STRIPE_SECRET_KEY constant in wp-config.php . When an agent completes a checkout session under that flow, the plugin makes a server-to-server POST to https://api.stripe.com/v1/payment_intents to authorize the payment. No data is sent to Stripe unless this flow is activated. Stripe service terms: https://stripe.com/legal — Stripe privacy policy: https://stripe.com/privacy.
No other external services are contacted by default. UCP, MCP, and ACP discovery endpoints are served from your own WordPress installation. The agent pulls data from you; you do not push data to the agent or to any intermediary.
Disclaimer
This plugin is an independent, community-driven implementation of open commerce protocols. It is not affiliated with, endorsed by, or sponsored by Stripe, Inc., OpenAI, Google, Anthropic, Automattic, or the WooCommerce trademark holders. “WooCommerce” is a trademark of Automattic Inc. and is referenced solely for descriptive interoperability purposes.
02 / Source details
Gettingstarted.
01Upload to /wp-content/plugins/agtc-commerce (or install via WP admin → Plugins → Add New)
02Activate via Plugins menu
03Visit SDX AI Readiness in the admin sidebar to see the AI Readiness dashboard
04(Optional) Define AGTC_STRIPE_SECRET_KEY in wp-config.php to enable ACP payment intents
Requirements
05WordPress 7.0 or higher (tested on 7.1)
06WooCommerce 8.0 or higher (tested on 11.0)
07PHP 7.4 or higher (PHP 8.x recommended)
08OpenSSL and libsodium PHP extensions
09Pretty Permalinks enabled
03 / Source details
Frequently asked questions.
Will this conflict with WooCommerce’s built-in ACP support?
No. WooCommerce 10.7+ ships internal ACP infrastructure with the agentic_checkout feature flag (default off). Our Coexistence detector activates our endpoints only when the WC native flag is off, and defers (410 + Location header) when on.
Will this duplicate WooCommerce’s own MCP tools?
No. WooCommerce 10.9+ registers seven canonical abilities of its own ( woocommerce/products-query , orders-query and friends) through the WordPress MCP Adapter. Two near-identical tool sets in front of the same agent makes tool selection worse, so the “WP Abilities” setting defaults to auto : when WooCommerce’s canonical abilities are present, this plugin does not register its overlapping set, and the dashboard’s MCP-004 check tells you that happened. Set the mode to all (or filter agtc_mcp_abilities_mode ) if you want both. The plugin’s own OAuth MCP server at /wp-json/agtc/v1/mcp is unaffected either way.
Does the plugin work on WordPress 7.1?
Yes — the release is integration-tested against a live WordPress 7.1 + WooCommerce 11.0.1 install: the UCP profile, the catalog capabilities, the MCP server, OAuth registration and token exchange, the ACP purchase flow that creates a real order, and the readiness dashboard all pass there. WordPress 7.1 keeps PHP 7.4 as its minimum, so no PHP change is needed.
Which UCP version does the profile publish?
UCP 2026-08-25, date-versioned as the specification requires. The profile advertises only the capabilities this plugin actually serves — currently dev.ucp.shopping.catalog.search and dev.ucp.shopping.catalog.lookup — because a platform negotiates against that document, and an over-claimed capability fails later in a worse place. payment_handlers is published as an empty map until the UCP checkout capability ships. You can extend the document with the agtc_ucp_profile filter.
What happens to my data if I uninstall?
Nothing is deleted by default. Deactivating the plugin only withdraws its rewrite rules; your signing keys, registered OAuth clients and settings stay put, so reactivating restores the exact same store identity. Deleting the plugin also leaves that data alone unless you tick Delete all plugin data on uninstall on the dashboard first — that opt-in exists because the master secret encrypts stored client data, and removing it cannot be undone.
Is the public catalog endpoint rate limited?
Yes: 60 requests per minute, counted per declared platform profile (falling back to the caller’s IP address). Over the limit the endpoint answers 429 with a Retry-After header and a UCP rate_limited message, which platforms are expected to honour. Tune or disable it with the agtc_ucp_catalog_rate_limit filter — returning 0 turns throttling off.
Do agents need credentials to search the catalog?
No. The UCP catalog endpoints expose only data your storefront already shows publicly, so they are unauthenticated. They do require the UCP-Agent header the specification mandates, so a misconfigured caller gets a protocol-shaped error rather than silently reading your catalog; the agtc_ucp_require_agent_header filter can relax that. Order data always requires an OAuth token and is scoped to the agent’s own orders.
Do I need Stripe?
Only for ACP payment_intent flow. Without Stripe, agents can still discover, browse, and create checkout sessions — they just can’t authorize payment through ACP directly.
There are two flow models to choose from, and most stores can start without Stripe entirely:
Model A — Agent pays directly (ACP payment_intent ): Requires Stripe. The ACP protocol uses Stripe’s PaymentIntent under the hood, so you must define AGTC_STRIPE_SECRET_KEY in wp-config.php . The agent never sees the customer’s card; payment is captured server-side at session completion. This is the fully autonomous flow.
Model B — Agent creates order, customer pays later: Works with any WooCommerce payment gateway — PayPal, Square, Stripe via WooCommerce Payments, bank transfer, cash on delivery, anything you already have configured. The agent creates an ACP session, which the plugin converts into a standard pending WooCommerce order. The customer receives an order link and completes payment using whatever gateway your store already uses.
Recommendation: Most stores should start with Model B (no Stripe required) and add Model A later if and when they want fully autonomous agent purchases without a human checkout step.
What data does this expose to agents?
By default, public product data only (name, price, description, images). An agent can additionally read its own orders if it holds the read:orders scope — but only orders it created itself through the ACP checkout flow. Agents never see other agents’ orders or orders placed by human customers through normal checkout.
How do I let agents read orders?
Order access is scoped to ownership and safe by default: an agent (OAuth client) can only ever read orders it created itself via the ACP checkout flow. It can never read another agent’s orders or orders placed by human customers through normal checkout.
To read its own orders, an agent must request the read:orders scope at registration; dynamic client registration only ever grants read:products by default, so read:orders must always be requested explicitly. No server-side opt-in or wp-config.php constant is required.
Is the OAuth flow secure?
Yes. Client secrets are hashed with password_hash() . Access tokens are RS256-signed JWTs with iat , exp (max 2h), aud , iss , and jti claims. Admin endpoints require WP nonce + manage_woocommerce .
How do I rotate the JWKS keypair?
Open the AI Readiness dashboard. If JWKS rotation is needed, click the “Rotate JWKS keypair now” button. Old key remains valid for a 24h grace period.
WordPress Abilities and the MCP Adapter
WordPress core ships the Abilities API (since 6.9) and the PHP AI Client (7.0). The MCP Adapter is not part of WordPress core — it is maintained separately by the WordPress AI team, and WooCommerce 11.0 already bundles it as a library, so most stores do not need to install anything. It stays dormant until you enable WooCommerce’s mcp_integration feature (WooCommerce → Settings → Advanced → Features); after that, MCP clients such as Claude Desktop, Claude Code, Cursor or VS Code can reach WordPress abilities using ordinary application passwords. The dashboard’s MCP-004 check tells you which of these two states you are in.
This plugin registers its tools as Abilities so they are available through that adapter, using the unified meta.public exposure flag introduced in WordPress 7.1 (the older per-channel flags are kept for adapters that predate it). Its own OAuth MCP server stays active alongside the adapter and continues to serve headless or autonomous agents that manage their own credentials.
The AI Readiness dashboard shows a “Protocol exposure” card with four settings:
MCP exposure controls which MCP path is active: “both” (default — the adapter and the plugin server run side by side), “core” (plugin’s own MCP server is disabled, traffic goes to the adapter only), or “plugin” (adapter integration is disabled, plugin MCP server only).
WP Abilities controls what happens when WooCommerce registers its own canonical abilities: “auto” (default — this plugin stands down so agents do not see two overlapping tool sets) or “all” (register both).
ACP exposure controls ACP checkout availability: “auto” (default — plugin ACP is active when WooCommerce native ACP is off, deferred when on), “plugin” (plugin ACP is always active regardless of WC native state), or “off” (ACP checkout is fully disabled).
UCP exposure turns the UCP profile’s advertised services and the catalog endpoints “on” (default) or “off”.
All four can be overridden programmatically with the filters agtc_mcp_exposure_mode, agtc_mcp_abilities_mode, agtc_acp_exposure_mode and agtc_ucp_exposure_mode, which receive the stored option value and should return one of the accepted mode strings.
How do I get my products into Google Shopping?
The plugin publishes a Google-spec product feed at https://yourstore.com/merchant-feed/google.xml . In Google Merchant Center, go to Products → Feeds , add a new feed, and choose the scheduled fetch option pointing at that URL. Google then fetches the feed on its own schedule — the plugin never contacts Google. The feed carries title, description, price, availability, image, and brand/GTIN when set; adding a brand and GTIN to each product improves listing quality and match rate. The dashboard’s FEED-001 check flags products missing those attributes.
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati