Magento 2 Agentic Commerce - Get Found by AI
Search engines as we know them are being displaced, slowly but steadily, by AI agents that simply answer the question for you.
The same shift is reaching shopping: more and more people let AI find and choose products on their behalf. The paradigm has not flipped yet - but the direction is set, and the only real question is how long it will take.
Magento 2 Agentic Commerce keeps your store in step with it: as agents, clients, and protocols change, your catalogue stays discoverable and readable.
With this extension, you can:
- Be discoverable by AI assistants like Claude and ChatGPT
- Let assistants search your catalogue and recommend your products in conversation
- Speak the open agentic-commerce standards - UCP, MCP, WebMCP, and OpenAI ACP
- Publish llms.txt and other agent discovery files automatically
- Pass Google's agent-readiness check in PageSpeed Insights
AI Is Reshaping Industries - Now It's Ecommerce's Turn
Shoppers ask AI, not search boxes
A growing number of customers ask an assistant to find, compare, and recommend products - then buy what it surfaces.
AI recommends what it can find and read
An AI agent can only recommend products it is able to read - so your catalogue has to be in a form it understands.
If AI can't read your store, it's invisible
If assistants can't read your catalogue, your products simply don't appear in their recommendations.
Magento 2 Agentic Commerce brings together all of today's agentic-commerce standards in a single extension - everything AI agents need to search your catalogue, compare products, and recommend them to your customers. It runs on open, industry-backed protocols. You set your product data up once, and you stay the merchant: your customer relationship, pricing, and store rules remain yours.
What benefits do you get?
Works Today with Claude and ChatGPT
This is not just a promise for the future. Connect your store to an AI assistant like Claude or ChatGPT today, and it will browse your catalogue, compare products, and recommend them to shoppers - all in a normal conversation.
The assistant replies with your real products - names, prices, and links - so the shopper finds what they need without ever leaving the chat. Letting your customers' own assistants find you automatically is the next step, as more people shop with AI.
Set Up Once, Discoverable Everywhere Agents Look
Your store automatically publishes everything an AI shopping agent needs to find it: a Universal Commerce Protocol (UCP) merchant profile at /.well-known/ucp that tells agents what your store supports, plus agent instructions in llms.txt and agents.md.
UCP is an open, industry-backed standard for how AI agents discover and transact with merchants - supported by major commerce, payment, and AI companies including Amazon, Mastercard, Meta, Microsoft, Stripe, Visa, Walmart, and Google. By speaking it, your store is ready for the next wave of AI shopping agents the moment they arrive, with no extra configuration.
You Stay the Merchant
Being present in AI conversations does not mean giving up control. Agents read and recommend your catalogue; you keep everything else - your data, your pricing, your store rules, and your customer relationship. Nothing about your store changes except that it can now be used by the assistants your customers already rely on.
And there is more to come: the path from discovery to in-conversation checkout is on the roadmap, so the channel you open today only grows more valuable.
How Magento 2 Agentic Commerce Works
Your catalogue is exposed to agents once, drawing directly on the products and search you already manage in Magento. Four protocol adapters sit in front of it, so every AI client sees the same products and behaves the same way.
UCP
The open Universal Commerce Protocol. Lets any UCP agent discover your store with no pre-registration. This is our main focus.
Generic MCP
A storefront Model Context Protocol server exposing the same catalogue tools, so clients like Claude and ChatGPT can connect to your store directly.
OpenAI ACP
The product-feed / catalogue side of OpenAI's Agentic Commerce Protocol, to reach shoppers using ChatGPT.
WebMCP
In-browser MCP. Your storefront exposes the same catalogue tools right on the page, so an AI agent working in the shopper's own browser can use your store directly - no separate connection to set up. It is also what Google's PageSpeed Insights now checks for in its Agentic Browsing audit.
Each protocol can be turned on or off separately from the Magento admin, so you can start with just UCP and add the rest when you need them.
Everything AI Needs, Published Automatically
Once installed, your store serves a complete agent-facing surface automatically:
llms.txt - agent instructions
Plain-language guidance that tells AI agents your store is agent-ready and how to read it. Also served at /agents.md.
UCP merchant profile
/.well-known/ucp - supported versions, capabilities, and signing keys an agent reads first.
Agent-discovery sitemap
A dedicated sitemap linked from your main sitemap.xml, plus an agent block in robots.txt.
Public JSON read API
Products, single product, category products, and search at /agent/*.json - served by the module itself, no authentication required.
Want to get cited in AI search answers (ChatGPT, Perplexity, Google AI Overviews) through rich structured data? That is the job of our Advanced SEO Suite.
Pass Google's Agent-Readiness Check
Agent readiness is now something Google measures. PageSpeed Insights added an Agentic Browsing category (Lighthouse 13.3, May 2026) that grades how ready a page is for AI agents - and among its signals are an llms.txt file at the domain root and WebMCP tools registered on the page.
Magento 2 Agentic Commerce publishes llms.txt and registers WebMCP tools automatically, so your store passes the agentic-commerce checks right after installation - run your storefront through PageSpeed Insights and see for yourself. The category is still marked experimental and the remaining checks (accessibility tree, layout stability) depend on your theme, but the agentic surface itself is covered out of the box.
Be where buying decisions now happen.
Make your catalogue discoverable by the assistants your customers already use. Pairs naturally with AI Agent Connector (MCP) for Magento 2 - shopper-facing discovery and admin-side AI in one stack.
Save time by starting your support request online and we'll connect you to an expert.
What is agentic commerce, and why now?
Agentic commerce is shopping through AI assistants - shoppers ask an assistant like Claude or ChatGPT to find, compare, and recommend products instead of browsing websites themselves. Why now? In early summer 2026, Shopify turned agentic commerce on across all of its stores, hundreds of thousands of them, because the shift had become impossible to ignore. Mirasvit is the first to bring the same capability to Magento, so your store can be ready now too.
Can Claude or ChatGPT really do this today, or is it just hype?
It works today. Connect your store to an AI assistant like Claude or ChatGPT and it will search your catalogue and reply with your real products - names, prices, and links. It works now because your store speaks the same standard these assistants already use, so you are not waiting for some future version.
Can shoppers actually buy through AI, or only find products?
Today, AI assistants find, compare, and recommend your products and send the shopper to your store to complete the purchase - so you still capture the sale and own the checkout. Buying directly inside the conversation is on the roadmap and will build on the same setup.
Do my shoppers need a special app or AI agent?
No. Your store exposes its catalogue over open protocols, so any compatible AI assistant can read it. There is nothing your customers need to install, and agents need no pre-registration.
How do I check that my store is agent-ready?
Run your storefront through Google PageSpeed Insights and open the Agentic Browsing category (added in Lighthouse 13.3) - it checks for llms.txt and WebMCP tools, and with this extension both are published automatically. There is also a built-in test: go to Marketing → Agentic Commerce → Agent Activity and click "Test with an agent" to watch a real agent search your catalogue, fetch a product, and build a cart step by step.
Is this based on real open standards, and how does it relate to your AI Agent Connector (MCP)?
Agentic commerce is still taking shape, so the boundaries between the emerging standards are not fixed yet. Rather than bet on one, we implemented everything that is already more or less standardized - UCP (Universal Commerce Protocol), generic MCP, WebMCP, and OpenAI ACP - so your store is ready whichever way the market settles. These are open, industry-backed standards (UCP alone is backed by Amazon, Mastercard, Meta, Microsoft, Stripe, Visa, Walmart, and Google), not a proprietary format, so there is no lock-in. The same MCP standard also powers our admin-facing AI Agent Connector (MCP), but that is a separate, operator-side product, while this one is shopper-facing.
cancel_cart retires a cart the shopper decided against and answers with its final contents, so the agent can say what was dropped. The response carries no link back to the cart and no expiry date, because neither is true of a cart that is gone; the cart id stops working afterwards, and cancelling twice returns exactly the same answer as the first time. A cart the shopper has already opened in the browser is refused — from that point it is theirs, and an agent holding the old link must not be able to empty it. Cancelled carts are now picked up by the existing cleanup cron instead of lingering./.well-known/ucp profile, which is how the protocol lets an AI agent confirm it is really talking to this store, but nothing was ever signed with it: the key advertised a guarantee the answers did not carry. Every /agent/mcp response now ships the RFC 9421 Signature, Signature-Input and Content-Digest headers, so an agent can check both that the answer came from this store and that nothing altered it on the way — using the key it already fetched. Stores without a keypair, or with the profile document switched off, keep answering exactly as before, unsigned: a signature is never allowed to turn an answer into an error.messages[] carried plain strings, which no platform can act on: the schema has required an object with a type, a machine-readable code and the text since before the version this store advertises, and a string could only ever be printed. Each message now states whether it is a warning, what kind it is, and how it must be presented — which is also what lets a compelled policy disclosure say which term it refers to. An integration reading messages[] as a list of strings must read the content field of each entry instead.search_catalog or lookup_catalog result carried its full description — on a typical catalogue that is roughly nine thousand characters each, so ten results spent a fifth of an AI agent's working memory before it had even chosen a product. Results now carry a short plain-text summary instead, trimmed to 400 characters, with the full description still returned by get_product. Variants also stop repeating the product's own image list when it is identical to the product's, which on a search page was another quarter of the response; get_product still returns every variant complete. Measured on a real catalogue, a ten-product search response dropped by 72%.expires_at, the moment an un-picked-up agent cart is cleaned up (its last update plus the configured lifetime), so an agent coming back later knows whether the link it holds is still good. A cart the shopper has already opened in the browser states no expiry, because from that point it lives by the store's ordinary cart lifetime rather than this one.cost amount, which the UCP cart schema does not define; that field is gone, replaced by the totals breakdown the schema requires. A line now reports its subtotal, its share of an automatic discount, its tax and its total — so an agent can tell the shopper which line the discount applied to, not just that the cart total is lower than the sum of its parts. An integration reading cost off a line item must read totals instead.create_cart; they are now read from the product the extension has already loaded.get_cart, update_cart and cancel_cart advertised the cart id inside cart, while the UCP method signature puts it at the top level. The store had already started accepting both, but the advertised shape is what a conformant agent validates its own request against — so a strict client refused to send the call at all, and three of the four cart operations were unreachable from it. The schemas now describe exactly what UCP describes: get_cart(id), cancel_cart(id), update_cart(id, cart). Clients written against the older shape keep working: cart.id is still accepted.meta.idempotency-key with every call that changes something, precisely so a lost response can be retried safely; this extension ignored it, so a retried create_cart left the shopper with two carts and a retried update_cart applied its change twice. The key is now honoured: repeating a call with the same key replays the first answer instead of acting again, and reusing a key for a different request is refused rather than quietly doing something the agent did not intend. Keys are remembered for 24 hours and cleared by the existing hourly cleanup. Adds a new mst_agentic_idempotency table (applied on setup:upgrade).lookup_catalog names the ids it could not find — Ids that matched nothing were dropped from the answer without comment, so an agent that mistyped one SKU got a shorter list with no way to tell "this product does not exist" apart from "you asked for six and got five". Unmatched ids are now reported in messages.search_catalog applied two different visibility rules depending on the request: a call with filters and no search words listed products that the very same tool refused to return for any wording, because it mirrored the storefront's split between a category page and the search box. An AI agent has no category page to browse — every call it makes is a search — so a product hidden from search is now hidden from the agent as well, whichever way it asks. Stores that keep superseded products visible in the catalogue but out of search will see those products leave agent results; they remain fully available by SKU, which is how an agent reaches a product a shopper named.create_cart came back reporting success with an empty cart and the note "The product's required option(s) weren't entered". On a catalogue where every product carries a required option, no product could be bought through an agent at all. The catalogue tools now list each custom option with its selectable values, and expand the required ones into real purchasable variants — one per choice, each with its own price including the option's price modifier, so price_range finally spans what the product actually sells for. Adding a variant to a cart carries that choice through; referencing the bare SKU takes each required option's default. The cart echoes the full choice back in line_items[].item.id and spells it out in the item title, so an agent replaying a cart into update_cart rebuilds the same one instead of silently falling back to the defaults.get_product reports the option with its input type and character limit, and a required one left blank is refused by name with the exact syntax that answers it. Date and file-upload options still cannot be answered through an agent and say so.totals carried only a subtotal and a total, so an automatic cart price rule (or tax, or a store-credit total) appeared as an unexplained difference between the two and an AI agent had nothing to tell the shopper about it. Every total Magento collects is now reported, with discounts as their own negative entry named after the rule that applied them, and the breakdown is guaranteed to add up to the total the agent quotes. Zero-valued tax and shipping lines are left out rather than implying "no tax" / "free shipping" before the shopper has given an address.success with zero items and buried the reason in messages, which reads to an AI agent as "added to the shopper's cart". Such a request now fails with the actual reason, and an update_cart that resolves to nothing leaves the shopper's existing cart untouched instead of emptying it.agentic_masked_id column and a supporting index to the quote table (applied on setup:upgrade), which is what lets the two cases be told apart after the handoff.pagination.cursor quietly restarted the listing at page one, so an agent walking a large result set was served the same page over and over while believing it was making progress. The restart still happens — page one is the only page that can be trusted at that point — but the response now says so.get_product returned disabled products (marked unavailable, but described in full) and would let one into a cart, while lookup_catalog of the same SKU returned nothing — the same product, two answers. The listing tools were always store-scoped; the by-SKU ones went straight to the product repository, which filters nothing. Disabled products, and products belonging to another website, are now refused on every path. Visibility is deliberately not part of this: naming a SKU is a direct reference, so a Catalog only product is still returned and still purchasable, exactly as it is from its own product page.get_product for a SKU that does not exist answered with an opaque "Internal error" and a correlation id, which an AI agent cannot tell apart from the store being broken — so it had no way to know that suggesting something else was the right move. It now returns a distinct "Resource not found" naming the id, the same treatment an expired cart id already had.search_catalog's price_min and price_max were ignored outright: on a catalogue of $20/$32/$34/$45 products, asking for everything under $10 returned all four, and so did asking for everything over $1,000. An agent asked for "bags under $10" therefore offered the shopper $45 bags as matches, with nothing in the answer to suggest the budget had been dropped. Both bounds are now applied as a real price range, so a price-constrained request returns only products inside it.0 — which is how an agent client says "drop this line" — and a malformed one such as "two" were both silently rounded up to a quantity of one, so a client-side mistake turned into a real order for an amount nobody asked for. Such a request is now rejected, naming the line item at fault and pointing at update_cart for removals, so the agent can correct itself instead of confirming a purchase the shopper did not want. Leaving the quantity out still means one, as the tool has always documented.get_product no longer looks like a product with no description — Search and lookup results carry the description as description.plain, but the single-product tool returned only description.html, so a client that read the plain text off a listing and then asked for the full detail found the key missing and reported the product as having no description at all — the detail tool looking emptier than the search that led to it. get_product now returns both forms, with the plain text complete and untrimmed (the 400-character summary exists to keep ten product pages out of one search response, which does not apply to a single product).get_product on a product with a media gallery (around 9,000 characters on a typical catalogue) failed outright rather than arriving shortened. Browser results are now built to fit rather than cut: the store leaves out the HTML copy of the description, then the product and variant images beyond the first, then shortens the description to a summary, and names in messages what it left out - so what the agent receives is always complete, valid JSON, and it knows to follow the product's url for the full version. Nothing an agent needs in order to sell is ever removed: a product view keeps its whole variant list, and no product is ever dropped from a page of search results, because the agent's next page would start past it. A search asked for more products than fit says so and points at pagination.limit. The size is a new WebMCP output budget (characters) setting (Stores > Configuration > Mirasvit Extensions > Agentic Commerce > HTTP surfaces, store-view scoped), defaulting to 1500 because that is Google's recommended limit for one in-browser tool output; raise it to give agents more detail per product, lower it to give them less, or set 0 to send everything. Direct /agent/mcp responses are unchanged unless the client asks for a size of its own.{{ categories.all }} directly — which the field's own help text encouraged — raised the same "Array to string conversion" warning once per category, so saving or previewing the template produced a wall of 35–50 identical lines that buried the one sentence explaining the mistake. Repeated warnings are now collapsed and the summary capped at three distinct problems (with a "+N more" marker; the full list still goes to the log), and the actionable advice comes first with the raw engine error after it. The field's help text has also been rewritten to separate the variables you output directly from the collection variables that must be looped with {% for %}, with a worked example for each and a link to the variables manual./.well-known/ucp profile that was a byte short, because of how the key material was encoded. An AI agent reading that profile could not use the key: with this release signing responses, it would have rejected every answer the store gave as unverifiable. Affected stores are fixed by upgrading, with no need to regenerate the key.search_catalog describes its query, filters and pagination as optional, then refused any call that used none of them. That is exactly the call an indexing agent makes to pull the catalogue a page at a time, so a feed crawler read zero products from a fully stocked store and had no way to tell that from an empty catalogue. Such a request is now answered as a browse of the store's root category — the same listing the JSON API returns — and the schema says plainly that all three are optional.structuredContent, which the protocol defines as the structured form of a tool's output, found nothing there and read zero products from a search that had in fact succeeded. Both forms are now produced in a single pass, so they can never disagree, and an over-budget notice appears in each./llms.txt now contains links on a fresh install, out of the box — The default agent-instructions template only produced links in its "Store Policies" section, which is empty until an admin manually configures Policy Pages. On a fresh install — or any store that hadn't touched that setting — /llms.txt therefore rendered with zero links and failed PageSpeed's "the llms.txt file should contain links" recommendation, the very check the extension is meant to satisfy. The default template now also lists your storefront's active product categories as markdown links, which need no configuration, so /llms.txt gives AI agents a usable catalogue map and passes the PageSpeed check by default. Stores with a customised template are unaffected.setup:upgrade aborted with "The attribute set ID is incorrect" while adding the module's agent-instructions product attribute, which made the module impossible to install at all. The default set is now looked up by ID instead of by name, so installation works whatever yours is called.brands/tokina) while product links were absolute, so an agent had no reliable way to open a category. Worse, when a product or category had no generated URL rewrite — for instance a category with an empty URL key — the link fell back to the stored URL path, which doesn't route and returned a 404. Every product and category link is now a full absolute URL, and entities without a rewrite fall back to a link that always resolves, so agents no longer receive dead category links.search_catalog, lookup_catalog, get_product) reported the raw catalog price excluding tax, so an AI agent quoted a price lower than the storefront shows and lower than the shopper is charged at checkout — a 20% VAT store, for instance, was under-quoting by 20%. Prices sent to agents now come from the same pricing pipeline the storefront uses, so they honour your tax display setting along with any active special price or catalog price rule. Stores that display prices excluding tax are unaffected.Blog
We are committed to being open and transparent with our customers. When you purchase our module, you automatically receive one year of free support service and free updates.
Why is this important?
- Seamless Installation and Configuration: We understand that setting up a new module can take time to configure according to your specific needs. That’s why we offer a full year of free support. Our experienced team is here to assist you with installation, configuration, and any questions you might have. We're eager to share our expertise to ensure you get the most out of your purchase.
- Stay Updated with Magento (Adobe Commerce) Releases: Magento releases new versions approximately every three months. These updates can sometimes introduce compatibility challenges. To keep your store running smoothly, we provide a year of free access to the latest versions of our modules, ensuring that you can upgrade Magento and our modules without encountering any obstacles.
- Subscription Included: Renewing your subscription ensures continued access to the latest updates and support from our team. This means you can be confident that any issues you encounter with the extension will be resolved quickly and efficiently. You can cancel your subscription at any time without any additional fees.
These are our primary. A major portion of our new clients come from referrals from our existing clients. Our professional team of developers, marketers and support staff have invested the best knowledge and experience in the field into our work, so you know you can come back to us again and again.
One year free and high quality support. We go to great lengths to provide maximum satisfaction with every module you have purchased in our store. By helping you with installation, configuration, answering your every question, we do all our best to eliminate any possible problems.
30-days money back guarantee. If you are not satisfied with our Magento AI shopping agent performance for any reason, we provide a full refund.
We constantly add new features to all our modules, and are always interested in hearing your opinion and implementing your suggested features in our future developments.
We provide an expanded user guide for every aspect of our Magento MCP storefront, so you can find answers for all your burning questions.
You can customize Magento UCP integration according to your needs and requirements.
The Module is easy to install and upgrade, just follow our step-by-step user guide. Additionally, the extension is ready to use with the Hyvä theme.
No core modifications. The AI commerce for Magento has been tested in a Magento Cloud environment and is fully compatible with it.
Oleksandr Drok
Andriy Kovalenko