Skip to main content
Skip to navigation

RevenueCat MCP Tools Reference

Tools available through the RevenueCat MCP server, organized by category

Ask RicoChatGPTClaude

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. Scopes lists the permissions the tool needs; a tool only appears in your MCP client when your credentials grant all of them.

The tables below are generated from the RevenueCat MCP server 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​

ToolAccessScopesWhat it does
get-account-billingReadaccount:billing:readReturns the developer's own RevenueCat billing details — current plan, billing period, and tracked revenue.
get-appReadproject_configuration:apps:readReturns the configuration of a single app.
get-project-ui-configReadproject_configuration:projects:readReturns the paywall UI configuration for a project: fonts, colors, saved color and gradient presets, and custom variables.
get-refund-request-preferencesReadproject_configuration:apps:readReturns the Refund Control preferences configured for a project, including the default handling preference and any audience-specific policies in priority order.
list-account-billing-invoicesReadaccount:billing:readLists the invoices RevenueCat has charged this account — the developer's own RevenueCat bill, with amounts and payment status.
list-app-public-api-keysReadproject_configuration:apps:readReturns 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-app-subscription-groupsReadproject_configuration:products:readLists the subscription groups configured in App Store Connect for an App Store app, each with its subscription products (store_identifier, name, ISO 8601 duration, status).
list-appsReadproject_configuration:apps:readLists the apps in a project.
list-audit-logsReadproject_configuration:audit_logs:readLists 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-collaboratorsReadproject_configuration:collaborators:readLists the people with access to a project, including the project owner, with each collaborator's email and role.
list-projectsReadproject_configuration:projects:readLists all RevenueCat projects accessible with the provided API key.
validate-app-credentialsReadproject_configuration:apps:readChecks one saved App Store or Google Play credential set for an app and returns each validation check.
create-appWriteproject_configuration:apps:read_writeCreates a new app inside a project and returns it.
create-projectWriteproject_configuration:projects:read_writeCreates 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-appWriteproject_configuration:apps:read_writePartially updates an app's name and/or store-specific details and returns the updated app.
update-project-ui-configWriteproject_configuration:projects:read_writeUpdates the paywall UI configuration for a project.

Products and prices​

ToolAccessScopesWhat it does
get-productReadproject_configuration:products:readReturns a single product from the project's catalog by its RevenueCat product id (prod...), not by its store SKU.
get-product-store-stateReadproject_configuration:products:readReturns live ProductStoreState data from the target store (App Store Connect, Google Play Store, RC Billing, or Test Store).
get-product-store-state-operationReadproject_configuration:products:readDeprecated.
get-product-store-state-planReadproject_configuration:products:readReturns the full product store state plan.
list-product-store-state-plansReadproject_configuration:products:readLists product store state plans for a project.
list-productsReadproject_configuration:products:readReturns 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.
apply-product-store-state-planWriteproject_configuration:products:read_writeQueues asynchronous apply for a planned or retryable product store state plan.
archive-productWriteproject_configuration:products:read_writeArchives a product, making it inactive in RevenueCat without touching the store.
create-productWriteproject_configuration:products:read_writethe created product — this only registers a product with RevenueCat; it does not create anything in the underlying store.
create-product-pricesWriteproject_configuration:products:read_writeDeprecated.
create-product-store-state-planWriteproject_configuration:products:read_writeCreates a draft plan to create or update products in RevenueCat and the app stores from one or more desired product store states.
create-product-store-state-review-screenshotWriteproject_configuration:products:read_writeStages an App Store review screenshot (PNG or JPEG, sent base64-encoded in file_data_base64) for an App Store app and returns it.
discard-product-store-state-planWriteproject_configuration:products:read_writeDiscards a product store state plan that is no longer needed and is in a discardable state.
equalize-subscription-pricesWriteproject_configuration:products:read_writeDeprecated.
plan-product-store-state-planWriteproject_configuration:products:read_writeQueues asynchronous planning for a draft or replannable product store state plan.
set-product-store-stateWriteproject_configuration:products:read_writeDeprecated.
submit-products-to-storeWriteproject_configuration:products:read_writeSubmits App Store products for review when each product is ready for submission.
unarchive-productWriteproject_configuration:products:read_writeUnarchives a previously archived product, making it active again, and returns the updated product.
update-productWriteproject_configuration:products:read_writeUpdate a product in the project's catalog.
update-product-store-state-planWriteproject_configuration:products:read_writeReplaces all desired states in an editable product store state plan and moves it back to draft status.
upload-product-store-state-screenshotWriteproject_configuration:products:read_writeDeprecated.

