> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abconvert.io/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP troubleshooting

> Common errors and how to fix them.

## "Invalid token" / 401 Unauthorized

**Cause:** The token in your MCP client config is wrong, expired, or revoked.

**Fix:**

1. Open ABConvert → Settings → Claude / MCP Access.
2. Confirm the token (or connector) you're using is still listed and not marked as revoked.
3. If it's revoked or missing, mint a new one and update your MCP client config. For Claude Desktop / Claude.ai, generate new connector credentials and re-add the [custom connector](/mcp/claude-connector).

If your client reads a config file (Claude Code and most CLI clients), fully quit and re-open the app after updating it. Just closing the window doesn't reload the config.

## "MCP is not enabled for this shop" / 403 Forbidden

**Cause:** Your shop doesn't have the `enable-mcp` feature flag turned on.

**Fix:** Contact ABConvert support and ask to enable MCP for your shop. Tell them which shop domain you're on. Same-day turnaround in most cases.

<Note>
  MCP is rolling out gradually during beta. The flag is off by default; we turn it on per shop as we confirm everything works for your specific configuration.
</Note>

## "Rate limit exceeded" / 429

**Cause:** You've made more than 200 requests in the last minute on the same token.

**Fix:** Wait a minute. The limit resets each minute. The response includes a `Retry-After` header that tells your AI assistant exactly how long to wait — most clients respect it automatically.

If you legitimately need a higher limit (e.g. a production integration making heavy use), contact support to discuss. The default works for normal interactive Claude usage; runaway loops are the only thing that should hit 429.

## "Service temporarily unavailable" / 503

**Cause:** ABConvert has temporarily disabled MCP HTTP transport (typically during a deploy or incident).

**Fix:** Check the [status page](https://status.abconvert.io) and wait. Stdio-based connections (mostly internal/dev) are unaffected. The disable is usually transient — under 5 minutes.

## Tools don't appear in Claude

**Symptoms:** Claude doesn't show ABConvert tools when you start a new chat, even though setup looked successful.

**Fix:**

<Steps>
  <Step title="Claude Desktop / Claude.ai: check the connector">
    Go to **Settings → Connectors** and confirm ABConvert is listed and enabled. If it shows an error, remove it, generate fresh credentials in ABConvert, and re-add it — see [Claude.ai connector](/mcp/claude-connector).
  </Step>

  <Step title="Config-file clients: confirm syntax is right">
    JSON syntax errors silently disable an entire MCP server config. Run the JSON file through a validator (e.g. `jq . path/to/config.json`) — it should print without errors. Then fully quit and re-open the app; just closing the window doesn't reload MCP servers.
  </Step>

  <Step title="Check the connection">
    In a new chat, ask: "What ABConvert tools do you have?" Claude should list them. If it says "I don't have access to any ABConvert tools," the MCP connection failed silently.
  </Step>

  <Step title="Verify the token actually works">
    Open a terminal and run:

    ```sh theme={null}
    curl -X POST https://mcp.abconvert.io/mcp \
      -H "Authorization: Bearer abc_your_token_here" \
      -H "Accept: application/json, text/event-stream" \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
    ```

    If this returns a list of tools, your token is fine — the issue is your assistant's config. If it returns 401 or 403, see the sections above.
  </Step>
</Steps>

## Claude creates the test on the wrong product

**Cause:** The product name was ambiguous — Claude picked the wrong match from your catalog.

**Fix:** Be more specific in your prompt. Instead of "test 10% off the snowboard," say "test 10% off **The Collection Snowboard: Oxygen**." Or paste the product GID directly if you know it.

If the wrong product still gets created, leave that draft and just recreate the test correctly — nothing has happened on the live store yet, so an unlaunched draft is harmless. Deleting isn't available from chat (the API token can't delete); remove the stray draft from the dashboard when convenient.

## Claude doesn't ask for confirmation before creating

**Symptoms:** You said "test 10% off Oxygen" and Claude went straight to creating without asking about hypothesis, goal, or audience.

**Cause:** Either (a) your prompt already specified all the relevant fields ("test 10% off Oxygen for US mobile, hypothesis: discount lifts RPV, goal: revenue per visitor, 50/50 split, save as draft" — Claude has everything it needs and skips confirmation), or (b) you said something like "just create it" / "use defaults" earlier in the conversation.

**Fix:** If you want the confirmation step, ask specifically: "Before creating, confirm the hypothesis, goal, traffic, and audience with me." Or open a fresh chat — Claude treats each new conversation independently.

## "Already in active test" error on launch

**Cause:** You're trying to launch a test that overlaps with an already-running one — same product (price tests), same zone (shipping), same theme (theme tests), or same trigger URL (redirects). ABConvert blocks this to prevent two tests from fighting each other.

**Fix:** Either end the conflicting test first, or pick a different resource for this one. The error message includes the conflicting experiment ID.

## "I can't see your storefront"

**Cause:** You asked Claude to do a visual editor test (text/image/link change) — those need a click-to-record interface that MCP doesn't provide.

**Fix:** Use the visual editor in the wizard for those. [Visual editor docs →](/experiments/visual-editor-test)

## Still stuck?

* **Live chat** in the ABConvert dashboard, bottom-right corner. Mention you're using MCP and paste any error messages.
* **Email** [support@abconvert.io](mailto:support@abconvert.io) — same humans on the other end.
* **Status page** at [status.abconvert.io](https://status.abconvert.io) for incidents that affect everyone.
