RevenueCat MCP Tools Reference
Tools available through the RevenueCat MCP server, organized by category
This page lists the tools the RevenueCat MCP server exposes to AI assistants, organized by category. For setup instructions, see MCP Server Setup; for example prompts, see Usage Examples.
Your agent calls these tools on your behalf when you ask it to configure or inspect RevenueCat. Read tools only fetch data; Write tools create, change, or delete configuration. Access follows your RevenueCat account permissions.
The tables below are generated from the RevenueCat API v2 specification and cover the generally available tool set. The tool set evolves with the platform, so your MCP client is the source of truth for what it can call once connected.
Projects and apps
| Tool | Access | What it does |
|---|---|---|
get-account-billing | Read | Returns the developer's own RevenueCat billing details — current plan, billing period, and tracked revenue. |
get-app | Read | Returns the configuration of a single app. |
get-project-ui-config | Read | Returns the paywall UI configuration for a project: fonts, colors, saved color and gradient presets, and custom variables. |
list-account-billing-invoices | Read | Lists the invoices RevenueCat has charged this account — the developer's own RevenueCat bill, with amounts and payment status. |
list-app-public-api-keys | Read | Returns the public (SDK) API keys of an app — the keys embedded in client apps to initialize the RevenueCat SDK, not secret server-side keys. |
list-apps | Read | Lists the apps in a project. |
list-audit-logs | Read | Lists a project's audit logs — records of configuration changes made through the dashboard or API (who changed what and when), not customer purchase activity. |
list-collaborators | Read | Lists the people with access to a project, including the project owner, with each collaborator's email and role. |
list-projects | Read | Lists all RevenueCat projects accessible with the provided API key. |
create-app | Write | Creates a new app inside a project and returns it. |
create-project | Write | Creates a new RevenueCat project — the top-level container that apps, products, entitlements, and offerings live under — and returns it; use the returned id with create-app to add apps. |
update-app | Write | Partially updates an app's name and/or store-specific details and returns the updated app. |
update-project-ui-config | Write | Updates the paywall UI configuration for a project. |
Products and prices
| Tool | Access | What it does |
|---|---|---|
get-product | Read | Returns a single product from the project's catalog by its RevenueCat product id (prod...), not by its store SKU. |
get-product-store-state | Read | Returns live ProductStoreState data from the target store (App Store Connect, Google Play Store, RC Billing, or Test Store). |
get-product-store-state-operation | Read | Polls the async operation created by set-product-store-state. |
list-prices | Read | List prices for a product. |
list-product-offers | Read | List the introductory offers for a product (RC Billing only). |
list-products | Read | Returns the in-app purchase and subscription products registered in a project's app catalog (store SKUs) — not to be confused with list-projects, which lists the projects on the account. |
archive-product | Write | Archives a product, making it inactive in RevenueCat without touching the store. |
create-product | Write | Registers a new product in the project's catalog for a given app and returns the created product. |
create-product-prices | Write | Configure prices for a product. |
equalize-subscription-prices | Write | Fills missing App Store subscription territory prices by applying Apple equalizations from the current price configured in base_territory. |
set-product-store-state | Write | Creates or updates desired store metadata for a product and returns an async operation_id. |
submit-products-to-store | Write | Submits App Store products for review when each product is ready for submission. |
unarchive-product | Write | Unarchives a previously archived product, making it active again, and returns the updated product. |
upload-product-store-state-screenshot | Write | Reserves an App Store Connect review screenshot slot and returns upload_operations. |
Entitlements
| Tool | Access | What it does |
|---|---|---|
get-entitlement | Read | Returns a single entitlement by id. |
get-products-from-entitlement | Read | Lists the products attached to an entitlement — the purchases that unlock it. |
list-entitlements | Read | Lists all entitlements in a project — the levels of access customers unlock by purchasing the products attached to them. |
archive-entitlement | Write | Archives an entitlement, making it inactive, and returns the updated entitlement. |
attach-products-to-entitlement | Write | Attaches products to an entitlement so purchasing any of them unlocks it, and returns the updated entitlement. |
create-entitlement | Write | Creates a new entitlement. |
detach-products-from-entitlement | Write | Detaches products from an entitlement so purchasing them no longer unlocks it, and returns the updated entitlement. |
unarchive-entitlement | Write | Unarchives a previously archived entitlement, making it active again, and returns the updated entitlement. |
update-entitlement | Write | Updates an entitlement's display_name — the only editable field — and returns the updated entitlement. |
Offerings and Packages
| Tool | Access | What it does |
|---|---|---|
get-offering | Read | Returns a single offering by id. |
get-offering-prices | Read | Get the prices of all packages in an offering, grouped by package, for a given currency and country (defaults: USD / US). |
list-offerings | Read | Returns the list of offerings in a project. |
list-packages | Read | Returns the list of packages in an offering. |
archive-offering | Write | Archives an offering, making it inactive so it is no longer returned by the SDK, and returns the updated offering. |
attach-products-to-package | Write | Attaches products to a package and returns the updated package. |
create-offering | Write | Creates a new offering. |
create-packages | Write | Creates a new package for an offering. |
delete-package-from-offering | Write | Permanently deletes a package from its offering. |
detach-products-from-package | Write | Detaches products from a package and returns the updated package. |
unarchive-offering | Write | Unarchives a previously archived offering so the SDK serves it again, and returns the updated offering. |
update-offering | Write | Updates an offering and returns it; only the provided fields change. |
Targeting and audiences
| Tool | Access | What it does |
|---|---|---|
get-audience | Read | Returns a single audience with its name and membership rules. |
get-audience-filter-options | Read | Returns the known values for audience rule fields whose options are derived from the project's data, such as attribution fields and custom attributes. |
get-targeting-rule | Read | Returns one targeting rule in a project by targeting_rule_id, including its state, display name, offering, conditions, audience, schedule, and placement overrides when present. |
list-audiences | Read | Returns all audiences in the project — saved customer segments defined by filter rules. |
list-targeting-rules | Read | Lists targeting rules for a project, returning active rules before inactive rules. |
create-audience | Write | Creates a new audience (a saved customer segment) from a name and membership rules, and returns it. |
update-audience | Write | Updates an audience's name and/or membership rules (partial update: only the fields provided change) and returns the updated audience. |
Paywalls
| Tool | Access | What it does |
|---|---|---|
get-paywall | Read | Returns a single paywall by id — the UI configuration built in the RevenueCat dashboard's paywall editor. |
list-paywalls | Read | Returns the list of paywalls in a project — the UI configurations built in the RevenueCat dashboard's paywall editor. |
publish-paywall | Write | Publishes the current draft of a paywall, making it live for production users immediately. |
unpublish-paywall | Write | Unpublishes a paywall, taking it out of production so it is no longer served to users. |
Customers and subscriptions
| Tool | Access | What it does |
|---|---|---|
get-customer | Read | Returns detailed customer information customer (attributes, entitlements, metadata). |
get-customer-center-config | Read | Returns the Customer Center configuration for a customer. |
get-subscription | Read | Returns a single subscription by its RevenueCat subscription id — no customer id needed. |
list-customer-events | Read | Returns the customer's event history. |
list-customers | Read | Search for individual customers in the project by email, app user ID, or transaction / order identifiers. |
list-purchases | Read | Returns the customer's one-time (non-subscription) purchases: what was bought, its refund status, and the entitlements it unlocks. |
list-subscriptions | Read | Returns the customer's subscriptions across all stores; gives_access is the authoritative flag for whether the customer should have access to the associated entitlements. |
list-virtual-currencies-balances | Read | Returns the customer's virtual currency balances. |
assign-customer-offering | Write | Sets a per-customer offering override, so this customer's app is served the given offering as its current offering instead of the one it would otherwise display. |
grant-customer-entitlement | Write | Grants a customer promotional access to an entitlement until expires_at, without a store purchase; as a side effect a promotional subscription is created. |
Virtual Currencies
| Tool | Access | What it does |
|---|---|---|
get-virtual-currency | Read | Returns information about a virtual currency (name, description, product grants). |
list-virtual-currencies | Read | Lists the virtual currencies available for the project. |
archive-virtual-currency | Write | Archives a virtual currency, making it inactive, and returns the updated currency. |
create-virtual-currency | Write | Creates a virtual currency in the project and returns the created currency. |
unarchive-virtual-currency | Write | Unarchives a previously archived virtual currency, making it active again, and returns the updated currency. |
update-virtual-currency | Write | Updates an existing virtual currency identified by virtual_currency_code and returns the updated currency. |
Charts, metrics, and experiments
| Tool | Access | What it does |
|---|---|---|
get-benchmarks | Read | Returns RevenueCat benchmark comparisons for every app in a project (or a single app when app_id is supplied), across the supported monetization metrics (realized LTV, trial conversion, initial conversion, conversion to paying, monthly churn, refund rate). |
get-chart-data | Read | Returns time-series data for a specific chart. |
get-chart-options-schema | Read | Get LLM-friendly option schema for a chart. |
get-experiment | Read | Returns the full configuration of a single experiment: status, variant offerings (offering_a = control), metrics, enrollment settings, and targeting. |
get-experiment-results | Read | Returns per-variant performance data for an experiment, optionally filtered by platform, country, or exposure status. |
get-overview-metrics | Read | Provides a summary of key project metrics for the last 28 days without needing to query individual charts. |
get-revenue-metric | Read | Returns the total revenue for the project across all of its apps for the given inclusive date range. |
list-experiments | Read | Returns the project's experiments (A/B tests of offerings, prices, and paywalls), optionally filtered by status. |
Integrations and webhooks
| Tool | Access | What it does |
|---|---|---|
get-webhook-integration | Read | Returns a single webhook integration by id: its destination URL and delivery filters (null values mean no filtering). |
list-webhook-integrations | Read | Lists the webhook integrations configured for a project, each with its destination URL and delivery filters (null filter values mean no filtering). |
create-webhook-integration | Write | Creates a webhook integration that starts delivering RevenueCat events to the given url; omitted/null filters mean all events, environments, and apps. |
delete-webhook-integration | Write | Permanently deletes a webhook integration and stops all event deliveries to its URL. |
update-webhook-integration | Write | Partially updates a webhook integration and returns it: only the fields you send change, and sending null on a nullable field clears its filter. |
SDK compatibility
| Tool | Access | What it does |
|---|---|---|
list-sdk-feature-gates | Read | Lists SDK feature gates for a project, including minimum SDK requirements and whether each gate should be shown in the project's SDK compatibility table. |
list-sdk-versions | Read | Lists SDK version distribution data for a project. |
Paywall Editing
| Tool | Access | What it does |
|---|---|---|
create-paywall-ai | Write | Starts an async Paywall AI Editor task to create an unpublished RevenueCat paywall from a blank canvas, then returns a task ID. |
edit-paywall-ai | Write | Starts an async Paywall AI Editor task to update an existing RevenueCat paywall, then returns a task ID. |
get-paywall-ai-task | Read | Checks a Paywall AI Editor task returned by create-paywall-ai or edit-paywall-ai |
render-paywall-screenshot | Render a PNG screenshot of a RevenueCat paywall |
Was this page helpful?