appstore-release-mcp について
appstore-release-mcp は、App Store Connect を通じて iOS と macOS アプリのリリースを進める MCP サーバーです。API によるリリース管理に加え、fastlane の非同期ジョブや署名済み IPA の直接アップロードに対応します。
主な機能
- 01App Store Connect 設定の確認
- 02ローカルプロジェクトのバージョン更新
- 03fastlane の非同期ジョブによるビルドアップロード
- 04altool による署名済み IPA のアップロード
- 05ストアメタデータの更新
- 06ビルドの審査提出とステータス確認
活用シーン
- 01fastlane でビルドしたリリースを TestFlight にアップロード
- 02fastlane を使わず既存の署名済み IPA をアップロード
- 03審査前にリリースメタデータを更新
- 04ビルド処理と審査ステータスを追跡
MCP 対応
MCP サーバーは、App Store Connect のステータス、ビルド、バージョン変更、アップロード、メタデータ、審査提出のツールを公開します。ビルドと IPA のアップロードは非同期ジョブとして実行され、状態とログを確認できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y appstore-release-mcpAPPLE_KEY_IDシークレットApp Store Connect API key IDAPPLE_ISSUER_IDApp Store Connect API issuer IDASC_KEY_PATHシークレットPath to the .p8 App Store Connect API private key (alternative: APPLE_KEY_CONTENT with base64-encoded key)APPLE_KEY_CONTENTシークレットBase64-encoded .p8 private key content (alternative to ASC_KEY_PATH)APPLE_TEAM_IDApple Developer team ID (required for builds/uploads)ASC_BUNDLE_IDBundle identifier of the app to manage, e.g. com.example.myappASC_PROJECT_DIRXcode project root where fastlane runs (default: current working directory)ASC_PLATFORMApp Store platform: IOS (default), MAC_OS, TV_OS, or VISION_OSASC_FASTLANE_LANEFastlane lane used for archive + upload (default: beta)ASC_FASTLANE_PLATFORMFastlane platform prefix, e.g. mac or iosASC_UPLOAD_CMDFull override of the upload command, e.g. 'bundle exec fastlane ios beta'ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
8掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
appstore-release-mcp
iOS および macOS アプリのApp Store リリースサイクル全体を実行する MCP サーバーです。バージョンの更新 → アーカイブと TestFlight へのアップロード → メタデータ → 審査への提出 → ステータス確認を行います。
他との違い: 既存の App Store Connect MCP サーバーは、メタデータ、TestFlight 管理、分析など、REST API をラップしています。しかし、REST API がサポートしていない唯一の手順、つまりバイナリを Apple のサーバーにアップロードすることができるものはありません。このサーバーは API ブラウザーではなく、リリースパイロットとして、次の 2 つの方法を提供します。
- 直接 ASC REST API(ES256 JWT、
node:cryptoを使った依存関係ゼロの署名)で、ステータス、ビルド、メタデータ、審査への提出を処理します asc_upload_build— 既存の fastlane レーンでアーカイブ、署名、アップロードを行い、ログのポーリングが可能な非同期ジョブとして実行します(実際のアーカイブには 5~15 分かかるため、MCP のタイムアウト内には収まりません)asc_upload_ipa— 署名済みの.ipaをすでにお持ちですか?(eas build、CI パイプライン、手動での Xcode アーカイブで作成したものなど)xcrun altoolで直接アップロードできます。fastlane もローカルでのアーカイブ手順も不要で、すでにお持ちの ASC API キー以外に設定するものはありませんproject.pbxproj(xcodegen プロジェクトの場合はproject.ymlも)のローカルでのバージョン更新
要件
- Xcode コマンドラインツールを備えた macOS(
asc_upload_ipaが使用するxcrun altool) - ビルドとアップロードを行うレーンを含む fastlane(例:
beta)。必要なのはasc_upload_buildの場合のみです。asc_upload_ipaだけを使用する場合は不要です - App Store Connect API キー(
.p8)
セットアップ
-
ASC API キーを生成します(初回のみ):App Store Connect → Users and Access → Integrations → App Store Connect API → Team Keys → Generate(役割:App Manager)。
.p8をダウンロードします。Apple ではダウンロードできるのは一度だけです。~/.appstoreconnect/private_keys/に保管してください。 -
Claude Code に登録します:
claude mcp add appstore \
-e APPLE_KEY_ID=XXXXXXXXXX \
-e APPLE_ISSUER_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-e ASC_KEY_PATH=$HOME/.appstoreconnect/private_keys/AuthKey_XXXXXXXXXX.p8 \
-e APPLE_TEAM_ID=XXXXXXXXXX \
-e ASC_BUNDLE_ID=com.example.myapp \
-e ASC_PROJECT_DIR=/path/to/your/xcode/project \
-- npx appstore-release-mcp
Fastfile で platform :mac を使用する macOS アプリの場合は、-e ASC_PLATFORM=MAC_OS -e ASC_FASTLANE_PLATFORM=mac を追加してください。
- 確認します: エージェントに
asc_doctorの実行を依頼してください。すべてのチェックが ✓ になるはずです。
ツール
| ツール | 機能 |
|---|---|
asc_doctor | 設定、認証情報、fastlane/xcodebuild/altool、アプリレコードを確認します。最初に実行してください |
asc_app_status | バージョン、審査ステータス、最近のビルドを 1 回の呼び出しで確認します |
asc_list_builds | ビルド処理のステータスを確認します(アップロード後、VALID になるまで待ちます) |
asc_bump_version | ローカルのプロジェクトファイルでビルド番号を更新し、マーケティングバージョンを設定します |
asc_upload_build | fastlane のアップロードレーンを非同期ジョブとして実行します。ジョブ ID をすぐに返します |
asc_upload_ipa | 作成済みの .ipa を xcrun altool でアップロードします。非同期ジョブとして実行され、fastlane は不要です |
asc_job_status | asc_upload_build または asc_upload_ipa で開始したジョブの状態とログ末尾を確認します |
asc_update_metadata | REST 経由で説明、キーワード、新機能、プロモーションテキストを更新します |
asc_submit_review | ビルドを関連付け、審査提出を作成して送信します |
リリース手順
fastlane を使ってローカルでビルドする場合:
asc_doctor # toolchain healthy?
asc_bump_version {marketing_version: "1.1.0"}
asc_upload_build # → job id
asc_job_status {job_id} # poll until succeeded
asc_list_builds # wait for processingState VALID
asc_update_metadata {whats_new: "...", create_version: "1.1.0"}
asc_submit_review {build_id} # point of no return
asc_app_status # WAITING_FOR_REVIEW
署名済みの .ipa(EAS Build、CI、手動アーカイブで作成したものなど)をすでにお持ちの場合、fastlane は不要です:
asc_doctor
asc_upload_ipa {ipa_path: "./build/app.ipa"} # → job id
asc_job_status {job_id} # poll until succeeded
asc_list_builds # wait for processingState VALID
asc_update_metadata {whats_new: "...", create_version: "1.1.0"}
asc_submit_review {build_id}
asc_app_status
環境変数
認証情報の名前は意図的に fastlane の app_store_connect_api_key と一致させているため、1 組の認証情報を両方で使用できます。
| 変数 | 必須 | 備考 |
|---|---|---|
APPLE_KEY_ID | はい | ASC API キー ID |
APPLE_ISSUER_ID | はい | ASC 発行者 ID |
APPLE_KEY_CONTENT / ASC_KEY_PATH | いずれか一方 | base64 でエンコードされた .p8/.p8 ファイルへのパス |
APPLE_TEAM_ID | asc_upload_build の場合 | Apple Developer チーム ID(asc_upload_ipa では不要) |
ASC_BUNDLE_ID | はい | アプリのバンドル識別子 |
ASC_PROJECT_DIR | 推奨 | fastlane を実行する Xcode プロジェクトのルート(デフォルト:cwd) |
ASC_PLATFORM | いいえ | IOS(デフォルト)、MAC_OS、TV_OS、VISION_OS |
ASC_FASTLANE_LANE | いいえ | アップロードレーン名(デフォルト:beta) |
ASC_FASTLANE_PLATFORM | いいえ | fastlane のプラットフォームプレフィックス。例:mac または ios |
ASC_UPLOAD_CMD | いいえ | 全体を上書きするコマンド。例:bundle exec fastlane ios beta |
注意事項
- ビルドジョブはサーバープロセスの子プロセスです。ビルドの途中で MCP クライアントが切断されると、ジョブは終了します。どちらの場合も、ログは
~/.appstore-mcp/jobs/に保持されます。 asc_submit_reviewはリリースの後戻りできない処理です。ツールの説明では、事前に人間に確認するようエージェントに指示しています。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。