AOV.ai Bundle Upsell MCP
Point the AI tool you already use — Claude, Cursor, Claude Code — at this store's bundle data. Once connected, your assistant answers questions about your offers, your bundle revenue, your plan and whether the widget is live, on its own, without you opening the app or sharing your Shopify login.
The assistant reads live data, so an answer is never stale, and it reads it read-only, so nothing it does can change an offer.
Read-only, and enforced on the server
Every connection is read-only, and not because the model was asked nicely. The app registers no write tools at all, so there is nothing for an assistant to call that would change an offer, a discount, or a setting. You can connect a tool you are still evaluating without weighing what it might do to a live store.
One token, one store
A token is issued to one store and carries that binding itself. The store is never taken from the request, so a token cannot be pointed at a different shop.
If you run more than one store, rename the server in each config. Every generated snippet names
the server aov-bundle. AI clients key their server list by that name, so a second store's config
silently replaces the first — and nothing in the answers tells you which store you are looking at.
Change it to something like aov-bundle-northwind per store before you paste.
Two ways to connect
Unlike a plain API key, this server is also an OAuth authorization server, so clients that have no field for a token can still connect.
| Sign in | Paste a token | |
|---|---|---|
| You do | Paste the server URL, click Connect, sign in at Shopify | Create a token in the app, paste a snippet |
| Suits | Claude web and desktop, and any connector that asks only for a URL | Claude Code, Cursor, your own scripts |
| Secret to keep | None — the client fetches its own | Yes, shown once |
Both end up at the same place: a read-only token bound to one store, listed in Settings → Integrations, revocable at any time. See Authentication.
What it can read
Five tools, all read-only:
| Area | What the assistant can answer |
|---|---|
| Setup | Whether the bundle widget is live on the storefront, and what is blocking it |
| Offers | Your offers by name, type or status — and the full setup of any one of them |
| Performance | Additional revenue, bundle orders, attach rate, and the offers that earned most |
| Plan | Your plan, the revenue used this cycle, and your cap if your plan has one |
See the tool guide for what each one does.
What it never returns
- No customer data. No names, emails, addresses, or individual orders. Performance figures are aggregates over a date range.
- No product catalogue. The assistant sees the products you put into an offer, not your Shopify catalogue.
- No credentials. Not your Shopify access token, not the connection token, not any internal record id.
- No pricing or upgrade pitch. The plan tool reports what your store is doing. It does not list plans or quote prices.
Available on every plan
Connecting to AI is not gated behind a subscription — a store on the free plan can connect. The
free plan's own revenue cap still applies to the app, and get_plan_status is the tool that tells
you where you stand against it.
Where next
- Authentication — sign in, or create a token
- Install a client — Claude, Claude Code, Cursor
- Tool guide — the five tools
- Recipes — four questions, start to finish
- Troubleshooting — every refusal, and what it means
- Store API — the same data as plain REST, for scripts