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

# Connect Claude and ChatGPT to your store (MCP)

> Reval's MCP server lets Claude, ChatGPT and other assistants query your subscriptions, customers, orders, plans, boxes, metrics and settings. Read-only; the assistant signs in with your store (OAuth) or uses an API key. Step-by-step guide for Claude (web, desktop, Code) and ChatGPT, example questions, personal data and limits.

Reval publishes an **MCP server** (Model Context Protocol, the standard Claude, ChatGPT, Cursor and others use to connect to data sources). You connect it once by signing in with your store, then ask the assistant in your own words: "how many active subscriptions do I have?", "which customers had a failed charge this week?", "which products appear in the most boxes?".

> [!NOTE]
>
> It is **read-only**. The assistant queries your store; it cannot pause, cancel, edit or change settings, with any key. To act on subscriptions from your own systems, use the [API](https://docs.appreval.com/en/developers/api.md).

***

## Before you start

* A store with Reval installed and access to the admin (**Reval → Integrations**).
* An MCP client. This guide covers **Claude** (web, desktop, mobile and Claude Code) and **ChatGPT**; any other client that supports remote MCP servers over HTTP works with the same URL.
* A plan that allows custom connectors. As of **October 21, 2026**: in Claude, the Pro, Max, Team and Enterprise plans; in ChatGPT, Plus, Pro, Business, Enterprise and Edu with **developer mode** enabled. Each client's menus and requirements change often: if something does not match, search for "connectors" or "MCP" in the client's help.

***

## Step 1: connect the assistant

The server URL is shown in **Reval → Integrations → AI assistants**. In production it is:

```text theme={null}
https://api.appreval.com/mcp
```

Paste that URL into the assistant as a custom connector and choose **sign in**. Reval asks which store is yours, takes you to your Shopify admin (your usual login) and you confirm the access there. There is no key to copy: the assistant receives a token bound to that store, which expires and renews on its own, and which you can cut at any time from **Integrations → Connected assistants**.

### Claude (web, desktop and mobile)

1. Go to **Settings → Connectors** (on claude.ai or in the desktop app) and click **Add custom connector**.
2. Name: `Reval`. URL: `https://api.appreval.com/mcp`. Leave authentication on **Sign in** (Claude detects it) and the OAuth client on the recommended option.
3. Click **Add**, then **Connect**: Reval opens, you enter your store (`tu-tienda.myshopify.com`), confirm in your Shopify admin with **Authorize** and come back to Claude.
4. In a new chat, open the **+** (or tools) menu, enable **Reval** and ask: "How many active subscriptions do I have?".

Connectors are shared across web, desktop and mobile, so you set it up once.

### Claude Code

```bash theme={null}
claude mcp add --transport http reval https://api.appreval.com/mcp
```

Then, in a session, `/mcp` shows the status; pick **Reval → Authenticate** the first time: the browser opens with the same flow (store → Shopify admin → Authorize). Claude Code receives the authorization on a local address (`localhost`), which is why the screen warns about it.

### ChatGPT

1. Go to **Settings → Connectors** (or **Apps & connectors**), open **Advanced settings** and turn on **developer mode**.
2. Click **Create** (connector). Name: `Reval`. MCP server URL: `https://api.appreval.com/mcp`. Authentication: **OAuth**.
3. Confirm: ChatGPT opens Reval, you enter your store, confirm in your Shopify admin with **Authorize**, and ChatGPT lists the available tools.
4. In a chat, open **+ → More** and pick **Reval**, or enable developer mode in the chat, and ask: "How many active subscriptions do I have?".

> [!TIP]
>
> Any MCP client that supports OAuth (Cursor, MCP Inspector, your own agent) connects the same way: the URL, automatic discovery and the same sign-in. Reval publishes the standard metadata at `/.well-known/oauth-authorization-server` and `/.well-known/oauth-protected-resource/mcp`.

***

## Alternative: an API key

If your client cannot sign in (a script, an agent without a browser), you can use a key:

1. In **Reval → Integrations → API keys**, type the assistant's name, tick **Read-only** and click **Generate key**. It is shown in full only once.
2. Send it in the header: `Authorization: Bearer reval_…`, for example in Claude Code with `--header "Authorization: Bearer reval_…"`.

The form `https://api.appreval.com/mcp/reval_…` (key at the end of the URL) still works for clients that only take a URL, but it leaves the key stored in the client and in access logs. Prefer signing in; if you use this form, make the key read-only and revoke it in **Integrations** if you see it exposed.

***

## What to ask

* "How many active subscriptions do I have? And paused?"
* "Which customers had a failed charge this week?"
* "How much did subscriptions bill in the last 30 days compared with the previous period?"
* "What are the most frequent cancellation reasons?"
* "Find Martín Pérez and tell me what he subscribes to and when his next charge is."
* "Which products appear in the most boxes?"
* "Which subscriptions get charged next week?"
* "Is free shipping on? Is Klaviyo connected?"
* "Which orders are on hold for lack of stock?"

The assistant combines whichever tools it needs. If an answer looks incomplete, ask it to use a specific tool ("use list\_subscriptions with payment\_failed") or to fetch more rows.

***

## What it can query

| Tool | Returns |
| - | - |
| `get_store` | Language, currency, time zone, checkout rules, orders & inventory (stock policy, auto-merge, free shipping), portal, notifications (Klaviyo, Flow, GTM connected or not), Mercado Pago status, branding and which personal data this server returns. Never credentials. |
| `get_dashboard_metrics` | What you see on **Home** for a period (today, yesterday, 7, 30 or 90 days): revenue, new, net, units, orders (with the previous period and % change), subscriptions by status, MRR, all-time totals, cancellation reasons and the daily series. |
| `list_subscriptions` | Subscriptions with filters: status, customer, product, plan, box, signup and next-charge dates, and **failed charge** (the admin's filter). Each row carries named products, amount, cadence, next charge and dunning state. |
| `get_subscription` | One subscription in full: products, plan terms, shipping and tax, masked card, charged cycles, status and price history, latest orders. |
| `search_customers` | Search by name, surname or email (case- and accent-insensitive). |
| `get_customer` | One customer with every subscription and order. |
| `list_orders` / `get_order` | Orders generated by subscriptions, with the Shopify order number, the Mercado Pago payment, hold reason and fulfillment status. |
| `list_plans` | The **Plans** with cadence, price, discounts, min/max cycles and each plan's products. |
| `list_boxes` | The **Boxes** with their plans, sizes, eligible products, add-ons and tiers. |

Tool names are a contract: they do not change. Amounts are in the store's currency; dates in UTC.

***

## Your subscribers' personal data

Every answer travels to the assistant's provider (Anthropic, OpenAI or another). That is why **you decide** how much about your subscribers is shared:

| | What it includes |
| - | - |
| **Always** | Name, email, Shopify customer id, city, province, country and card brand. |
| **Only if you turn it on** | Phone, full address (street, unit, postal code), company, fiscal document and the card's last digits and expiry. |
| **Never** | Mercado Pago credentials, card tokens, Klaviyo API key, webhook secrets and Reval's billing. |

The option **Share subscribers' contact details with assistants** is in **Reval → Integrations → AI assistants** and applies to every key of the store. Before turning it on, review your country's data-protection rules and the terms of the assistant you use; the decision and the responsibility are the merchant's.

***

## Limits

The server shares the [API](https://docs.appreval.com/en/developers/api.md#limits)'s limits so a long conversation never affects the admin, the checkout or the charges:

* **2000 requests per minute per connection** (an assistant that signed in, or a key with API and MCP counted together). Past that, the assistant gets a clear message ("Usage limit reached… works again in Ns") and works again once the window clears.
* Each listing returns up to **100 rows** (25 by default) and continues with a cursor.
* A disconnected assistant or a revoked key gets "Unauthorized" on every query and returns no data.
* An assistant's token lasts 1 hour and renews itself for 30 days of use; after 30 days without use, the assistant asks you to sign in again.

***

## Troubleshooting

* **The client says it cannot connect.** Check that the URL is exactly `https://api.appreval.com/mcp`, with no spaces or trailing slash. If you use a key, it must start with `reval_` and not be revoked.
* **Signing in says the store does not have Reval.** Enter the `.myshopify.com` domain (not the store's own domain) and check that Reval is installed on that store.
* **The assistant asks to sign in again.** 30 days passed without use, or you disconnected it from Integrations. Connect again; it takes a minute.
* **Claude Code warns that the address is local.** That is expected: it receives the authorization on `localhost`. Authorize only if you ran the command yourself.
* **The assistant cannot find a customer that exists.** Search by email or by part of the name; if it still does not appear, it belongs to another store: each key sees only the store that generated it.
* **Phone or address are missing.** That is the personal-data option (see above): they are not shared by default.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.