Entitlements​

ToolAccessScopesWhat it does
get-entitlementReadproject_configuration:entitlements:readReturns a single entitlement by id.
get-products-from-entitlementReadproject_configuration:entitlements:readLists the products attached to an entitlement — the purchases that unlock it.
list-entitlementsReadproject_configuration:entitlements:readLists all entitlements in a project — the levels of access customers unlock by purchasing the products attached to them.
archive-entitlementWriteproject_configuration:entitlements:read_writeArchives an entitlement, making it inactive, and returns the updated entitlement.
attach-products-to-entitlementWriteproject_configuration:entitlements:read_writeAttaches products to an entitlement so purchasing any of them unlocks it, and returns the updated entitlement.
create-entitlementWriteproject_configuration:entitlements:read_writeCreates a new entitlement.
detach-products-from-entitlementWriteproject_configuration:entitlements:read_writeDetaches products from an entitlement so purchasing them no longer unlocks it, and returns the updated entitlement.
unarchive-entitlementWriteproject_configuration:entitlements:read_writeUnarchives a previously archived entitlement, making it active again, and returns the updated entitlement.
update-entitlementWriteproject_configuration:entitlements:read_writeUpdates an entitlement's display_name — the only editable field — and returns the updated entitlement.

Offerings and Packages​

ToolAccessScopesWhat it does
get-offeringReadproject_configuration:offerings:readReturns a single offering by id.
get-offering-pricesReadproject_configuration:offerings:read
project_configuration:packages:read
project_configuration:products:read
Get the prices of all packages in an offering, grouped by package, for a given currency and country (defaults: USD / US).
list-offeringsReadproject_configuration:offerings:readReturns the list of offerings in a project.
list-packagesReadproject_configuration:packages:readReturns the list of packages in an offering.
archive-offeringWriteproject_configuration:offerings:read_writeArchives an offering, making it inactive so it is no longer returned by the SDK, and returns the updated offering.
attach-products-to-packageWriteproject_configuration:packages:read_writeAttaches products to a package and returns the updated package.
create-offeringWriteproject_configuration:offerings:read_writeCreates a new offering.
create-packagesWriteproject_configuration:packages:read_writeCreates a new package for an offering.
delete-package-from-offeringWriteproject_configuration:packages:read_writePermanently deletes a package from its offering.
detach-products-from-packageWriteproject_configuration:packages:read_writeDetaches products from a package and returns the updated package.
duplicate-offeringWriteproject_configuration:offerings:read_write
project_configuration:packages:read_write
Duplicates an offering and its related entities into a new, non-current offering in the same project: - Packages (attaching the same existing products, not creating new products).
unarchive-offeringWriteproject_configuration:offerings:read_writeUnarchives a previously archived offering so the SDK serves it again, and returns the updated offering.
update-offeringWriteproject_configuration:offerings:read_writeUpdates an offering and returns it; only the provided fields change.

Targeting and audiences​

ToolAccessScopesWhat it does
get-audienceReadaudiences:audiences:readReturns a single audience with its name and membership rules.
get-audience-filter-optionsReadaudiences:audiences:readReturns 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-ruleReadproject_configuration:targeting_rules:readReturns 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-audiencesReadaudiences:audiences:readReturns all audiences in the project — saved customer segments defined by filter rules.
list-targeting-rulesReadproject_configuration:targeting_rules:readLists targeting rules for a project, returning active rules before inactive rules.
preview-audienceReadaudiences:audiences:readReturns matching customers without creating an audience.
create-audienceWriteaudiences:audiences:read_writeCreates a new audience (a saved customer segment) from a name and membership rules, and returns it.
create-targeting-ruleWriteproject_configuration:targeting_rules:read_writeCreates a targeting rule for a project.
delete-targeting-ruleWriteproject_configuration:targeting_rules:read_writeDeletes one targeting rule from a project.
update-audienceWriteaudiences:audiences:read_writeUpdates an audience's name and/or membership rules (partial update: only the fields provided change) and returns the updated audience.
update-targeting-ruleWriteproject_configuration:targeting_rules:read_writeUpdates a targeting rule.

Paywalls​

