appstore-connect-mcp について
App Store Connect MCP サーバーは、Claude Desktop、Cursor、Windsurf、VS Code などの AI アシスタントを Apple App Store Connect API に接続します。AI を使った開発ワークフローの中で、TestFlight、レビュー、販売データを管理したいアプリ開発者に向いています。
主な機能
- 01アプリとバージョンの状態の確認
- 02TestFlight ビルドとベータテストグループの管理
- 03レビューの読み取り、要約、返信案の作成
- 04ダウンロード数、収益、地域別指標の取得
- 05ローカル API キーと OAuth 2.0 認証への対応
活用シーン
- 01TestFlight ビルドの処理状況の確認
- 02最近の低評価レビューの要約
- 03特定バージョンのリリースノートの更新
MCP 対応
本プロジェクトは MCP サーバーであり、App Store Connect の機能を MCP クライアントに提供します。npx で直接起動できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @ryaker/appstore-connect-mcpAPPLE_KEY_IDシークレットApple App Store Connect API Key IDAPPLE_ISSUER_IDシークレットApple App Store Connect Issuer IDAPPLE_PRIVATE_KEYシークレットApple App Store Connect Private Key (base64 encoded or raw)APPLE_BUNDLE_IDOptional: Specific Bundle ID to filter appsAPPLE_APP_STORE_IDOptional: Specific App Store IDOAUTH_ENABLEDシークレットEnable OAuth authentication (true/false)OAUTH_ISSUERシークレットOAuth issuer URL (e.g., https://your-tenant.auth0.com)OAUTH_AUDIENCEシークレットOAuth audience URLOAUTH_JWKS_URIシークレットOAuth JWKS URI for token validationSERVER_URLServer URL for OAuth deploymentローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🍎 App Store Connect MCP サーバー
Claude Desktop、Cursor、Windsurf、VS Code などの AI アシスタントを Apple App Store Connect API に接続する Model Context Protocol(MCP)サーバーです。
TestFlight ビルド、カスタマーレビューの分析、アプリのメタデータ更新、売上レポートを、AI コーディングワークフロー内で直接自動化できます。
💡 クイックスタート(npx)
クローンや手動でのビルドは不要です!npx を使って、この MCP サーバーを直接実行できます。
1. App Store Connect API キーを生成する
- App Store Connect にログインします。
- Users and Access ➔ Integrations ➔ App Store Connect API に移動します。
- Generate API Key をクリックします(Admin または App Manager ロールを推奨)。
.p8キーファイルをダウンロードし、Key ID と Issuer ID を控えます。
2. MCP クライアントに追加する
🟢 Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json に以下を追加します。
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@ryaker/appstore-connect-mcp"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
}
}
}
}
⚡ Cursor ~/.cursor/mcp.json、または Cursor Settings ➔ Features ➔ MCP に以下を追加します。
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@ryaker/appstore-connect-mcp"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_PRIVATE_KEY": "YOUR_PRIVATE_KEY_BASE64_OR_RAW"
}
}
}
}
🏄 Windsurf ~/.codeium/windsurf/mcp_config.json に以下を追加します。
JSON
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@ryaker/appstore-connect-mcp"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_PRIVATE_KEY": "YOUR_PRIVATE_KEY"
}
}
}
}
🛠️ 機能 📱 アプリ管理:アプリの表示、バージョンのステータス確認、ローカライズとリリースノートの編集。
✈️ TestFlight 連携:ビルドの一覧表示、ベータテストグループの管理、ベータテスターの追加・削除。
💬 カスタマーレビュー:ユーザーレビューの閲覧、要約、返信の下書き作成。
📊 分析と売上:ユニットダウンロード数、収益指標、地域別の実績を取得。
🔐 2 種類の認証に対応:ローカル API キーによる直接認証、または Auth0 経由のリモート OAuth 2.0 に対応。
💬 プロンプトの例 設定が完了したら、AI アシスタントに次のように尋ねてみましょう。
「アプリの最新の TestFlight ビルドと、その処理ステータスを表示してください。」
「App Store の最新の星 1 つのレビューを確認して、ユーザーからの苦情を要約してください。」
「バージョン 1.2.0 のリリースノートを英語(米国)で更新してください。」
「過去 14 日間のアプリのダウンロード数を要約してください。」
🔑 環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
APPLE_KEY_ID | はい | App Store Connect API の Key ID |
APPLE_ISSUER_ID | はい | App Store Connect の Issuer ID |
APPLE_PRIVATE_KEY | はい | .p8 キーの PEM コンテンツそのもの、または Base64 エンコードされた文字列 |
APPLE_BUNDLE_ID | 任意 | ツールの対象範囲を特定のアプリのバンドル ID に限定します |
APPLE_APP_STORE_ID | 任意 | ツールの対象範囲を特定の App Store ID に限定します |
OAUTH_ENABLED | 任意 | OAuth 2.0 経由のリモートサーバーとしてデプロイする場合は true に設定します |
💻 ローカル開発 ソースコードへの貢献やローカルでの変更を行う場合:
Bash
# 1. Clone repo
git clone [https://github.com/ryaker/appstore-connect-mcp.git](https://github.com/ryaker/appstore-connect-mcp.git)
cd appstore-connect-mcp
# 2. Install & build
npm install
npm run build
# 3. Test locally
npm start
🤝 貢献とサポート バグ報告、未対応の App Store Connect エンドポイント、機能リクエストがあれば、お気軽に Issue を作成してください!
ライセンス:MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。