MCP · checked October 4, 2026

RevenueCat MCP server, official and open source

RevenueCat runs a hosted MCP server for RevenueCat projects. RevenueDot runs an open-source one at https://mcp.revenuedot.app/mcp, with 38 tools, for any app that ships the RevenueCat SDK with a RevenueDot backend: reads are free, writes wait for your approval, and the same server works self-hosted.

Free up to $10,000 a month in tracked revenue. Already have an account? Sign in

What it is

A tool list your assistant can call

An MCP server gives ChatGPT, Claude, Codex or Cursor named tools such as get-customer or create-offering, each with a schema. You ask in plain words; the assistant picks the tool and shows you the call.

What it does for a subscription app

Setup, support and checks from chat

Create products, entitlements and offerings, find a customer and see why access ended, grant seven days of Pro, retry a failed webhook, read MRR, and check that the App Store and Google Play connections work.

What it never does

No secrets, no money without you

No tool accepts a store key, a password or an API key. Refunds, cancels and extensions need a separate permission, and the assistant asks before each one.

87 seconds

What a session looks like

A health check, a customer lookup, a 7-day grant, a new weekly plan, a webhook retry, and a refund that waits for approval, run from ChatGPT against a RevenueDot project.

Three steps

Connect in about a minute

  1. 01

    Add the URL

    Paste https://mcp.revenuedot.app/mcp into your assistant as a remote (streamable HTTP) MCP server. The config for each client is below.

  2. 02

    Sign in and choose the access

    The assistant opens a RevenueDot page. Sign in with your dashboard account, pick one project, and choose Read only or Read and change. Money actions is a separate box the assistant asks for only when a tool needs it.

  3. 03

    Ask

    Try: Is everything connected? Did any webhook fail this week? Or: Find the customer with email jane@example.com and tell me why they don't have access.

Config, checked against each client's docs on October 4, 2026

The config for each client

Every client takes the same URL. OAuth is the default; where a client cannot run the sign-in, send a secret key from API keys as a bearer header instead.

Claude Codeterminal
claude mcp add --transport http revenuedot https://mcp.revenuedot.app/mcp
# then, inside Claude Code, sign in:
/mcp
Claude Code, shared with the team.mcp.json in the project root
{
  "mcpServers": {
    "revenuedot": {
      "type": "http",
      "url": "https://mcp.revenuedot.app/mcp"
    }
  }
}
Claude Desktop and claude.aiSettings → Connectors
# Settings → Connectors → Add → Add custom connector
# Name: RevenueDot
# URL:  https://mcp.revenuedot.app/mcp
# Click Add, then sign in on the RevenueDot page.
# Pro, Max, Team and Enterprise plans; a free plan can use one custom connector.
Codex~/.codex/config.toml
[mcp_servers.revenuedot]
url = "https://mcp.revenuedot.app/mcp"

# then sign in once:
# codex mcp login revenuedot
Cursor.cursor/mcp.json or ~/.cursor/mcp.json
{
  "mcpServers": {
    "revenuedot": {
      "url": "https://mcp.revenuedot.app/mcp"
    }
  }
}
ChatGPTdeveloper mode
# Settings → Security and login → Developer mode (Plus, Pro, Business, Enterprise, Education)
# Then add an MCP connector:
# Name: RevenueDot
# URL:  https://mcp.revenuedot.app/mcp
# Authentication: OAuth
# Or search RevenueDot in the plugin directory once the listing is live.
Windsurf~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "revenuedot": {
      "serverUrl": "https://mcp.revenuedot.app/mcp"
    }
  }
}
Any client, with your own keybearer header
# A secret key from API keys, limited to the scopes you want the assistant to have
Authorization: Bearer sk_...

# Self-hosted RevenueDot (stdio form; REVENUEDOT_URL defaults to https://api.revenuedot.app)
npx -y @revenuedot/mcp
#   env: REVENUEDOT_API_KEY=sk_...  REVENUEDOT_URL=https://your-server

Sources: Claude Code MCP docs, MCP: connect to remote servers (Claude custom connectors), Codex MCP docs, Cursor MCP docs, ChatGPT developer mode, Windsurf MCP docs. The Claude Code plugin is another route: /plugin marketplace add revenuedot/agent-skills, then /plugin install revenuedot@revenuedot.

