Angeo MCP Checkout turns a Magento 2 or Adobe Commerce store into a conversational storefront. An AI assistant can search the catalogue, build a cart, quote real shipping rates and place an order — in natural language, always with the shopper’s explicit confirmation, and always with payment completed outside the conversation.
Built on the Model Context Protocol, an open standard, so the same endpoint works with Claude, ChatGPT, Perplexity, Grok and Mistral Le Chat. Ten tools, six read-only and four that write. Guest checkout only, no card data, guardrails enforced in Magento rather than requested in a prompt.
What it does
Once connected, an assistant can carry out a complete shopping journey against the live store:
- browse categories and understand what the store sells;
- search the catalogue and compare products with live prices and stock;
- build a guest cart;
- get real shipping quotes for a delivery address;
- place the order and return an order number and a payment link.
Nothing is cached, mocked or synthesised. Every figure resolves through Magento’s own rules at the moment it is asked for.
New in 1.3.0. The server now generates its own instructions from the store name and the tools actually installed, appends the store name to every tool description, and exposes MCP prompts — ready-made conversation starters a client can offer the shopper. Configuration for all three is in the agent presentation settings.
Available tools
Ten MCP tools. Each carries standard annotations, so an assistant knows which are safe to call freely and which need confirmation.
| Tool | What it does | Behaviour |
|---|---|---|
get_store_info | Store name, currency, countries shipped to, policies | read-only |
list_categories | The active category tree | read-only |
search_products | Keyword search with category and price filters | read-only |
get_product | Full product card: description, attributes, price, stock | read-only |
get_cart | Current cart contents and totals | read-only |
get_shipping_methods | Shipping options and costs for a destination | read-only |
create_cart | Creates a new guest cart | writes |
add_to_cart | Adds a product by SKU | writes |
set_shipping_information | Sets address, contact details and shipping method | writes |
place_order | Places the order | destructive — always asks the shopper to confirm |
Product types: simple, virtual and configurable are supported end to end. Grouped products cannot be added as one unit — the error lists their component SKUs. Bundle and downloadable are not supported.
Connecting your AI assistant
Read this before you publish a connect link. Your store’s own /mcp path authenticates with a bearer token and has no OAuth flow, so it cannot be pasted into an assistant’s connector settings — the attempt fails with an error that does not explain itself. Assistants need an OAuth-capable endpoint. That is what an OAuth 2.1 layer in front of the store provides, and it is what you put in the button.
Claude
Available on Free, Pro, Max, Team and Enterprise; the free tier is limited to one custom connector.
- Open Settings → Connectors
- Click Add custom connector
- Name it after the store — the name is what a shopper types to match a request to it — and paste the OAuth-capable endpoint URL
- Leave the advanced OAuth Client ID and Secret fields empty if your endpoint supports dynamic registration; filling them in breaks a working flow
- Complete the consent step
- Set the Read-only tools group to Always allow, so a catalogue search does not stop for a click every time
ChatGPT
Requires Plus, Pro, Business, Enterprise or Edu with Developer Mode enabled. Not available on the free tier. Since December 2025 OpenAI calls connectors apps.
- In Settings, enable Developer Mode
- Go to Apps & Connectors → Add custom app (or Import MCP server)
- Enter the endpoint URL and complete the OAuth flow
- In a conversation, open the tools menu and toggle the app on for that session
Perplexity
Works on Pro, Max and Enterprise. Settings → Connectors, add a custom remote connector with the HTTPS endpoint, and scope it as Individual or Organization.
Grok and Mistral Le Chat
Both support remote MCP servers — Grok on paid accounts, Mistral Le Chat on all plans. Find the connectors or integrations section, add a custom remote MCP server, enter the HTTPS endpoint.
What to say once connected
Some phrasings reach the connector reliably; one does not. The pattern is simple — a request that implies a specific merchant wins, a request about the market in general does not.
Reliable, because nothing else can answer them
Reliable when the store is named
The full flow, which is what a demo should show
What do you sell here?
→ Add the Fusion Backpack to my cart
→ How much with shipping to Rotterdam, 3011AA?
→ Place the order
Every step after the first stays with the connector: the context is established and the cart exists nowhere else. Before placing the order the assistant summarises it and asks for confirmation; once confirmed, you get an order number and a payment link.
A cold request that names no shop — “find me a grey backpack” in a fresh conversation — will often go to the assistant’s own product search instead. That is covered honestly in what to realistically expect, because it shapes how you should position the connector to shoppers.
Installing on your store
composer require angeo/module-mcp-server angeo/module-mcp-checkout
bin/magento module:enable Angeo_McpServer Angeo_McpCheckout
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
Then in Stores → Configuration → Angeo → MCP Server:
- enable the MCP server and the checkout tools;
- require a bearer token (see the note below);
- set order guardrails — maximum order value and item count;
- set the rate limit for order placement;
- under Agent presentation, set Store name for agents to the name customers know you by. It is the single highest-leverage field on the page — “Default Store View” gives an assistant nothing to recognise.
The module protects you here. If checkout tools are enabled but the endpoint does not require authentication, the checkout tools hide themselves and a critical notice appears in the admin. An unauthenticated checkout endpoint would let anyone on the internet place orders anonymously — so rather than trusting you to notice, the module refuses to expose them. The read-only catalogue tools keep working.
Verify before you connect anything
# Full protocol dump: capabilities, instructions, every tool and schema
bin/magento angeo:mcp:tools
Three things to look for: capabilities.tools is present; the instructions name your store and describe what it can actually do; and tool descriptions carry your store name. Configuration details are in the MCP modules reference.
The Add-to-Claude button
Under Stores → Configuration → Angeo → MCP Server → Claude Connector:
- Connector URL — the OAuth-capable HTTPS endpoint issued to your store, not your store’s own
/mcppath. - Connector Name — what shoppers see in their connector list. Use the store’s own name.
- Landing Page Path — recommended, see below.
Place the button from Content → Widgets → Add Widget → Add to Claude Button, choosing where it appears. No code, no HTML to paste.
Why a landing page. A shopper without a Claude account who clicks straight through is bounced to signup — and the prefilled connector details do not survive that redirect. They land in an empty Claude with no connector and no idea why. Point the button at a page on your own store carrying the Claude Connector Landing Page widget: it explains what will happen, tells account-less shoppers to sign up and come back, and seeds example prompts.
Safety and how orders are protected
- Explicit confirmation.
place_orderis annotated destructive, so assistants ask before it runs. It is never invoked autonomously. - Honest tool annotations. Every tool declares what it does — read-only, state-changing or destructive — which is why a catalogue search runs freely and an order stops and asks.
- The endpoint cannot be left open. Checkout tools refuse to appear unless the endpoint requires authentication. There is no configuration in which an anonymous visitor places an order.
- Guest checkout only. No customer accounts, no order history, no stored payment methods. Each cart is a fresh guest cart addressed by an unguessable 128-bit masked ID, so the blast radius of a compromised session is one cart.
- No card data, ever. The module does not collect, request or process card details. Payment completes through your own PCI-compliant gateway or a payment link, entirely outside the assistant.
- Order guardrails. Configurable caps on order value and item count, plus per-IP rate limiting on placement.
- Enforced in Magento, not in the prompt. A model that misreads an instruction still cannot exceed what the server permits — which is the only place a limit is real.
Custom MCP servers are third-party services and are not verified by the AI provider. Only connect to endpoints you trust.
What to realistically expect
Stated plainly, because the surrounding marketing rarely does.
The connector wins everything about your store. Catalogue questions, cart state, shipping to a specific address, policies, checkout. In those categories there is no competing capability — no general product search has your cart or your carrier configuration.
It loses a cold, unanchored shopping request. “Find me a grey backpack”, with no reference to any shop, competes with the assistant’s own product search and usually goes there. That was measured, repeatedly, after tuning the instructions, tool descriptions, titles and annotations; it did not change. And on reflection it should not — a request that names no shop is a question about the market, and one store winning it would be the wrong outcome for the person asking.
An MCP endpoint is not a discovery channel. Nobody finds you through it. It does nothing until a shopper has already connected, which means they already knew you existed. Discovery is the job of the other signals — crawler access, llms.txt, complete product schema, a registered feed. This is what happens after.
So the realistic entry point is context, not phrasing. A shopper arriving from your own connect button is already in your store’s context and does not write cold generic queries. Build the button, the landing page and the demo around that path rather than around beating a general search.
Privacy
See the MCP Privacy Policy for detail. In short: checkout data is passed through to the merchant’s Magento store to place the order; the connector keeps no copy of personal data, records only minimal technical logs — which tool ran, when, and whether it succeeded, never the contents — and never handles card data.
Troubleshooting
The assistant can’t connect
The endpoint must be HTTPS with a valid certificate — plain HTTP is rejected by every client. Check that you used the OAuth-capable endpoint and not your store’s raw /mcp path. On a corporate network, a VPN or firewall may block the outbound connection.
“This connector has no tools available”
Connected, but the handshake did not complete. Run bin/magento angeo:mcp:tools and confirm capabilities.tools is present — without it a client concludes there are none and never asks for the list. If it is present, the fault is between the client and your endpoint; the failure modes are documented here, along with what each looks like in a log.
Connection starts but never finishes
Usually a discovery mismatch: the resource in protected-resource metadata must equal the URI the client used, and the issuer in authorization-server metadata must equal the discovery URL byte for byte. A mismatch stops the flow before any request reaches your application, which is why nothing appears in your logs.
The tools aren’t being called
On ChatGPT, confirm Developer Mode is on and the app is toggled on for the current chat. On any assistant, check the phrasings above — and see what to realistically expect before concluding something is broken.
Every call stops for a confirmation click
Set the Read-only tools group to Always allow in the connector’s tool permissions. Keep write and destructive tools on Needs approval.
“Tool not found”
Run bin/magento setup:di:compile and flush the cache — tools are registered through dependency injection and need a recompile.
FAQ
Can an AI agent really place a live order?
Yes — that is what the four write tools do, and there is a real order on video. It is also why the guardrails are enforced in Magento rather than requested in a prompt, and why you should exercise the flow on staging before enabling it in production.
Why can’t I add my store’s own /mcp URL to Claude?
Because it authenticates with a bearer token and has no OAuth flow, and assistants require an OAuth-capable endpoint. The failure is not obvious from the error message. Use the OAuth endpoint issued to your store in the connector settings and in the Add-to-Claude button.
What stops an agent buying a thousand units?
Server-side limits, enforced in Magento: caps on order value and item count, plus per-IP rate limiting on placement. Prompt-level constraints are advisory; server-level ones are not.
Are card details ever sent to the AI model?
No. Payment is handed entirely to the payment provider through a hosted page or link. No card or bank details are exchanged as conversation text, so none reach the model, the connector or your Magento logs.
Why guest checkout rather than customer accounts?
So there are no stored credentials for an agent session to compromise. The exposure of a compromised session is one cart.
Is this the same as ACP Instant Checkout?
No. Instant Checkout is OpenAI’s protocol flow for purchases inside ChatGPT. MCP checkout is a tool surface any MCP client can drive. Different clients, different protocols, both worth having.
Do the conversation starters appear in every assistant?
The server advertises the prompts capability and answers prompts/list and prompts/get correctly. Whether a given client displays them is up to that client, and support varies. Where it does not, the tools work exactly as before.