Claude CodeでRevenueCat MCPを使い課金設定を整える手順
RevenueCatのプラグインかMCPサーバーをClaude Codeに入れ、アプリ・商品・エンタイトルメント・オファリングを依存順に作らせる手順。書き込みツールの止め方も扱います。
RevenueCat MCPは、アプリ内課金の裏側(プロジェクト、アプリ、商品、エンタイトルメント、オファリング)を、ダッシュボードを開かずにClaude Codeから操作するためのMCPサーバーです。接続方法は2通りあります。プラグインで入れる方法と、claude mcp addで手動登録する方法です。
迷ったらプラグインです。MCPサーバーの設定に加えて、RevenueCat向けのスラッシュコマンドとエージェントも一緒に入ります。この記事では、導入から「アプリ作成 → 商品 → エンタイトルメント → オファリング」の依存順に任せるまでと、書き込みを伴うツールの扱い方をまとめます。
導入方法は2つ: プラグインか手動登録か
RevenueCatのドキュメントは、Claude Codeではプラグインでの導入を推奨しています。マーケットプレイスを追加してからインストールする、2行の手順です。
claude plugins marketplace add RevenueCat/ai-toolkit
claude plugins install revenuecatプラグインはMCPサーバーを設定し、RevenueCatの作業手順をまとめたスキルも入れます。認証はOAuthで、APIキーを発行して貼る必要はありません。
プラグインを使わず、ツールだけを足す手動登録もあります。リモートのHTTPサーバーとして登録する1行です。
claude mcp add --transport http revenuecat https://mcp.revenuecat.ai/mcpこの方法ではスキルは入らず、RevenueCatのツールだけが追加されます。選び分けは次のとおりです。
プラグインと手動登録の違い
プラグイン
MCPサーバーの設定、スキル、スラッシュコマンド、エージェントがまとめて入ります。認証はOAuthです。
claude mcp add
RevenueCatのツールだけが追加されます。認証はOAuthかAPI v2シークレットキーを選べます。
組織の管理設定でプラグイン以外のMCP追加を止めている環境では、手動登録のclaude mcp addが失敗します。その場合の見分け方と対処はclaude mcp addが失敗する: プラグイン以外のMCP追加を管理設定が止めるにまとめています。プラグイン経由なら通る場合があるので、制限のある環境ではプラグイン導入が先です。
認証: OAuthとAPI v2シークレットキー
RevenueCat MCPの認証方式は2つです。
| 方式 | 向く場面 | 備考 |
|---|---|---|
| OAuth | 向く場面プラグイン導入、対応クライアント | 備考RevenueCatアカウントでログインして許可する。キー管理は不要 |
| API v2シークレットキー | 向く場面OAuth非対応のクライアント | 備考全クライアントで使える。書き込みが要るなら書き込み権限付きのキーが必要 |
OAuthでは、アカウント権限の範囲で全プロジェクトにアクセスできます。切り離したいときは、RevenueCatの「Account → Security」でトークンを失効させます。
APIキーを使う場合は、RevenueCatのダッシュボードでプロジェクトのAPI Keysページを開き、API v2のシークレットキーを新規作成します。MCP専用のキーを分けて作る運用が勧められています。読み取りだけなら読み取り専用キーで足ります。キーはバージョン管理に入れず、環境変数などで渡してください。
接続を確かめる
導入後は、Claude Code内の/mcpでサーバーが接続済みになっているかを見ます。OAuthの場合は、ここからブラウザでログインして許可する流れになります。
最初の依頼は、書き込みを伴わない読み取りで試すのが安全です。RevenueCatのトラブルシューティングも、まず単純なコマンドで試すよう案内しています。
プロジェクトの詳細を見せて返ってきたプロジェクトが意図したものなら、接続は通っています。ツールが足りないときは、付与した権限で絞られている可能性があります。MCPサーバーはOAuthやAPIキーで許可された権限に応じてツールを出し分けるため、読み取り専用の権限では書き込みツールが見えません。
依存順に作らせる: アプリ、商品、エンタイトルメント、オファリング
RevenueCatの課金設定には依存関係があります。プロジェクトの下にアプリがあり、アプリに商品があります。商品をエンタイトルメント(購入で解放される権利)に結び付け、オファリング内のパッケージにも商品を結び付けます。順番を間違えると、参照先が無くて失敗します。
課金設定を作る順序
- 1
プロジェクトとアプリ
create-projectでプロジェクトを作り、返ってきたIDを使ってcreate-appでアプリを足します。 - 2
商品
create-productで商品を登録します。ストア側の商品はこのツールでは作られません。 - 3
エンタイトルメント
create-entitlementで作り、attach-products-to-entitlementで商品を結び付けます。 - 4
オファリングとパッケージ
create-offering、create-packagesの順に作り、attach-products-to-packageで商品を載せます。
プロンプトは自然文で足ります。RevenueCatの使用例には、次のような依頼が載っています。
Create a new iOS app called "Premium App", then create a monthly subscription product for it, and finally create an entitlement called "premium_access" and attach the product to it複数の操作を1つの依頼に並べると、順に実行されます。依存順に並べて頼むのがコツです。
商品を作っても、ストアには何も作られない
ここは勘違いしやすい点です。create-productは、RevenueCatに商品を登録するだけのツールです。App Store ConnectやGoogle Play Console側の商品は作りません。ストア側の定義は別に必要で、RevenueCatは商品の価格・提供状況・審査用メタデータをストア側で扱う別系統のツールも持っています。
その系統は「商品ストア状態プラン」という単位で動きます。create-product-store-state-planで下書きを作り、plan-product-store-state-planで計画を立て、apply-product-store-state-planで適用する流れです。審査に出す段階ではsubmit-products-to-storeが使われます。価格や提供地域を変える依頼は、この計画と適用の2段階になると考えておくと、いきなり本番に反映されない理由が分かります。
エンタイトルメントで変えられるのは表示名だけ
update-entitlementが更新できるのは、display_nameだけです。識別子を後から直す手段は、ツール一覧に載っていません。アプリのコードが参照するpremiumやproのような名前は、最初の依頼で決めておいてください。
パッケージの識別子には、RevenueCatの慣例があります。月額は$rc_monthly、年額は$rc_annual、買い切りは$rc_lifetimeです。3か月と6か月は$rc_three_monthと$rc_six_monthで、独自のものは$rc_custom_*の形にします。依頼文に識別子を書いておくと、SDK側の想定とずれにくくなります。
プラグインのスラッシュコマンドとエージェント
マーケットプレイスのRevenueCatプラグインには、4つのスラッシュコマンドがあります。
| コマンド | 役割 |
|---|---|
/rc:status | 役割アプリ・商品・エンタイトルメント・オファリングの件数と状態の概観 |
/rc:create-app | 役割iOSかAndroidのアプリを、ストア認証情報とSDKコード例つきで作成 |
/rc:create-product | 役割定期購入、消耗型、買い切りの商品作成を案内 |
/rc:apikey | 役割公開SDKキーを、Swift・Kotlin・JavaScriptのコード例つきで取得 |
引数つきの呼び出し例は、/rc:create-app ios com.myapp.bundleや/rc:create-product subscription monthlyです。
専用エージェントも3つあります。Project Bootstrapは、プラットフォームと課金モデルを伝えると、依存順にアプリ、商品、エンタイトルメント、オファリングを作ります。Troubleshootingは購入や定期購入の不具合を順に切り分け、Paywall Builderはアプリのデザインに合わせたペイウォールを作ります。「RevenueCatを最初から設定して」と頼めばBootstrapが起動します。「Androidで購入の復元ができない」のように症状を伝えれば、Troubleshootingの出番です。
書き込みツールの止め方
RevenueCatのツールには、読み取り(Read)と書き込み(Write)があります。書き込みには、delete-package-from-offering(パッケージの完全削除)やdelete-webhook-integration(Webhook連携の完全削除、配信も止まる)のような取り消せない操作が含まれます。本番のプロジェクトに接続するなら、確認なしで走らせたくない操作です。
Claude Codeの権限ルールはmcp__<サーバー名>__<ツール名>の形で書けます。手動登録でrevenuecatと名付けた場合は、.claude/settings.jsonに次のように書けます。
{
"permissions": {
"deny": [
"mcp__revenuecat__delete-package-from-offering",
"mcp__revenuecat__delete-webhook-integration"
]
}
}プラグイン経由で入れた場合、ツール名の接頭辞はmcp__plugin_<プラグイン名>_<サーバー名>__の形になります。ルールを書く前に、実際に表示されるツール名を確かめてください。記法の詳細はMCP権限ルールの書き方に、プラグインに同梱されたMCPサーバーの名前の付き方はプラグイン同梱のMCPサーバーにあります。
削除より穏当な選択肢もあります。商品、エンタイトルメント、オファリングにはarchive-*系のツールがあり、非アクティブにするだけで戻せます(unarchive-*)。RevenueCatの商品のアーカイブは、ストア側には手を付けません。整理したいときは、削除でなくアーカイブを頼む運用が安全です。
もう1つ、リポジトリのCLAUDE.mdに運用ルールを書いておく方法があります。
## RevenueCat MCPの扱い
- 接続先は開発用プロジェクトを既定にする。本番への書き込みは、依頼文に明記があるときだけ
- 商品・エンタイトルメント・オファリングは削除せずアーカイブする
- 作成前に list-* で既存の識別子を確かめ、重複を作らないCLAUDE.mdは強制力のある制限ではなく、Claudeへの指示です。止めたい操作は権限ルールのdenyに入れ、運用上の既定はCLAUDE.mdに書く、という分担になります。
つまずきやすい点
- OAuthで「Unknown MCP Client」と出る: RevenueCatは自動クライアント登録を許さず、登録済みのクライアントだけを許可します。出る場合はRevenueCatのサポートに依頼してクライアントを許可してもらう必要があります
- リダイレクトURIのエラー: MCPクライアント側の変更にRevenueCatの設定が追い付いていない場合です。同じくサポートへの連絡が解決策として案内されています
- Google Playの商品作成が権限エラーになる: サービスアカウントに「Manage store presence」権限が無いのが原因です。Google Play Consoleの「Users and permissions」でサービスアカウントを選び、「Store presence」の項目で有効にします
- 期待したツールが見えない: 付与した権限で絞られています。読み取り専用のキーやOAuthの権限では、書き込みツールは出ません
- APIキーの認証エラー: キーの値、読み書きの権限、キーが属するプロジェクトを順に見直し、Authorizationヘッダーを正しいキーに直します
エラーは、isError: trueと説明文つきで一貫した形式で返されます。RevenueCat APIの応答の詳細も含まれるため、Claudeに内容をそのまま読ませれば原因の切り分けが進みます。
ClaudeのWebやデスクトップで使う場合
Claude CodeではなくWeb版やデスクトップ版のClaudeからも、同じサーバーに接続できます。カスタムコネクタ(リモートMCP)として、URLhttps://mcp.revenuecat.ai/mcpを登録します。ProとMaxの個人利用では、「Settings → Connectors」で「Add custom connector」を選び、URLを入れて認証します。TeamとEnterpriseでは、オーナーが「Organization settings → Connectors」で追加し、各メンバーが自分で接続する流れです。
MCPサーバー全般の導入と運用はClaude CodeのMCPサーバー活用ガイドで扱っています。
まとめ
RevenueCatの課金設定は、依存順を守れば自然文の依頼で組み立てられます。ただし商品の登録とストア側の商品定義は別物で、価格や審査まわりは計画と適用の2段階です。本番に接続するなら、削除系ツールをdenyに入れ、整理はアーカイブで済ませる構成から始めるのが無難です。