Real screens

The tools as Claude shows them

Captured on October 4, 2026 from claude.ai with the RevenueDot connector attached: the tool list the connector exposes, and one tool call with its result.

The RevenueDot connector in Claude's Connectors settings, listing its tools with their permission toggles
Claude's Connectors settings: the RevenueDot connector and its tools, each with a permission toggle.
A Claude conversation where the get-project-health tool is called on a RevenueDot project and returns the result
One tool call in a Claude chat: the request, the tool Claude picked, and the result from the RevenueDot project.

38 tools

Every tool, grouped by what it does

Each tool is one REST API v2 call. The scope column is the permission the connection needs; (d) marks a tool that changes or removes something and that the assistant confirms with you first.

AreaScopeTools
Apps and store connectionsRead only (project:read)list-projects, list-apps, list-public-api-keys, get-app-store-settings, verify-store-credentials, get-project-health, get-import-status
Apps and store connectionsRead and change (project:write)create-app, update-app (d)
Catalog: products, entitlements, offeringsRead only (project:read)list-products, list-entitlements, list-offerings
Catalog: products, entitlements, offeringsRead and change (project:write)create-product, create-entitlement, attach-products-to-entitlement, create-offering, create-packages, attach-products-to-package, archive-offering (d)
Customers and accessRead only (project:read)get-customer, list-customers, list-transactions, list-events
Customers and accessRead and change (project:write)grant-customer-entitlement, revoke-customer-entitlement, set-customer-attributes (d), delete-customer (d)
Subscriptions and moneyMoney actions (project:support)extend-subscription, cancel-subscription (d), refund-subscription (d), create-test-purchase
WebhooksRead only (project:read)list-webhook-integrations, list-webhook-deliveries
WebhooksRead and change (project:write)create-webhook-integration, retry-webhook-delivery, send-test-webhook, delete-webhook-integration (d)
RevenueRead only (project:read)get-metrics

Source: revenuedot/mcp README, Tools, with each tool's API call. No tool accepts a key, password or credential; store keys and webhook headers are entered in the dashboard.

Approval model

Reads are free, writes wait for you

The OAuth consent screen uses your dashboard session. You pick one project and an access level; the access token is a secret key limited to that project and those scopes, listed under API keys as OAuth: <client name>.

  • Read only (project:read): the 17 read tools. Nothing can change.
  • Read and change (project:write): 17 more tools that create and update apps, the catalog, grants, attributes and webhooks, including the five destructive ones.
  • Money actions (project:support): extend, cancel, refund and Test Store purchases. Asked for separately, only when a tool needs it.

A tool that needs more than the connection has returns an error with the missing scope in _meta["mcp/www_authenticate"], which ChatGPT and Claude turn into a permission request. The assistant also asks before it cancels, refunds or deletes; check the customer and product it names.

What the server answers without a tokenHTTP 401
WWW-Authenticate: Bearer resource_metadata="https://mcp.revenuedot.app/.well-known/oauth-protected-resource/mcp", scope="project:read project:write"
Protected resource metadataGET /.well-known/oauth-protected-resource
{
  "resource": "https://mcp.revenuedot.app/mcp",
  "authorization_servers": ["https://app.revenuedot.app"],
  "scopes_supported": ["project:read", "project:write", "project:support"],
  "bearer_methods_supported": ["header"],
  "resource_name": "RevenueDot"
}

Both responses as returned by the live server on October 4, 2026. OAuth 2.1 with PKCE and dynamic client registration; your own RevenueDot server is the authorization server when you self-host.

RevenueCat's own MCP server

What RevenueCat's docs say

Read on October 4, 2026 from revenuecat.com/docs/tools/mcp, its setup page and its tools reference. Nothing here is our characterisation beyond the last row.