ToolAccessScopesWhat it does
get-paywallReadproject_configuration:offerings:readReturns a single paywall by id — the UI configuration built in the RevenueCat dashboard's paywall editor.
get-paywall-ai-taskReadproject_configuration:offerings:read_write
project_configuration:projects:read
Checks a Paywall AI Editor task returned by create-paywall-ai or edit-paywall-ai.
list-paywallsReadproject_configuration:offerings:readReturns the list of paywalls in a project — the UI configurations built in the RevenueCat dashboard's paywall editor.
render-paywall-screenshotReadproject_configuration:offerings:read
project_configuration:projects:read
Render a screenshot of a RevenueCat paywall.
attach-offering-to-paywallWriteproject_configuration:offerings:read_writeAttaches an offering to a paywall so the paywall is served for that offering, and returns the updated paywall.
create-paywall-aiWriteproject_configuration:offerings:read_write
project_configuration:projects:read
Starts an async Paywall AI Editor task to create an unpublished RevenueCat paywall from a blank canvas, then returns a task ID.
detach-offering-from-paywallWriteproject_configuration:offerings:read_writeDetaches the offering from a paywall and returns the updated paywall.
duplicate-paywallWriteproject_configuration:offerings:read_write
project_configuration:packages:read_write
Duplicates an existing paywall into a new, unpublished paywall in the same project.
edit-paywall-aiWriteproject_configuration:offerings:read_write
project_configuration:projects:read
Starts an async Paywall AI Editor task to update an existing RevenueCat paywall, then returns a task ID.
publish-paywallWriteproject_configuration:offerings:read_writePublishes the current draft of a paywall, making it live for production users immediately.
unpublish-paywallWriteproject_configuration:offerings:read_writeUnpublishes a paywall, taking it out of production so it is no longer served to users.

Customers and subscriptions​

ToolAccessScopesWhat it does
get-customerReadcustomer_information:customers:readReturns detailed customer information customer (attributes, entitlements, metadata).
get-customer-center-configReadcustomer_information:customers:readReturns the Customer Center configuration for a customer.
get-subscriptionReadcustomer_information:subscriptions:readReturns a single subscription by its RevenueCat subscription id — no customer id needed.
list-customer-eventsReadcustomer_information:customers:readReturns the customer's event history.
list-customersReadcustomer_information:customers:readSearch for individual customers in the project by email, app user ID, or transaction / order identifiers.
list-purchasesReadcustomer_information:purchases:readReturns the customer's one-time (non-subscription) purchases: what was bought, its refund status, and the entitlements it unlocks.
list-subscriptionsReadcustomer_information:subscriptions:readReturns the customer's subscriptions across all stores; gives_access is the authoritative flag for whether the customer should have access to the associated entitlements.
assign-customer-offeringWriteproject_configuration:offerings:read
customer_information:customers:read_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-entitlementWritecustomer_information:customers:read_writeGrants a customer promotional access to an entitlement until expires_at, without a store purchase; as a side effect a promotional subscription is created.

In-App Currencies​

ToolAccessScopesWhat it does
get-virtual-currencyReadproject_configuration:virtual_currencies:readReturns information about an in-app currency (virtual currency): name, description, and product grants.
list-virtual-currenciesReadproject_configuration:virtual_currencies:readLists the in-app currencies (virtual currencies) available for the project.
list-virtual-currencies-balancesReadcustomer_information:purchases:readReturns the customer's in-app currency (virtual currency) balances.
archive-virtual-currencyWriteproject_configuration:virtual_currencies:read_writeArchives an in-app currency (virtual currency), making it inactive, and returns the updated currency.
create-virtual-currencyWriteproject_configuration:virtual_currencies:read_writeCreates an in-app currency (virtual currency) in the project and returns the created currency.
unarchive-virtual-currencyWriteproject_configuration:virtual_currencies:read_writeUnarchives a previously archived in-app currency (virtual currency), making it active again, and returns the updated currency.
update-virtual-currencyWriteproject_configuration:virtual_currencies:read_writeUpdates an existing in-app currency (virtual currency) identified by virtual_currency_code and returns the updated currency.

Charts, metrics, and experiments​

