# Rabbot's MCP server: ask your agent about your store.

> Rabbot runs its own MCP server: nine tools, eight read and one guarded write, so any MCP-capable agent can ask what is blocking a sale instead of querying raw store data.
> Canonical: https://rabbot.ai/mcp · Install: https://apps.shopify.com/rabbot

Rabbot runs its own MCP server. Eight tools read a store's status, and one narrow, guarded tool marks a finding as intentional so Rabbot stops flagging it. Any MCP-capable agent can use it once you mint a token.

## The tools

Every tool binds to one authenticated store per call. Eight of them read. One of them writes, and only in a narrow, guarded way.

- **get_protection_status** _(read)_: Plan, monitored-URL coverage against the cap, last crawl time, and open-issue counts by severity.
- **whats_blocking_sales** _(read)_: What is stopping a sale right now, grouped into product stories with channel chips.
- **list_open_issues** _(read)_: Every open problem: URL, rule, severity, detail, and when it opened. Most severe first.
- **get_url_timeline** _(read)_: One page’s history: last 7 days on the free tier, full history on paid plans. Changes, opens, fixes, and clean runs, newest first.
- **list_recent_catches** _(read)_: What Rabbot caught and confirmed fixed in the last 30 days. The receipts.
- **get_url_health** _(read)_: One monitored URL’s last check time, fetch result, and open issues.
- **list_day0_findings** _(read)_: The install-time feed audit findings: price, availability, status, and completeness.
- **notifications_sent** _(read)_: What actually sent in the last 7 days, by channel, from the send log.
- **dismiss_finding** _(the one write, guarded)_: Mark a finding as intentional so Rabbot stops flagging it, for one page or store-wide. Refuses anything blocking a sale, with two documented exceptions that can be intentional: a deliberate password gate or a custom purchase flow.

Rabbot never reports a clean bill of health it can't back up. If a Critical issue is open anywhere on your store, `whats_blocking_sales` says so, even when nothing it classes as sale-blocking is open.

## A raw integration hands back rows. Rabbot hands back a verdict.

Point a generic tool at a store's own data and it returns exactly what you asked for: a list, a count, a field. Nothing more.

**A raw integration**

- Returns rows: a list of products, a list of orders, a list of pages.
- The judgment is your job. Deciding whether a row is a problem is on you.
- No memory. It only knows what it can see right now.

**Rabbot's MCP**

- `whats_blocking_sales` names the exact problem, already triaged by severity.
- `get_url_timeline` hands back a page’s history, not just today’s snapshot: last 7 days free, full history on paid plans.
- History Rabbot already recorded. An integration that starts watching today cannot rebuild it.

## Setup

1. Open Settings in your installed app and find Agent access (MCP).
2. Mint a token. It is shown once, so copy it now.
3. Paste the command below, or drop the config into your agent’s client.

Claude Code:

```
claude mcp add --transport http rabbot https://app.rabbot.ai/mcp --header "Authorization: Bearer YOUR_TOKEN"
```

Settings builds this command with your real token already in it. Paste it as-is.

Any MCP client that reads a config file:

```json
{
  "mcpServers": {
    "rabbot": {
      "type": "http",
      "url": "https://app.rabbot.ai/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}
```

Works with any MCP-capable agent. Revoke a token in Settings and access ends.

## How it's built

- Rabbot stores only the token’s hash. The raw token is shown once, at mint, and never logged.
- Minting a new token retires the old one. Re-minting is how you rotate it.
- Five requests a second per token, ten in a burst. A flood of bad tokens gets capped before it reaches the database.
- This token is separate from how a merchant signs in. Revoking it never touches the store’s Shopify connection.

## FAQ

### Does Rabbot have an MCP server?

Yes. Rabbot ships its own MCP server: nine tools bound to one store at a time, mounted in the same server that runs the app.

### Is the MCP server free?

Yes. Agent access is free on every plan, including the free tier. Mint a token from Settings once Rabbot is installed.

### Can an agent change my store through it?

Only one tool writes, dismiss_finding, and all it does is mark a finding as intentional so Rabbot stops flagging it. It refuses anything blocking a sale, with two documented exceptions that can be intentional: a deliberate password gate or a custom purchase flow. Every other tool only reads.

### Does an agent need my Shopify login?

No. It needs a bearer token you mint from Settings, scoped to one store and revocable at any time. That token shares no code path with how you sign in.

### Does it work with agents other than Claude?

Yes. Any MCP-capable agent that can send a bearer token in a header can connect to it.

---

Give your agent the same watch you already trust. Mint a token from Settings and connect the agent you already use.

Add to Shopify, free forever: https://apps.shopify.com/rabbot

Free forever · no card required · never writes to your store

(Server URL: https://app.rabbot.ai/mcp)