RevenueCat MCPRevenueDot MCP
URLhttps://mcp.revenuecat.ai/mcp, cloud-hostedhttps://mcp.revenuedot.app/mcp, hosted; or npx -y @revenuedot/mcp locally or against your own server
Sign-inOAuth with a RevenueCat account, or a bearer token with a RevenueCat API v2 secret keyOAuth 2.1 with a RevenueDot account (one project, chosen scopes), or a bearer secret key
Clients the docs listClaude (web, Desktop, Code), Codex, Cursor, VS Code Copilot, MCP Inspector; "the recommended way to get started" is its AI Toolkit pluginClaude, Claude Code, ChatGPT, Codex, Cursor, Windsurf and any streamable HTTP client; the Claude connector and ChatGPT plugin are the same server
ToolsA tools reference grouped into projects and apps, products and prices, entitlements, offerings and packages, targeting and audiences, paywalls, customers and subscriptions, in-app currencies, charts and experiments, integrations and webhooks, and SDK compatibility; each tool marked Read or Write38 tools in the table above: apps and store connections, catalog, customers and access, subscriptions and money, webhooks, revenue. No paywall, experiment, targeting or currency tools yet
Permissions"Access follows your RevenueCat account permissions"; a read-only API key works for viewingThree scopes chosen at sign-in; money actions behind a separate permission the assistant must ask for
Plan note"Custom remote MCP connectors are in beta on Claude; free plans can use one custom connector"Same Claude limit applies to any custom connector. RevenueDot Cloud is free up to $10,000 a month; self-host is free
SourceClosedOpen source, MIT, on GitHub and npm

Tool names on RevenueDot match RevenueCat's where the tool does the same thing (list-apps, create-offering, grant-customer-entitlement and so on), so a prompt or skill written for one runs on the other. RevenueDot is not affiliated with RevenueCat, Inc.

No account needed

A free knowledge server for any assistant

https://mcp.revenuedot.app/kit/mcp serves six read-only tools with sourced paywall patterns, App Store and Google Play rules and code snippets. It never calls a RevenueDot project and needs no key. Every result says RevenueDot maintains it.

Claude Codeterminal
claude mcp add --transport http revenuedot-kit https://mcp.revenuedot.app/kit/mcp
Toolssix, read only
search-monetization-knowledge   list-paywall-patterns   get-paywall-pattern
get-store-guideline             get-code-snippet        list-skills

FAQ

Questions people ask

Does RevenueCat have an MCP server?

Yes. RevenueCat's docs describe a cloud-hosted MCP server at https://mcp.revenuecat.ai/mcp that authenticates with OAuth or a RevenueCat API v2 secret key and documents Claude, Claude Code, Codex, Cursor and VS Code Copilot as clients (checked October 4, 2026). It manages a RevenueCat project. RevenueDot's server at https://mcp.revenuedot.app/mcp is the open-source counterpart for apps that use the RevenueCat SDK with a RevenueDot backend.

Which MCP server do I use if my app ships the RevenueCat SDK?

The one that matches your backend. If RevenueCat is your backend, use RevenueCat's server. If RevenueDot is your backend, or you are running both side by side during a migration, use RevenueDot's server: the app keeps the RevenueCat SDK, and the assistant manages the project the SDK talks to. Tool names match RevenueCat's where the tool does the same thing, so prompts written for one work on the other.

Can an assistant refund or cancel a subscription by itself?

No. Extend, cancel, refund and Test Store purchases sit behind a separate Money actions permission (the project:support scope). A first connection asks for read and change only; when a tool needs more, the server answers with the missing scope and the assistant asks you to approve it. Refunds and cancels work for Google Play; Apple does not let any server refund or cancel.

Does the RevenueDot MCP server work for a self-hosted server?

Yes. Run npx -y @revenuedot/mcp --http --url https://your-server and point the client at it, or use the stdio form with REVENUEDOT_URL. Your own RevenueDot server is the OAuth authorization server, so sign-in works the same way. The package is MIT licensed on npm.

Is there a version that needs no account?

Yes. https://mcp.revenuedot.app/kit/mcp serves six read-only tools with sourced paywall patterns, App Store and Google Play rules and code snippets. It needs no sign-in and never touches a RevenueDot project. It is the free half of the RevenueDot App Monetization plugin.

How do I disconnect an assistant?

The OAuth connection is a secret API key named OAuth plus the client's name, limited to the project and the access you chose. Delete it under API keys in the RevenueDot dashboard. It does not expire on its own.

Get started

Connect an assistant to your project today.

Create a free Cloud account, paste one URL into Claude, ChatGPT, Codex or Cursor, and ask whether everything is connected.

Already have an account? Sign in · Prefer your own servers? Self-host free