app-publish について
app-publishは、App Store ConnectとGoogle Play Consoleで既存のiOS・Androidアプリを管理する開発者向けMCPサーバーです。署名済みのリリース可能なビルドを前提に、ストア掲載、アセット、テスト、審査、リリースを扱います。アプリのビルドや署名鍵の管理は行いません。
主な機能
- 01ストア掲載情報、ローカライズ、スクリーンショットの管理
- 02ビルドのアップロードとバージョン・リリース管理
- 03審査状況の確認とレビューへの返信
- 04TestFlightグループとテスターの管理
- 05アプリ内課金とサブスクリプションの管理
- 06Android vitalsとストアレポートの確認
活用シーン
- 01ストアの説明、キーワード、スクリーンショットを更新
- 02署名済みアプリビルドを審査に提出
- 03審査の進捗確認やGoogle Playレビューへの返信
- 04段階的リリースの準備とベータテスターの管理
MCP 対応
App Store ConnectとGoogle Play Console向けのツールに加え、リリースチェックリストと掲載情報の監査用プロンプトを提供します。設定情報と対応プラットフォームのリソースも公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y app-publish-mcpAPPLE_KEY_IDシークレットApple App Store Connect API Key IDAPPLE_KEY_TYPEシークレットApple API key type: TEAM (default) or INDIVIDUALAPPLE_ISSUER_IDシークレットApple App Store Connect Issuer ID for TEAM keysAPPLE_P8_PATHPath to Apple AuthKey .p8 fileGOOGLE_SERVICE_ACCOUNT_PATHPath to Google Play service account JSON key fileGOOGLE_CLIENT_IDGoogle Desktop OAuth client IDGOOGLE_CLIENT_SECRETシークレットGoogle Desktop OAuth client secretGOOGLE_REFRESH_TOKENシークレットGoogle OAuth refresh tokenAPPLE_VENDOR_NUMBERApple vendor number for sales and finance reportsAPP_PUBLISH_READ_ONLYSet to true to register only read tools (list/get/search/query/download, no Google edit creation or deletion)APPLE_REPORTS_KEY_IDシークレットExtra Apple key ID for Sales/Finance/Analytics reportsAPPLE_REPORTS_P8_PATHPath to the reports key .p8 fileAPPLE_ADMIN_KEY_IDシークレットAdmin key ID for analytics requests and finance/reporting fallbackAPPLE_ADMIN_P8_PATHPath to the Admin key .p8 fileAPPLE_REPORTS_ISSUER_IDReports key issuer; defaults to APPLE_ISSUER_IDAPPLE_REPORTS_KEY_TYPEシークレットReports key type: TEAM or INDIVIDUAL; defaults to APPLE_KEY_TYPEAPPLE_ADMIN_ISSUER_IDAdmin key issuer; defaults to APPLE_ISSUER_IDAPPLE_ADMIN_KEY_TYPEシークレットAdmin key type: TEAM or INDIVIDUAL; defaults to APPLE_KEY_TYPEローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
147掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| appId | string | はい |
詳細
app-publish-mcp
App Store Connect と Google Play Console に対応した統合型 MCP(Model Context Protocol) サーバーです。アプリの掲載情報、スクリーンショット、リリース、レビュー、申請を、すべて AI アシスタントから管理できます。
公開範囲
リリース可能な状態で、適切に署名された Android の .aab / .apk または Apple の .ipa を用意してください。MCP はアップロードからメタデータ、テスト、レビュー申請、リリースまで、サポート対象のストア側の作業を処理します。アプリのコンパイルや署名鍵の管理は行わず、Xcode、Gradle、CI の代わりにもなりません。
新しいアプリの初回リリースには、App Store Connect または Play Console での手動セットアップが引き続き必要です。これには、開発者登録、契約、必要に応じたアプリレコード、API アクセス、署名、税務・銀行情報、ポリシー、プライバシー、コンテンツに関する申告が含まれます。既存の完全に設定済みの Android アプリでは、通常、署名済み AAB があれば MCP で更新ワークフローを実行できます。Google の編集内容のコミットで確定するのは要求された変更のみです。ストアの審査、公開の管理、段階的なロールアウトによって、一般公開が遅れることがあります。
使用する場面
次のような場合に、この MCP を使用します。
- 「App Store の説明とキーワードを更新して」 — バージョンのローカライズ情報とアプリ情報のローカライズ情報を変更する
- 「iPhone 16 Pro 用の新しいスクリーンショットをアップロードして」 — アセットライブラリにアップロードし、バージョンのローカライズ情報に画像を配置する
- 「新しいバージョンを審査に提出して」 — バージョンを作成し、ビルドを割り当て、審査情報を設定して提出する
- 「アプリの審査状況を確認して」 — バージョンの一覧を取得し、審査状況を確認する
- 「Google Play のユーザーレビューに返信して」 — レビューの一覧を取得して返信する
- 「Google Play で段階的リリースを作成して」 — 編集内容を作成し、トラックでリリースを作成してコミットする
- 「TestFlight のベータテスターを管理して」 — グループを作成し、テスターを招待して、アクセスを管理する
- 「アプリ内課金を設定して」 — 両プラットフォームで IAP とサブスクリプショングループを作成・管理する
- 「開発用に新しいデバイスを登録して」 — デバイス、証明書、プロビジョニングプロファイルを管理する
機能
Apple App Store Connect(135 個のツール)
| Category | Tools |
|---|---|
| App Management | apple_list_apps, apple_get_next_page, apple_get_app, apple_update_app, apple_get_app_info, apple_update_category |
| Bundle IDs | apple_list_bundle_ids, apple_create_bundle_id |
| Bundle ID Capabilities | apple_list_bundle_id_capabilities, apple_enable_capability, apple_disable_capability |
| Versions | apple_list_versions, apple_create_version, apple_update_version |
| Version Localizations | apple_list_version_localizations, apple_create_version_localization, apple_update_version_localization |
| App Info Localizations | apple_list_app_info_localizations, apple_update_app_info_localization |
| Asset Library | apple_get_asset_library, apple_get_asset_specs, apple_list_assets, apple_get_asset, apple_wait_for_asset, apple_upload_asset, apple_list_asset_placements, apple_delete_asset |
| Asset Placements | apple_list_placements, apple_create_placement, apple_reorder_placements, apple_delete_placement |
| Legacy Screenshots (deprecated) | apple_list_screenshot_sets, apple_create_screenshot_set, apple_upload_screenshot, apple_delete_screenshot |
| Builds | apple_list_builds, apple_get_build_upload, apple_wait_for_build_upload, apple_delete_build_upload, apple_upload_build, apple_set_build_encryption, apple_assign_build |
| Age Rating | apple_get_age_rating, apple_update_age_rating |
| Review Info | apple_update_review_detail |
| Submission | apple_submit_for_review, apple_cancel_submission |
| Release | apple_release_version, apple_get_phased_release, apple_create_phased_release, apple_update_phased_release, apple_delete_phased_release |
| Pricing & Availability | apple_get_pricing, apple_list_app_price_points, apple_set_price, apple_list_availability, apple_create_availability, apple_update_territory_availability |
| Customer Reviews | apple_list_reviews, apple_respond_to_review |
| Certificates | apple_list_certificates, apple_create_certificate, apple_revoke_certificate |
| Provisioning Profiles | apple_list_profiles, apple_create_profile, apple_delete_profile |
| Devices | apple_list_devices, apple_register_device, apple_update_device |
| TestFlight Beta Groups | apple_list_beta_groups, apple_create_beta_group, apple_delete_beta_group, apple_add_beta_testers_to_group, apple_remove_beta_testers_from_group |
| TestFlight Beta Testers | apple_list_beta_testers, apple_invite_beta_tester, apple_delete_beta_tester |
| In-App Purchases | apple_list_iap, apple_create_iap, apple_get_iap, apple_delete_iap |
| Subscription Groups | apple_list_subscription_groups, apple_create_subscription_group, apple_delete_subscription_group |
| Accessibility Declarations | apple_list_accessibility_declarations, apple_create_accessibility_declaration, apple_update_accessibility_declaration, apple_delete_accessibility_declaration |
| Price Points | apple_get_subscription_price_points, apple_get_iap_price_points |
| Offer Codes | apple_list_subscription_offer_codes, apple_get_subscription_offer_code, apple_create_subscription_offer_code, apple_list_iap_offer_codes, apple_get_iap_offer_code, apple_create_iap_offer_code |
| Win-Back Offers | apple_list_win_back_offers, apple_get_win_back_offer |
| Custom Product Pages | apple_list_custom_product_pages, apple_get_custom_product_page, apple_create_custom_product_page, apple_update_custom_product_page, apple_delete_custom_product_page, apple_list_custom_product_page_versions, apple_create_custom_product_page_version, apple_update_custom_product_page_version, apple_list_custom_product_page_localizations, apple_create_custom_product_page_localization, apple_update_custom_product_page_localization, apple_delete_custom_product_page_localization |
| Product Page Optimization | apple_list_experiments, apple_get_experiment, apple_create_experiment, apple_update_experiment, apple_delete_experiment, apple_list_experiment_treatments, apple_create_experiment_treatment, apple_update_experiment_treatment, apple_delete_experiment_treatment, apple_list_treatment_localizations, apple_create_treatment_localization, apple_delete_treatment_localization |
| Sales & Finance Reports | apple_get_sales_report, apple_get_finance_report |
| App Analytics Reports | apple_list_analytics_report_requests, apple_create_analytics_report_request, apple_list_analytics_reports, apple_list_analytics_report_instances, apple_list_analytics_report_segments, apple_download_analytics_report |
| Review submission workflow | apple_list_review_submissions, apple_get_review_submission, apple_create_review_submission, apple_add_review_submission_item, apple_submit_review_submission |
apple_get_pricing は、すべての手動価格ページと自動価格ページをたどります。apple_set_price は手動価格のスケジュール全体を送信するため、維持する必要がある現在または将来の手動エントリをすべて含めてください。省略したエントリはスケジュールから削除される場合があります。
Apple のプロビジョニングリソース(Bundle ID、ケイパビリティ、証明書、プロファイル、デバイス)には、適切なアクセス権を持つ Team API キーが必要です。個人用 API キーは、サポート対象の App Store Connect の公開操作には使用できますが、これらのプロビジョニングリソースには使用できません。TestFlight の内部テスターは Apple の従業員ではなく、App Store Connect チームのメンバーです。
Google Play Console(53 個のツール)
| カテゴリ | ツール |
|---|---|
| 編集のライフサイクル | google_create_edit、google_get_edit、google_commit_edit、google_validate_edit、google_delete_edit |
| アプリの詳細 | google_get_details、google_update_details |
| ストアの掲載情報 | google_list_listings、google_get_listing、google_update_listing、google_delete_listing |
| 国別の提供状況 | google_get_country_availability |
| テスター | google_get_testers、google_update_testers |
| 画像 | google_list_images、google_upload_image、google_delete_image、google_delete_all_images |
| トラックとリリース | google_list_tracks、google_get_track、google_create_release、google_promote_release、google_halt_release、google_list_release_statuses |
| バンドル/APK | google_list_bundles、google_upload_bundle、google_list_apks、google_upload_apk |
| データセーフティ | google_update_data_safety |
| レビュー¹ | google_list_reviews、google_get_review、google_reply_to_review |
| アプリ内商品 | google_list_iap、google_get_iap、google_create_iap、google_update_iap、google_delete_iap |
| サブスクリプション | google_list_subscriptions、google_get_subscription、google_create_subscription、google_activate_subscription_base_plan、google_deactivate_subscription_base_plan |
| Android Vitals³ | google_query_vitals、google_list_vitals_anomalies、google_search_vitals_error_issues、google_search_vitals_error_reports |
| 1 回限りの商品² | google_list_one_time_products、google_get_one_time_product、google_create_one_time_product、google_update_one_time_product、google_delete_one_time_product、google_activate_purchase_option、google_deactivate_purchase_option |
¹ Reviews API が返すのは、過去 7 日以内に作成または変更されたコメント付きの本番アプリのレビューのみです。コメントのない評価と、アルファ版/ベータ版のフィードバックは対象外です。pageToken を使ってもこの期間は延長されません。過去の履歴を確認するには、Play Console から CSV をエクスポートしてください。問題のトラブルシューティング時は レビューへの返信 権限を確認してください。ただし、結果が空であることだけでは、権限の問題とは断定できません。
² 1 回限りの商品(monetization.onetimeproducts)は、購入またはレンタルする商品向けの Google Play の新しい購入モデルで、従来の inappproducts API とは異なります。返された各購入オプションの状態を確認し、専用の有効化/無効化ツールを使用して状態を変更してください。
³ Vitals は Play Developer Reporting API を使用します。サービスアカウントの Cloud プロジェクトでこの API を有効にし、Play Console でそのアカウントに アプリ情報の閲覧 権限を付与してください。このスコープを追加する前に作成された OAuth トークンを保存している場合は、再度 app-publish-mcp auth google を実行する必要があります。
プロンプト(2 個)
| プロンプト | 説明 |
|---|---|
app_release_checklist | iOS および/または Android の署名済みアーティファクトのアップロードから、審査、リリース、公開状況の確認までを案内するチェックリスト |
app_store_optimization | 現在の掲載情報のメタデータ(タイトル、説明、キーワード、スクリーンショット、ローカライズ)を確認し、実行可能な改善案を提示する ASO 監査 |
リソース(2)
| URI | 説明 |
|---|---|
app-publish://config | 現在のサーバー設定 — 接続済みアカウント、認証方法、ツール数 |
app-publish://supported-platforms | 説明付きの、プラットフォーム別にまとめられたすべての対応ツール |
セットアップ
1. インストール
npm install
npm run build
2. Apple 認証情報
- App Store Connect > Keys に移動します
- App Manager ロールで API キーを作成します(レポートには 2 つ目のキーが必要です。キーとロールを参照してください)
.p8ファイルをダウンロードします- Key ID と、チームキーの場合は Issuer ID を控えます。個人キーの場合は、
APPLE_KEY_TYPE=INDIVIDUALを設定し、Issuer ID は省略します。 - Bundle ID、証明書、プロファイル、ケイパビリティ、またはデバイスのツールには、適切なアクセス権を持つ Team API キーを使用してください。
3. Google 認証情報
Google Play Android Developer API を有効にし、次の認証方法のいずれかを選択します。
- サービスアカウント: Google Cloud Console で作成し、その JSON キーをダウンロードします。次に、Play Console の Users and permissions で、そのメールアドレスを招待し、必要なアプリの権限を付与します。
- OAuth: Desktop OAuth クライアントを作成してから、次を実行します。
app-publish-mcp auth google --client-id=YOUR_ID --client-secret=YOUR_SECRET
OAuth コマンドは更新トークンを ~/.app-publish-mcp/google.json に保存します。サーバーはこれを自動的に読み込みます。代わりに、GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET、GOOGLE_REFRESH_TOKEN を明示的に設定することもできます。
4. 環境を設定する
cp .env.example .env
.env を編集します。
APPLE_KEY_ID=YOUR_KEY_ID
APPLE_KEY_TYPE=TEAM
APPLE_ISSUER_ID=YOUR_ISSUER_ID
APPLE_P8_PATH=/path/to/AuthKey.p8
GOOGLE_SERVICE_ACCOUNT_PATH=/path/to/service-account.json
任意:
APPLE_VENDOR_NUMBER=YOUR_VENDOR_NUMBER # sales and finance reports
APPLE_REPORTS_KEY_ID=REPORTS_KEY_ID # key for Sales/Finance/Analytics reports
APPLE_REPORTS_P8_PATH=/path/to/AuthKey_REPORTS.p8
APPLE_ADMIN_KEY_ID=ADMIN_KEY_ID # analytics requests and finance/reporting fallback
APPLE_ADMIN_P8_PATH=/path/to/AuthKey_ADMIN.p8
APP_PUBLISH_READ_ONLY=true # register only read tools (list/get/search/query/download, no Google edit creation or deletion)
追加キーについてはキーとロール、読み取り専用モードについては安全性を参照してください。
サーバーは、パッケージ/プロジェクトのルートから .env を自動的に読み込みます。シェルまたは MCP ホストから渡された環境変数が優先されます。OAuth 変数については、.env.example を参照してください。
5. Claude Code に追加する
~/.claude/settings.local.json に追加します。
{
"mcpServers": {
"app-publish-mcp": {
"command": "node",
"args": ["/path/to/app-publish-mcp/dist/index.js"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_KEY_TYPE": "TEAM",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_P8_PATH": "/path/to/AuthKey.p8",
"GOOGLE_SERVICE_ACCOUNT_PATH": "/path/to/service-account.json"
}
}
}
}
キーとロール
Apple API キーで実行できる操作は、そのロールによって決まるため、1 つのキーでは足りないことがよくあります。リスティング操作が可能なキーではレポートの取得時に 403 が返され、レポート用のキーではリスティングを変更できません。
Apple の各ロールでできること
| 操作 | 使用できるロール | 使用できないロール |
|---|---|---|
| リスティング、スクリーンショットとビジュアル、カスタムプロダクトページ、A/B テスト、バージョン、審査への提出、TestFlight、価格設定 | App Manager、Admin | Sales and Reports、Finance |
| Bundle ID、ケイパビリティ、証明書、プロファイル、デバイス | 適切なアクセス権を持つ Team キー(Admin で対応可能) | 個人キー |
apple_get_sales_report | Sales and Reports、Finance、Admin | App Manager(403) |
apple_get_finance_report | Finance、Admin | Sales and Reports、App Manager(403) |
| App Analytics レポートの読み取り | Sales and Reports、Finance、Admin | App Manager(403) |
apple_create_analytics_report_request | Admin | Sales and Reports、App Manager(403) |
Apple は、アナリティクスと売上に関する表の内容をアナリティクスレポートに記載しています。レポートのエンドポイントを使用する前に、キーのロールとアプリへのアクセス権を確認してください。
1 つのサーバーで複数のキーを使う
メインキーは通常どおり設定し、必要に応じて追加のキーを設定します。各リクエストでは API に応じたキーが選択されます。サーバーが拒否されたリクエストを、より強いキーで再試行することはありません。
| リクエスト | 使用されるキー |
|---|---|
| レポート以外のすべて | メインキー(APPLE_KEY_ID、APPLE_P8_PATH) |
| 売上レポート、アナリティクスレポートの読み取り | APPLE_REPORTS_*、なければ APPLE_ADMIN_*、それもなければメインキー |
| 財務レポート | APPLE_ADMIN_*、なければ APPLE_REPORTS_*、それもなければメインキー |
| アナリティクスレポートリクエストの作成または削除 | APPLE_ADMIN_*、なければメインキー |
APPLE_REPORTS_ISSUER_ID、APPLE_ADMIN_ISSUER_ID、および対応する *_KEY_TYPE の既定値には、メインキーの値が使われます。apple_get_sales_report と apple_get_finance_report には、APPLE_VENDOR_NUMBER(App Store Connect → Payments and Financial Reports)も必要です。
レシピ:恒久的な Admin キーなしでアプリ分析情報を取得する
- メインキー:App Manager。
- Sales and Reports キーを作成し、
APPLE_REPORTS_KEY_ID/APPLE_REPORTS_P8_PATHを設定します。 - 一時的な Admin キーを作成し、
APPLE_ADMIN_KEY_ID/APPLE_ADMIN_P8_PATHを設定して、サーバーを再起動し、アプリごとにapple_create_analytics_report_requestを 1 回呼び出します(ONGOING)。 - App Store Connect で Admin キーを失効させ、
APPLE_ADMIN_*変数を削除します。リクエストはレポートを生成し続け、Sales and Reports キーでレポートを読み取れます。
Apple は 1~2 日後に最初のレポートインスタンスを生成し、各インスタンスを 35 日間保持します。apple_list_analytics_reports → apple_list_analytics_report_instances → apple_download_analytics_report の順に呼び出してダウンロードします。
1 つのサービスアカウントで公開とバイタル情報の両方に対応できます。公開には Google Play Android Developer API、バイタル情報には Google Play Developer Reporting API を有効にし、Play Console でアカウントに必要なアプリの権限を付与します。バイタル情報には アプリ情報の表示 が必要です。
トラブルシューティング
| 応答 | 通常の原因 |
|---|---|
401 NOT_AUTHORIZED | Key ID、Issuer ID、.p8 の誤り、またはキーが失効しています。時計のずれを許容するため、トークンは 60 秒前の時刻で発行されます。システム時計を同期してください。 |
403 FORBIDDEN_ERROR "The API key in use does not allow this request" | キーのロールではこの操作を実行できません。ロールの表を確認し、APPLE_REPORTS_* または APPLE_ADMIN_* を追加してください。 |
売上または財務レポートで 404 NOT_FOUND | その日付または地域のデータがありません。たとえば、無料アプリには財務レポートがありません。 |
売上レポートで 400 PARAMETER_ERROR | ベンダー番号が間違っているか、reportSubType / version が reportType に適合していません。 |
| Google のバイタル情報に行が返されない | その期間にアプリのバイタル情報データがありません。新しいアプリやトラフィックの少ないアプリではよくあることです。 |
安全性
ほとんどのツールは、実際のストアデータを変更します。アシスタントに呼び出させる前に、どのツールが該当するか確認してください。
ユーザーに公開する、またはAppleの審査を開始する
apple_submit_for_review、apple_release_version、apple_create_phased_release/apple_update_phased_releaseapple_update_experimentでstarted=trueを指定すると、実際の訪問者に表示されるプロダクトページテストが開始されますgoogle_commit_editは編集内容をすべて公開します。google_create_release、google_promote_release、google_halt_releaseはコミット時に反映されます
料金と提供状況
apple_set_price(手動の価格スケジュール全体を置き換えます)、apple_create_availability、apple_update_territory_availability- アプリ内購入、サブスクリプション、基本プラン、買い切り商品、プロモーションコードの作成、変更、有効化、無効化
公開テキスト
apple_respond_to_reviewとgoogle_reply_to_reviewは、誰でも読める返信を投稿します
取り消し不可
- すべての
apple_delete_*ツール、google_delete_listing、google_delete_all_images、google_delete_iap、google_delete_one_time_product apple_revoke_certificate:その証明書で署名されたビルドはインストールできなくなります
推奨事項
- 監視とレポートには、読み取り専用のサーバーを別途実行します:
APP_PUBLISH_READ_ONLY=true。ストア読み取りツール、アセットのポーリング、Googleの編集内容の検証が登録されます。Googleの編集の作成と削除は対象外です。新しい編集を作成すると、そのユーザーの既存のリリース下書きが無効になる可能性があります。編集に紐づく読み取りでは、既存のeditIdを明示的に指定してください。このモードでは、サーバーが編集を作成したり、クリーンアップしたりすることはありません。空文字列、0、false、no、off以外の値を指定すると有効になります。outputPathを受け取るレポートツールは、引き続きローカルファイルに書き込みます。overwrite=trueを指定しない限り、既存のファイルは上書きされません。 - 各キーには必要な作業を行える最小限のロールを付与し、一時的なAdminキーは使用後に取り消します。
- Google Playでは、編集内で変更を加え、
google_validate_editで確認してからコミットします。google_delete_editは編集内容を破棄します。 - 書き込みツールでは、MCPクライアントのツール承認を有効にしておきます。
**モックのみでテスト済み:**カスタムプロダクトページとプロダクトページ最適化向けの書き込みツールは、AppleのOpenAPI 4.5.1スキーマに準拠しており、テストで検証済みですが、実際のアカウントではまだ実行されていません。まずテストアプリで試してください。
使用例
アセット、カスタムページ、プロダクトページテストを送信する
apple_create_review_submissionを使って下書きを作成するか(既存の下書きを探すにはapple_list_review_submissionsを使用)、画像/動画、カスタムプロダクトページのバージョン、またはv2実験をapple_add_review_submission_itemで追加します。apple_get_review_submissionで確認してから、完全なレビューアイテムIDをapple_submit_review_submissionに渡します。アイテムを追加しても送信されません。App Reviewが始まるのは最後の手順を実行したときだけです。呼び出しが中断された場合、確認や再試行に使えるよう、送信IDは保持されます。審査対象となるかどうかはAppleが決定します。アプリの初回リリースでは、送信内容にアプリバージョンが必要です。送信済みのページ/テスト/バージョンに割り当てられたアセットは、そのアイテムと一緒に審査されます。既存のapple_submit_for_reviewは、引き続きアプリバージョンのリリースに使用します。
レポートのダウンロードは、1レスポンスあたり32 MiB、展開/結合後のテキストは64 MiBまでです。Analyticsセグメントについては、AppleからMD5が提供されている場合に照合されます。失敗時に署名付きURLが返されることはありません。保存されるレポートは、overwrite=trueを指定しない限り、排他的作成で保存されます。
ビルドのアップロードでは、サポート対象のMD5転送チェックサムを使用し、任意のローカルなexpectedSha256アーティファクト整合性チェックも保持されます。これは、Appleが文書化しているSHA-256チェックサムアルゴリズムがサポートされていないことを意味するものではありません。
Apple のスクリーンショットやプレビュー動画をアップロードして配置する
apple_get_asset_library(appId)はアプリのライブラリ ID を返します。apple_get_asset_specsを使用して、現在の仕様、対応する配置タイプ、配置グループを選択してください。デバイスの寸法やグループ識別子を推測しないでください。apple_upload_assetは、assetLibraryId、mediaType(IMAGEまたはVIDEO)、filePath、expectedSpecIdを受け取ります。Apple の仕様に照らしてファイルの拡張子とサイズを検証し、すべてのパーツをアップロードしてコミットした後、デフォルトで処理の完了を待ちます。動画ではpreviewFrameTimeCodeも指定できます。- 処理がタイムアウトするか失敗した場合は、返されたアセット ID を保持し、
apple_get_asset/apple_wait_for_assetで確認してください。重複してアップロードしないでください。waitForProcessing=falseを指定すると早く応答が返りますが、配置には準備完了状態のアセットが必要です。 apple_create_placementは、選択したplacementTypeとplacementGroupを使用して、アセットをlocalizationIdに関連付けます。デフォルトのtargetTypeはappStoreVersionLocalizationsです。カスタムプロダクトページ、テスト処理、アプリ内イベントにも対応しています。同じ配置を繰り返すと、既存の配置が再利用されます。apple_list_placementsで配置を確認し、希望するグループ内のすべての配置 ID を順序どおりにapple_reorder_placementsに渡します。アプリ内イベントでは、この並べ替えエンドポイントはサポートされていません。apple_delete_placementは配置のみを削除します。apple_list_asset_placementsではアセットの使用箇所をすべて確認できます。使用中のアセットはapple_delete_assetで削除できません。
Apple は App Store Connect API 4.5.1 で従来のスクリーンショットエンドポイントを非推奨にしました。既存の 4 つのスクリーンショットツールは互換性のために引き続き利用できます。Apple は提供終了日を発表していません。新しい作業には Asset Library ワークフロー を使用してください。韓国の年齢レーティングの上書きでは、ALL と TWELVE_PLUS もサポートされるようになりました。
ヘッダーと検索結果のビジュアル、カスタムプロダクトページ、A/B テスト
App Store のプロダクトページのヘッダーと検索結果のビジュアルは、Asset Library の配置(PRODUCT_PAGE_HEADER_ASSET、APP_STORE_SEARCH_RESULTS_ASSET)です。apple_get_asset_specs(placementType=...) で仕様を選び、apple_upload_asset でアップロードしてから、apple_create_placement を実行します。同じ配置は、カスタムプロダクトページのローカライズ(apple_create_custom_product_page → apple_list_custom_product_page_localizations)とテスト処理(apple_create_experiment → apple_create_experiment_treatment → apple_create_treatment_localization)でも使用できます。
ストア分析
apple_create_analytics_report_request は Apple に App Analytics レポートの生成を依頼します。最初のレポートは 1~2 日後に利用できるようになります。その後、apple_list_analytics_reports → apple_list_analytics_report_instances → apple_download_analytics_report の順に実行します(ファイル全体を保存するには outputPath を渡してください)。apple_get_sales_report は、日ごとの販売数と収益を返します。Android では、google_query_vitals はデフォルトで直近 28 日間のクラッシュ率と ANR 率を返します。
iOS アプリのアップデートを申請する
1. apple_list_apps → get the app ID
2. apple_create_version / apple_update_version and localization tools → prepare version 1.1.0, release settings, and metadata
3. apple_upload_build → upload the signed IPA and wait for import
(or resume with apple_get_build_upload / apple_wait_for_build_upload)
If an ambiguous commit error retains a buildUploadId, inspect it with apple_get_build_upload; when it is AWAITING_UPLOAD or FAILED, delete it with apple_delete_build_upload before uploading again.
4. apple_set_build_encryption → answer export-compliance encryption for the imported build
(`true` can still require a manual encryption declaration, supporting documents, and appEncryptionDeclaration linkage in App Store Connect.)
5. apple_assign_build → attach the imported build to the version
6. apple_update_review_detail and apple_get_age_rating → verify review metadata
7. apple_submit_for_review → submit for App Review
8. For an update (not a first version), optionally configure a seven-day phased release before release.
9. After approval, use apple_release_version only for PENDING_DEVELOPER_RELEASE; then monitor or manage any phased release.
Android アプリをリリースする
1. google_create_edit → start an edit (or google_get_edit to verify a resumed edit)
2. google_list_bundles / google_list_apks → reuse an artifact already in the edit when possible
3. google_upload_bundle / google_upload_apk → upload only when the artifact is missing
4. Listing tools and google_update_data_safety → apply reviewed store changes as needed
5. google_create_release → create the target-track release with the exact versionCodes set
6. google_validate_edit → check for errors
7. google_commit_edit → commit changes for Play processing
8. google_list_release_statuses → inspect review and publishing state after commit
編集をコミットしても、すぐに一般公開されるとは限りません。Google Play の審査、管理対象の公開、段階的な公開の設定が引き続き適用されます。
Google Play のアプリ内商品を管理する
1. google_list_iap → list all products
2. google_create_iap → create a new managed product
3. google_update_iap → update price or description
4. google_delete_iap → remove a product
Google Play のサブスクリプションを作成する
1. google_create_subscription → create the subscription with listings and a
base plan (billing period, grace period, regional pricing in micros).
The base plan is created in DRAFT state.
2. google_activate_subscription_base_plan → flip the base plan to ACTIVE so
it becomes purchasable in the Play Store.
3. google_deactivate_subscription_base_plan → pause sales without deleting
the plan.
4. There is no supported subscription archive operation. Keep all base plans
deactivated when retiring a previously published subscription.
google_create_subscription の引数の例:
{
"packageName": "com.example.app",
"productId": "com.example.app.pro_monthly",
"listings": [
{
"languageCode": "en-US",
"title": "Pro Monthly",
"description": "Unlock all premium features.",
"benefits": ["Ad-free", "Cloud sync", "Priority support"]
}
],
"basePlans": [
{
"basePlanId": "pro-monthly",
"autoRenewing": {
"billingPeriodDuration": "P1M",
"gracePeriodDuration": "P3D",
"accountHoldDuration": "P30D"
},
"regionalConfigs": [
{ "regionCode": "US", "priceMicros": "3990000", "currency": "USD" },
{ "regionCode": "TR", "priceMicros": "99000000", "currency": "TRY" }
]
}
]
}
価格は マイクロ単位(1 USD = 1,000,000 マイクロ)で指定し、内部で Play API の Money 形式(units + nanos)に変換されます。regionsVersion のデフォルトは 2022/02 です。地域別の価格を指定する場合、現在 Play API ではこの値が必要です。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。