ToolAccessScopesWhat it does
get-benchmarksReadcharts_metrics:benchmarks:readReturns 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-dataReadcharts_metrics:charts:readReturns time-series data for a specific chart.
get-chart-options-schemaReadcharts_metrics:charts:readGet LLM-friendly option schema for a chart.
get-experimentReadproject_configuration:experiments:readReturns the full configuration of a single experiment: status, variant offerings (offering_a = control), metrics, enrollment settings, and targeting.
get-experiment-resultsReadcharts_metrics:experiment_results:readReturns per-variant performance data for an experiment, optionally filtered by platform, country, or paywall view status.
get-overview-metricsReadcharts_metrics:overview:readProvides a summary of key project metrics for the last 28 days without needing to query individual charts.
get-revenue-metricReadcharts_metrics:overview:readReturns the total revenue for the project across all of its apps for the given inclusive date range.
list-chart-annotationsReadcharts_metrics:charts:readLists a project's chart annotations — notes marking events that may explain a change in the data — optionally filtered by start_date / end_date.
list-experimentsReadproject_configuration:experiments:readReturns the project's experiments (A/B tests of offerings, prices, and paywalls), optionally filtered by status.
create-chart-annotationWritecharts_metrics:charts:read_writeCreates a chart annotation marking an event that may explain a change in the data (an app release, a price change, a marketing push).
create-experimentWriteproject_configuration:experiments:read_writeCreates a draft experiment.
delete-chart-annotationWritecharts_metrics:charts:read_writeDeletes a chart annotation.
pause-experimentWriteproject_configuration:experiments:read_writePauses a running experiment and returns the updated experiment.
resume-experimentWriteproject_configuration:experiments:read_writeResumes a paused experiment and returns the updated experiment.
start-experimentWriteproject_configuration:experiments:read_writeStarts a draft experiment and returns the updated experiment.
stop-experimentWriteproject_configuration:experiments:read_writePermanently stops a running or paused experiment and returns the updated experiment.
update-chart-annotationWritecharts_metrics:charts:read_writeUpdates a chart annotation.
update-experimentWriteproject_configuration:experiments:read_writePartially updates an experiment: omitted fields remain unchanged.

Integrations and webhooks​

ToolAccessScopesWhat it does
get-webhook-integrationReadproject_configuration:integrations:readReturns a single webhook integration by id: its destination URL and delivery filters (null values mean no filtering).
list-webhook-integrationsReadproject_configuration:integrations:readLists the webhook integrations configured for a project, each with its destination URL and delivery filters (null filter values mean no filtering).
create-webhook-integrationWriteproject_configuration:integrations:read_writeCreates a webhook integration that starts delivering RevenueCat events to the given url; omitted/null filters mean all events, environments, and apps.
delete-webhook-integrationWriteproject_configuration:integrations:read_writePermanently deletes a webhook integration and stops all event deliveries to its URL.
update-webhook-integrationWriteproject_configuration:integrations:read_writePartially 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​

ToolAccessScopesWhat it does
list-sdk-feature-gatesReadproject_configuration:sdk_compatibility:readLists 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-versionsReadproject_configuration:sdk_compatibility:readLists SDK version distribution data for a project.

IAM​

ToolAccessScopesWhat it does
get-iam-authentication-methodReadiam:authentication_methods:readReturns one authentication method by id, with its type-specific configuration.
get-iam-settingsReadiam:settings:readReturns the IAM migration mode of the project.
list-iam-authentication-methodsReadiam:authentication_methods:readLists the authentication methods configured for the project (email OTP, magic link, OIDC, Google, Apple, Facebook, Firebase).
create-iam-authentication-methodWriteiam:authentication_methods:read_writeAdds an authentication method that customers can use to sign in to the project's apps.
delete-iam-authentication-methodWriteiam:authentication_methods:read_writePermanently deletes an authentication method.
update-iam-authentication-methodWriteiam:authentication_methods:read_writePartially updates an authentication method and returns it: only the fields you send change, and null clears an optional field.
update-iam-settingsWriteiam:settings:read_writeSets the IAM migration mode of the project and returns the settings.

Paywall Editing​

ToolAccessWhat it does
create-paywall-aiWriteStarts an async Paywall AI Editor task to create an unpublished RevenueCat paywall from a blank canvas, then returns a task ID.
edit-paywall-aiWriteStarts an async Paywall AI Editor task to update an existing RevenueCat paywall, then returns a task ID.
get-paywall-ai-taskReadChecks a Paywall AI Editor task returned by create-paywall-ai or edit-paywall-ai
render-paywall-screenshotRender a PNG screenshot of a RevenueCat paywall
Was this page helpful?