aov-bundle-upsell
🤖 MCP
Troubleshooting

Troubleshooting

Three checks that isolate the layer

Work out which of three things is broken before anything else. They have different fixes and look identical from the chat window.

  1. Does the client list the server? /mcp in Claude Code, Settings → MCP in Cursor, the tools icon in Claude. Not listed means the client config is the problem — the server has not been reached.
  2. Does it show 5 tools? Listed with zero tools means it was reached and the credential was not accepted.
  3. Does a question get a real answer? Ask "are my bundles showing on the storefront right now?". A refusal here is the server talking.

A fourth check, from the app side: open Settings → Integrations and read Last used on the connection. Still Never used means nothing has ever reached the server, whatever the client shows.


Signing in fails

Every message below ends the flow safely — nothing is granted. Start again from your AI client rather than reopening the old link.

MessageMeansWhat to do
This sign-in did not start in this browserThe flow was started somewhere else, or the browser dropped the cookieStart again, in one browser, from your own client settings
This sign-in expired or was already usedMore than 30 minutes passed, or the link was opened twiceStart again
This sign-in was for a different storeThe domain you typed and the store you signed into do not matchRetype the .myshopify.com domain, and sign into that store
AOV Bundle is not installed on that storeRight domain, wrong store — or the app is uninstalledInstall the app, or check the domain
This sign-in link could not be verifiedThe return from Shopify was altered in transitStart again; if it repeats, contact support
Unknown clientYour client's registration is goneRemove the connector and add it again
This connector asked to return to an unregistered addressThe connector changed its return address after registeringRemove the connector and add it again
This request did not come from the consent pageThe approval did not come from the page you were shownStart again from your client, and do not use a link someone sent you
⚠️

"This sign-in did not start in this browser" is a security check doing its job. The flow is bound to the browser that opened it, so a consent link forwarded by someone else cannot be used to grant them access to your store. If you did not start this yourself, that is the message telling you so — do not try to work around it.

It is also what you get from an ordinary browser setting: a private window that discards cookies, a strict tracking-protection mode, or starting in one browser and finishing in another. Complete the whole flow in one normal window.


The server does not appear in the client

Claude Desktop was not fully quit. Closing the window is not quitting on macOS. Quit from the menu or with Cmd+Q, then reopen.

Node.js is missing. Only when connecting through mcp-remote — it needs Node.js 18 or newer.

A space after the colon. mcp-remote setups only, and the most common mistake: Authorization:${AUTH} has no space after the colon. A space breaks how the bridge splits its arguments, and the only symptom is a server that will not connect.

The JSON is invalid. One trailing comma and the whole file is ignored, including every other server in it. Paste it into a JSON validator before blaming the connection.

The config file was replaced rather than added to. If other MCP servers vanished at the same time, this is what happened.


The server appears, but no tools

The server was reached and the credential was refused. Ask a question and read the refusal.

Refusal saysMeansWhat to do
UnauthorizedThe token was not accepted — see belowCheck the header first
Rate limit exceededMore than 60 calls in one minuteWait about a minute
Method Not AllowedThe client sent GET; only POST is validA client-side problem — check the transport is HTTP, not SSE
⚠️

Unauthorized covers more than a revoked token. The same response is returned when the client sends no token at all, when the token is unknown, when it has been revoked, and when the app is no longer installed on the store. That is deliberate: telling the difference would let someone use this endpoint to work out which tokens are real.

So before you create a replacement, rule out the case a new token cannot fix. Check, in this order:

  1. Is the Authorization header actually present in the client's config, with Bearer and a single space?
  2. Is the app still installed on the store? Uninstalling revokes every connection, and reinstalling does not restore them.
  3. Was the connection revoked in Settings → Integrations? The list shows what exists.

Only after those three is minting a new token the right move. Revoking is not reversible, so a connection destroyed on a wrong guess does not come back.


"Create connection" is greyed out

You are at the limit of 5 tokens created by hand. Revoke one in the connections list to free a slot.

Connections made by signing in do not count against those five, but they do appear in the same list — which is why the count can look wrong. The card's own "N of 5 connections used" is the number that decides whether the button is enabled.


The token was accepted but the answers are wrong

Answers are about a different store. You have two stores connected and both configs name the server aov-bundle. AI clients key their list by name, so the second silently replaced the first. Give each store a distinct name, remove both entries, and add them back.

Revenue does not match the dashboard. Check currency in the result. Analytics are reported in USD regardless of the currency your store sells in, and the date range defaults to the last 30 days when none is given.

"You have 10 offers" and you have more. get_offers defaults to a limit of 10 and says nothing about it. Ask again with a higher limit.

An offer reads as expired and nobody expired it. Check get_plan_status. On a capped plan, reaching the cap switches offers off automatically — see Why did my offers stop mid-month?.

Revenue is reported as zero. Ask whether that was a real zero. When the analytics warehouse cannot be reached the tool returns analytics_unavailable instead of zeros, so that an outage is never reported as a bad month — but an assistant can still summarise past it.


The widget is fine and the assistant says it is not

get_setup_status reads your live theme. If you have been editing a draft or a duplicate theme, the answer is about the published one, which is the right answer to the shopper's question and not to yours.

Publish the theme you are working on, or read the themeId in the result and check which theme that actually is.


Reporting a problem

Include:

  • The client, and which way you connected — signed in, or a token
  • The exact refusal message, read back from the assistant
  • The connection name and its Last used value, from Settings → Integrations
  • What you asked

Never include the token itself, in a ticket, a screenshot, or a chat log. Support cannot read it back either — the server holds only a fingerprint. If a token has appeared anywhere it should not have, revoke it and create a new one.

Related

Product
Install AppWebsiteAvada Apps
Resources
DocumentationFAQPrivacy Policy
Company
Avada GroupContact
© 2026 Avada Group. All rights reserved.