mcpField
A
App Store Connect MCP Server

App Store Connect MCP Server

ローカル
github.com/zelentsov-dev開発ツール811 週間前に更新

App Store Connect MCP Server について

Apple アプリ開発者向けの Swift 製ローカル MCP サーバーで、macOS クライアントから App Store Connect のリリースやアカウント業務を自動化できます。アプリ管理、テスト、収益化、分析、プロビジョニングを扱い、変更時の安全策も備えています。

主な機能

  1. 01アプリとリリースメタデータの管理
  2. 02TestFlight とビルド配信
  3. 03アプリ内購入、サブスクリプション、価格管理
  4. 04レビュー、スクリーンショット、分析
  5. 05チームアカウントとプロビジョニング管理
  6. 06読み取り専用モードと変更時の安全策

活用シーン

  1. 01アプリのバージョンと審査提出の準備
  2. 02TestFlight のテスターとビルドの管理
  3. 03サブスクリプションとアプリ内購入の更新
  4. 04顧客フィードバックとアプリ指標の確認

MCP 対応

stdio でローカル実行し、App Store Connect API の操作をツールとして MCP クライアントに公開します。クライアントは対応する Mac 上でサーバーを起動します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

App Store Connect MCP サーバー

App Store Connect API 用のローカル Model Context Protocol サーバーです。
macOS 上の Codex、Claude、その他の MCP クライアントから、アプリ、ビルド、TestFlight、レビューなどを管理できます。

Swift 6.2+ macOS 15 CI テスト済み MCP 対応 MIT ライセンス CI


概要

asc-mcp は、ローカルの macOS MCP クライアントを App Store Connect API に接続する、Swift ベースの MCP サーバーです。34 の App Store ツールドメインと 2 つのコアドメインにわたる 514 個のツールを提供し、自然言語で iOS および macOS のリリースワークフローを自動化できます。

Codex、Claude Code、Claude Desktop、Gemini CLI、GitHub Copilot を使用する VS Code、Continue、Cursor、Devin Desktop(旧 Windsurf)向けの設定例が含まれています。クライアントの設定方法を記載しています。リリース CI では、macOS 上ですべてのサードパーティ製クライアントを起動するのではなく、インストール、MCP の初期化、ツールの検出を検証します。

初めての方は、クイックスタートに従ってください。以降のセクションは、高度な設定、ツールの選択、コントリビューター向けのリファレンス資料です。

主な機能
  • リリースとメタデータ — バージョン、ローカライズ、ビルド、審査への提出、段階的リリース、Xcode Cloud
  • TestFlight とアップロード — ベータグループ、テスター、フィードバック、募集、ビルドの配信、処理、輸出コンプライアンス
  • マネタイズ — アプリ内購入、サブスクリプション、価格設定、提供状況、オファーコード、プロモーションオファー
  • マーケティング — スクリーンショット、プレビュー、カスタムプロダクトページ、プロダクトページの最適化、プロモーション対象の購入
  • アカウントとプロビジョニング — 複数の App Store Connect チーム、ユーザー、バンドル ID、デバイス、証明書、プロファイル、機能
  • フィードバックと運用 — カスタマーレビュー、Webhook、アクセシビリティ宣言、分析、メトリクス、診断
  • より安全な自動化 — 読み取り専用モード、確認の安全措置、厳格なページネーション、変更の復旧に関するガイダンス
  • 監査可能な API カバレッジ — バージョン管理された Apple OpenAPI コントラクトと、リリース時の差分チェック

ソースツリーは 4.2.0 に向けた準備を進めています。以下のインストール例は、候補版の承認とオーナーによる公開が完了するまで、最後の安定版に固定されています。Asset Library の個別ワークフローについては、移行ガイドを参照してください。

プラットフォームのサポート

asc-mcp はローカルの stdio サーバーです。MCP クライアントは同じコンピューター上で起動します。クライアントが Linux や Windows で利用できても、この Swift サーバーがクロスプラットフォームになるわけではありません。

環境状況備考
Xcode 26.x を搭載した macOS 15.6 以降推奨リリース CI では、GitHub の macOS 15 ランナーと Xcode 26.2 を使用します
macOS 14.0~15.5宣言されたデプロイメントターゲットのみビルドと実行時の動作は未検証です。別途インストールした Swift 6.2 以降のツールチェーンが必要になる場合があります
Linuxまだサポートされていません移植作業と Linux CI は完了していません
Windowsサポートされていません現在のソースの依存関係と Swift MCP の stdio トランスポートは Windows に対応していません

各 Xcode リリースがサポートする macOS のバージョンについては、Apple の Xcode システム条件を参照してください。

Web やクラウドのセッションでは、ローカルの MCP 設定は自動的に引き継がれません。互換性のある Mac 上で MCP クライアントをローカルに実行するか、その Mac 上での実行を明示的に維持するクライアント機能を使用してください。

クイックスタート

推奨されるセットアップでは、App Store Connect の認証情報を一度だけローカルの非公開ファイルに保存します。その後、MCP クライアントで必要なのは asc-mcp 実行ファイルへのパスだけです。

1. asc-mcp をインストールする
brew install mint
mint install zelentsov-dev/[email protected]
~/.mint/bin/asc-mcp --version
2. App Store Connect API キーを作成する
  1. App Store Connect → ユーザとアクセス → インテグレーション → チームキーを開きます。
  2. ワークフローに必要な範囲を満たす、最小限の権限ロールでキーを生成します。App Manager または Admin が必要なのは、該当する操作で必要な場合のみです。
  3. .p8 ファイルをダウンロードします。Apple ではダウンロードできるのは一度だけです。
  4. キー ID と発行者 ID をコピーします。
3. 認証情報をローカルに保存する

非公開の設定ディレクトリを作成し、ダウンロードした .p8 ファイルを ~/.keys/ に移動します。2 つ目のコマンドでは、移動元のパスとファイル名を置き換えてください。

mkdir -p ~/.config/asc-mcp ~/.keys
chmod 700 ~/.config/asc-mcp ~/.keys
mv /path/to/downloaded/AuthKey_XXXXXXXXXX.p8 ~/.keys/

~/.config/asc-mcp/companies.json を作成します。

{
  "companies": [
    {
      "id": "my-company",
      "name": "My Company",
      "key_id": "XXXXXXXXXX",
      "issuer_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "key_path": "/Users/you/.keys/AuthKey_XXXXXXXXXX.p8"
    }
  ]
}

/Users/you を実際のホームディレクトリのパスに置き換えてください。どちらのファイルもリポジトリの外に置き、アクセスを制限してください。

chmod 600 ~/.config/asc-mcp/companies.json
chmod 600 /Users/you/.keys/AuthKey_XXXXXXXXXX.p8

注意

companies.json、.p8 キー、または生の認証情報を Git にコミットしないでください。漏えいした場合は、ただちに App Store Connect のキーを無効にしてください。

4. MCP クライアントを接続する

クライアントを 1 つ選択してください。すべてのクライアントを設定する必要はありません。

Codex

codex mcp add asc-mcp -- ~/.mint/bin/asc-mcp
codex mcp list

Claude Code

claude mcp add \
  --transport stdio \
  --scope user \
  asc-mcp \
  -- ~/.mint/bin/asc-mcp

claude mcp get asc-mcp
claude mcp list

Claude Desktop、Gemini CLI、VS Code、Continue、Cursor、Devin Desktop の場合は、MCP クライアントのセットアップにあるすぐにコピーできる例を使用してください。

5. 試してみる

GUI クライアントの設定を変更した後は再起動し、MCP ツールの一覧を開いて、次のように尋ねてください。

List my App Store Connect apps.

接続やリクエストに失敗した場合は、トラブルシューティングを参照してください。

インストール

macOS で Mint を使用する(推奨)

Mint は、指定されたリリースをソースからインストールし、実行ファイルを ~/.mint/bin/asc-mcp に配置します。

brew install mint
mint install zelentsov-dev/[email protected]

指定されたリリースを更新または再インストールします。

mint install zelentsov-dev/[email protected] --force

安定版を使用する場合は、バージョンタグをインストールしてください。main または develop のインストールは、メンテナーとプレリリースのテストのみを対象としています。

ソースからビルドする

互換性のあるバージョンの macOS で Xcode 26.x を使用するか、スタンドアロンの Swift 6.2 以降のツールチェーンをインストールしてください。

git clone https://github.com/zelentsov-dev/asc-mcp.git
cd asc-mcp
swift build -c release

実行ファイルは .build/release/asc-mcp にあります。別の場所にコピーする場合は、隣接するリソースバンドルもコピーしてください。

cp .build/release/asc-mcp /usr/local/bin/asc-mcp
cp -R .build/release/asc-mcp_asc-mcp.bundle /usr/local/bin/

このバンドルには、リリースチェックで使用される、バージョン管理された OpenAPI 操作コントラクトが含まれています。

古いリリースからのアップグレード
v4.0.x から

バージョン 4.1 では、既存のすべてのツール名、必須入力、プロジェクションキー、配列の形状が維持されます。Xcode Cloud の読み取りツールは、文書化されていない引数を拒否し、返されるリンク、ページング、リレーションシップの系統、および含まれるリソースをより厳密に検証するようになりました。新しい *Present プロジェクションフィールドは、Apple が省略した配列と、存在する空の配列とを区別しますが、レガシーの配列フィールドは配列のままです。新たに公開されたネストされた *_limit 入力は、対応する include 値とペアで指定する必要があり、継続呼び出しでは元のリクエストスコープを変更せずに繰り返す必要があります。新しいプロダクトおよびワークフローの削除ツールは、デフォルトで安全なプレビューとなり、完全に削除する前に最新のプレビュー受領書と正確なインベントリ確認が必要です。

v3.18.x から

バージョン 4 では、既存のすべてのツール名とワーカーフィルターが維持されますが、破壊的な Marketing およびレビュー添付ファイルの呼び出しでは、Apple へのリクエストの前に正確な確認 ID が必要になりました:

既存のツール新たに必要な確認
custom_pages_deleteconfirm_page_id
ppo_delete_experimentconfirm_experiment_id
promoted_deleteconfirm_promoted_purchase_id
review_attachments_deleteconfirm_attachment_id
screenshots_delete_set、screenshots_delete_preview_setconfirm_set_id
screenshots_deleteconfirm_screenshot_id
screenshots_delete_previewconfirm_preview_id

ppo_update_experiment も、state が指定された場合は confirm_experiment_id が必要です。名前またはトラフィック比率のみを更新する呼び出しは変更されません。unknown または committed_unverified のミューテーション結果の後は、再試行する前に返された検査アクションを使用してください。

既存の Marketing およびレビュー添付ファイルの呼び出しから、文書化されていないトップレベルの引数を削除してください。バージョン 4 では、未知のキーは黙って無視されるのではなく、ネットワークリクエストの前に拒否されます。

設定

認証情報

クイックスタートに示されているデフォルトの ~/.config/asc-mcp/companies.json ファイルは、すべてのクライアント設定でシークレットを重複させることなく、ターミナルと GUI クライアントの両方で一貫して機能するため推奨されます。

複数の会社を扱う場合は、エントリを追加します:

{
  "companies": [
    {
      "id": "my-company",
      "name": "My Company",
      "key_id": "XXXXXXXXXX",
      "issuer_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "key_path": "/Users/you/.keys/AuthKey_XXXXXXXXXX.p8",
      "vendor_number": "YOUR_VENDOR_NUMBER"
    },
    {
      "id": "client-company",
      "name": "Client Company",
      "key_id": "YYYYYYYYYY",
      "issuer_id": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
      "key_path": "/Users/you/.keys/AuthKey_YYYYYYYYYY.p8"
    }
  ]
}

vendor_number は analytics_sales_report、analytics_financial_report、analytics_app_summary にのみ必要です。App Store Connect → Sales and Trends → Reports で確認できます。

環境変数による代替手段

環境変数は自動化に便利ですが、Finder から起動された GUI アプリはシェル環境を継承しない場合があります。ほとんどのユーザーにとっては、上記のファイルベースの設定のほうが簡単です。

単一の会社:

export ASC_KEY_ID=XXXXXXXXXX
export ASC_ISSUER_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export ASC_PRIVATE_KEY_PATH=/Users/you/.keys/AuthKey_XXXXXXXXXX.p8
export ASC_COMPANY_NAME="My Company"                 # optional
export ASC_VENDOR_NUMBER=YOUR_VENDOR_NUMBER          # optional, analytics only

複数の会社:

export ASC_COMPANY_1_NAME="My Company"
export ASC_COMPANY_1_KEY_ID=XXXXXXXXXX
export ASC_COMPANY_1_ISSUER_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export ASC_COMPANY_1_KEY_PATH=/Users/you/.keys/AuthKey_XXXXXXXXXX.p8

export ASC_COMPANY_2_NAME="Client Company"
export ASC_COMPANY_2_KEY_ID=YYYYYYYYYY
export ASC_COMPANY_2_ISSUER_ID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
export ASC_COMPANY_2_KEY_PATH=/Users/you/.keys/AuthKey_YYYYYYYYYY.p8

番号は 1 から始まります。連続する各エントリは ASC_COMPANY_{N}_KEY_ID と ASC_COMPANY_{N}_ISSUER_ID の両方を指定する必要があり、最初に見つからないペアのところでスキャンが停止します。

設定の解決順序

サーバーは認証情報を次の順序で解決します:

  1. --companies /absolute/path/to/companies.json
  2. プログラムによる埋め込み用のコンストラクターパラメーター
  3. ASC_MCP_COMPANIES=/absolute/path/to/companies.json
  4. デフォルトの設定ファイルの場所(~/.config/asc-mcp/companies.json を含む)
  5. ASC_COMPANY_1_KEY_ID およびその他の番号付きマルチカンパニー変数
  6. 単一の会社用の ASC_KEY_ID、ASC_ISSUER_ID、および秘密鍵変数

MCP クライアントのセットアップ

以下のすべての例は、Mint でのインストールと、推奨される companies.json 認証情報ファイルを前提としています。/Users/you は実際のホームディレクトリのパスに置き換えてください。GUI クライアントは通常、実行可能ファイルの絶対パスを必要とします。

クライアント設定スコープ備考
Codexコマンドラインによるユーザー設定。任意で信頼済みプロジェクト設定同じ Mac 上のローカル Codex クライアント間で共有されます
Claude Codeuser、local、または project スコープ個人用の App Store ユーティリティには user が最も簡単です
Claude Desktopユーザーレベルのデスクトップ設定編集後は再起動してください
Gemini CLIユーザー設定ローカルの stdio サーバー
VS Code with GitHub Copilotユーザープロファイルまたは .vscode/mcp.json初回起動時にサーバーの信頼を確認してください
Continueワークスペースの .continue/mcpServers/ネイティブの VS Code MCP 設定とは別です
Cursorユーザーまたはプロジェクトの mcp.jsonコマンドパスは絶対パスを使用してください
Devin Desktop(旧 Windsurf)ユーザー MCP 設定アクティブなツールは 100 個以内に保ってください
Codex CLI、IDE 拡張機能、デスクトップクライアント

推奨される CLI 登録方法:

codex mcp add asc-mcp -- ~/.mint/bin/asc-mcp
codex mcp list
codex mcp get asc-mcp --json

同じローカル MCP 設定は、その Mac 上の Codex クライアント間で共有されます。ユーザー設定は $CODEX_HOME/config.toml で、デフォルトは ~/.codex/config.toml です:

[mcp_servers.asc-mcp]
command = "/Users/you/.mint/bin/asc-mcp"
startup_timeout_sec = 20
tool_timeout_sec = 60
enabled = true

プロジェクト固有のセットアップには、同じテーブルを .codex/config.toml に配置します。Codex はプロジェクトが信頼された後にのみプロジェクト設定を読み込みます。companies.json の代わりにシェルの認証情報を使用する場合は、それらを明示的に転送してください:

env_vars = ["ASC_KEY_ID", "ASC_ISSUER_ID", "ASC_PRIVATE_KEY_PATH"]

設定を変更した後は GUI クライアントを再起動し、その MCP ビューまたは /mcp を使用して asc-mcp がアクティブであることを確認してください。詳細は公式の Codex MCP ドキュメントを参照してください。

Claude Code

すべてのローカルプロジェクトに対して一度に登録します:

claude mcp add \
  --transport stdio \
  --scope user \
  asc-mcp \
  -- ~/.mint/bin/asc-mcp

claude mcp get asc-mcp
claude mcp list

現在のプロジェクトのみに適用する場合は --scope local を、共有の .mcp.json を作成する場合は --scope project を使用します。プロジェクトのサーバーには信頼の承認が必要です。コミットされる .mcp.json に生の App Store Connect 認証情報を絶対に記載しないでください。

Claude は user および local の MCP エントリを ~/.claude.json に保存します。.claude/settings.json はグローバルな MCP レジストリではありません。Claude Code 内で /mcp を使用して、サーバーを検査または再接続してください。詳細は公式の Claude Code MCP ドキュメントを参照してください。

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json にサーバーを追加します:

{
  "mcpServers": {
    "asc-mcp": {
      "command": "/Users/you/.mint/bin/asc-mcp"
    }
  }
}

ファイルを保存した後、Claude Desktop を終了して再度開いてください。

Gemini CLI

~/.gemini/settings.json にサーバーを追加します:

{
  "mcpServers": {
    "asc-mcp": {
      "command": "/Users/you/.mint/bin/asc-mcp"
    }
  }
}

Gemini MCP のデフォルトタイムアウトは意図的に維持されています。詳細は公式の Gemini CLI MCP ドキュメントを参照してください。

VS Code with GitHub Copilot

コマンドパレットから MCP: Add Server を実行し、個人用のセットアップにはユーザープロファイルを選択します。ワークスペースのセットアップには、.vscode/mcp.json を作成します:

{
  "servers": {
    "asc-mcp": {
      "type": "stdio",
      "command": "/Users/you/.mint/bin/asc-mcp"
    }
  }
}

VS Code が初めてサーバーを起動するときに、ローカルサーバーを信頼することを確認してください。共有ワークスペースファイルにユーザー固有のパスやシークレットをコミットしないでください。詳細は公式の VS Code MCP ドキュメントを参照してください。

Continue

Continue は .vscode/mcp.json を使用しません。ワークスペースに .continue/mcpServers/asc-mcp.json を作成します:

{
  "mcpServers": {
    "asc-mcp": {
      "command": "/Users/you/.mint/bin/asc-mcp"
    }
  }
}

MCP ツールは Continue のエージェントモードで利用できます。詳細は公式の Continue MCP ドキュメントを参照してください。

Cursor

すべてのプロジェクトには ~/.cursor/mcp.json を、1 つのプロジェクトには .cursor/mcp.json を使用します:

{
  "mcpServers": {
    "asc-mcp": {
      "command": "/Users/you/.mint/bin/asc-mcp"
    }
  }
}

ファイルを編集した後、Cursor の設定から MCP サーバーを再起動または更新してください。詳細は公式の Cursor MCP ドキュメントを参照してください。

Devin Desktop(旧 Windsurf) サーバーを `~/.codeium/windsurf/mcp_config.json` に追加します。この例では、72 個のツールを含むリリース用サブセットを有効にします。これは Cascade の 100 個という上限を下回ります:
{
  "mcpServers": {
    "asc-mcp": {
      "command": "/Users/you/.mint/bin/asc-mcp",
      "args": [
        "--workers",
        "apps,builds,export_compliance,versions,reviews"
      ]
    }
  }
}

クライアント側で個々のツールを無効にすることもできます。有効なカタログを予測しやすく保つため、サーバー側でワーカーをフィルタリングすることをおすすめします。Devin Desktop の公式 MCP ドキュメントを参照してください。

重要

command には実際の実行ファイルを指定する必要があります。GUI クライアントには、シェルのエイリアス、PATH の変更、環境変数が引き継がれないことがよくあります。絶対パスを使用し、既定の companies.json 認証情報ファイルを使用することをおすすめします。

ワーカーフィルタリング

このサーバーは、34 個の App Store ツールドメインと 2 個のコアドメインにわたる514 個のツールを公開します。一部の MCP クライアントにはツール数の上限があり、Devin Desktop の Cascade では現在、有効なツールは 100 個までです。--workers の 36 個のフィルターキーを使って、必要なワーカーのみを有効にします:

# Only load apps, builds, and version lifecycle tools
asc-mcp --workers apps,builds,versions

# App Store release preparation subset (99 tools, including always-on and build sub-workers)
asc-mcp --workers apps,accessibility,builds,export_compliance,versions,app_info,screenshots

# TestFlight review helpers can be loaded separately (49 tools)
asc-mcp --workers apps,builds,beta_app,pre_release

# Monetization focus
asc-mcp --workers apps,iap,subscriptions,pricing,promoted,review_submissions

フィルターの設定にかかわらず、company と auth のワーカーは常に有効です(中核となるマルチアカウント機能と認証機能を提供します)。

builds を有効にすると、build_processing と build_beta のサブワーカーも自動的に含まれます。

読み取り専用モード

App Store Connect に変更を加えず、安全に状態を確認するには --read-only を使用します:

asc-mcp --read-only
asc-mcp --read-only --workers apps,builds,reviews,analytics

このモードでは、*_list、*_get、*_search、*_status、*_verify、*_parse、*_triage、auth_*、分析、メトリクスなどの読み取りツールは引き続き使用できます。App Store Connect の作成、更新、アップロード、送信、リリース、削除、取り消し、クリア、キャンセル、その他の変更を行うツールは、ワーカーハンドラーが実行される前にブロックされます。company_switch は、ローカルのアクティブな会社コンテキストのみを変更するため、引き続き使用できます。

OpenAPI コントラクトとドリフト検出ツール

オペレーションコントラクトコマンドを使用すると、認証情報を必要としない実際の WorkerManager カタログを、セマンティックマニフェストおよび固定された Apple App Store Connect OpenAPI 仕様と比較できます。本番用マニフェストには、Apple の正確な operationId、HTTP メソッド、パス、呼び出しスコープの入力バインディング、型付き固定値、レスポンスの系譜、ローカルワークフロー、実装状態、非推奨のエイリアス、および意図的に保留されたオペレーションが記録されています。このコマンドは、App Store Connect の認証情報を読み込まず、MCP サーバーも起動しません。

rm -rf /tmp/asc-openapi
mkdir -p /tmp/asc-openapi
curl -L --fail -o /tmp/asc-openapi/spec.zip \
  https://developer.apple.com/sample-code/app-store-connect/app-store-connect-openapi-specification.zip
spec_entry="$(unzip -Z1 /tmp/asc-openapi/spec.zip | grep -E '(^|/)openapi\.oas[^/]*\.json$')"
test "$(echo "$spec_entry" | grep -c .)" -eq 1
unzip -p /tmp/asc-openapi/spec.zip "$spec_entry" > /tmp/asc-openapi/openapi.oas.json

swift run asc-mcp openapi-contract-check \
  --spec /tmp/asc-openapi/openapi.oas.json \
  --json-output /tmp/asc-openapi/operation-contract.json \
  --markdown-output /tmp/asc-openapi/operation-contract.md \
  --strict

このマニフェストは、バージョン、SHA-256、パス数、オペレーション数によって Apple API 4.5.1 に固定されています。Apple のオペレーション 503 件をマッピングし、431 件を明示的に保留し、369 件を対象外として、合計 1,303 件すべてを網羅します。必須の CI では、コミット済みのスナップショットが再現可能であることを確認します。最新の Apple との比較は別途実行され、セマンティックなドリフトレポートを生成します。変更がレビューされるまで、公開はブロックされます。マッピング済みのオペレーションが移動または消失した場合、公開ツールまたはワーカーがマニフェストと異なる場合、入力フィールドのバインディングが失われた場合、レスポンスの系譜が無効になった場合、または保留の決定期限が切れた場合、コントラクト CI は失敗します。公開されていない Apple の任意パラメーターは警告として扱われるため、生成されたバックログで引き続き確認できます。

マニフェストスキーマ v2 では、Apple のすべての任意のクエリ入力およびリクエストボディ入力を、公開バインド済み、内部制御、レビュー済みの理由に基づき意図的に省略、または未分類として記録します。チェックインされている optionalInputCoveragePin には、現在の正確な合計数と、入力 ID および処理区分をソートしたものの SHA-256 ダイジェストが記録されています。--strict は、ピンの欠落や、数または ID レベルでのドリフトを拒否します。このピンにより、段階的な修正を監査可能かつ安全に進められますが、Apple のすべての任意入力がすでに公開済みであることを示すものではありません。v4.1.3 のピンは合計 2,905 件で、内訳はバインド済み 1,122 件、内部制御 40 件、意図的な省略 1,743 件、未分類 0 件です。ID の SHA-256 は c975f4e4eebb62ec87864a73fbf72bb8841f644108e54e6ffb25168bcf2a2766 です。 --strict は、マージ時およびタグ付け時のリリースゲートです。宣言された target または broken のツールはすべてレポート上でエラーとして扱われ、回帰テストによってその状態が厳密に固定されます。現在のベースラインには target または broken の実装も、実装のドリフトもありません。そのため、asBuilt から外れる実装、構造的な契約エラー、または任意入力のカバレッジのドリフトがあると、マージとリリースの両方がブロックされます。--structural-strict は、ローカルで段階的な修正作業を行う場合に限り引き続き使用できます。

このゲートでは、操作の識別情報、MCP のトップレベルフィールドの所有権、必須の Apple 入力、型付きの内部値、レスポンスのソース/ポインターの系譜を検証します。MCP の型/列挙値/範囲との完全な整合性、および完全に型付けされたレスポンススキーマは、別の最適化フェーズとして扱われます。マッピングのステータスは、Apple アカウントの権限や、実際の環境で受け入れられることを保証するものではありません。

以前の openapi-coverage コマンドも、概要レベルのドメインレポートを確認するために引き続き使用できます。詳しくは、ASC-OPENAPI-COVERAGE-GENERATED.md をご覧ください。操作コントラクトが、リリースゲートの正式な基準です。

利用可能なワーカー名:

WorkerPrefixToolsDescription
companycompany_3複数アカウントの管理
authauth_4JWT トークンツール
appsapps_10アプリの一覧表示、メタデータ、ローカライズ、検索キーワード ID
accessibilityaccessibility_6App Store のアクセシビリティに関する申告
webhookswebhooks_11Webhook 通知、配信診断、レシーバーヘルパー
xcode_cloudxcode_cloud_42Xcode Cloud のプロダクト、ワークフロー管理、ビルド実行、成果物、問題、テスト結果、SCM
buildsbuilds_4ビルド管理
build_uploadsbuild_uploads_10ビルドアップロードの親リソース、ファイル、安全な転送、復旧
build_processingbuilds_get_processing_*, builds_update_encryption, builds_check_readiness4ビルドの状態、暗号化
export_complianceexport_compliance_11暗号化の申告、書類のアップロード、ビルドとの関連付け、準備状況
build_betabuilds_*_beta_*, individual tester build tools11TestFlight のローカライズ、通知
versionsapp_versions_17バージョンのライフサイクル、年齢制限指定、提出、リリース
reviewsreviews_8カスタマーレビューと返信
beta_groupsbeta_groups_15TestFlight グループと公開リンクの募集条件
beta_feedbackbeta_feedback_8TestFlight のフィードバック用スクリーンショット、クラッシュ報告、クラッシュログ
beta_testersbeta_testers_12テスター管理
iapiap_59アプリ内課金、バージョン管理されたメタデータ、価格設定、提供状況、オファーコード、審査用アセット
subscriptionssubscriptions_99サブスクリプションとグループのバージョン、価格設定、プランの提供状況、オファー、アセット
sandboxsandbox_3サンドボックステスター
beta_appbeta_app_10ベータアプリのローカライズと審査
pre_releasepre_release_3プレリリースバージョン
beta_licensebeta_license_3ベータライセンス契約
provisioningprovisioning_17バンドル ID、デバイス、証明書
app_infoapp_info_10アプリ情報、カテゴリ、EULA
pricingpricing_9地域、価格設定
usersusers_10チームメンバー、ロール
app_eventsapp_events_9アプリ内イベント、ローカライズ
analyticsanalytics_11売上・財務レポート、分析
assetsassets_11再利用可能な画像・動画、配置、プレビュー、1 回限りの実行、復旧
screenshotsscreenshots_19スクリーンショット、プレビュー、セット、検証済みの並べ替え
custom_pagescustom_pages_17カスタムプロダクトページ、バージョン、ローカライズ、検索キーワード
ppoppo_15プロダクトページ最適化の実験、処理群、ローカライズ
promotedpromoted_10プロモーション対象のアプリ内課金と検証済みの並べ替え
review_attachmentsreview_attachments_4App Store 審査の添付ファイル
review_submissionsreview_submissions_9汎用の App Store 審査提出と提出項目
metricsmetrics_10パフォーマンス指標、診断、TestFlight の利用状況指標
ツールカタログの規模

MCP クライアントがすべてのツール定義を一括で読み込む場合、スキーマの概算サイズは次のとおりです。

構成ツール数約トークン数
すべてのワーカー(デフォルト)514約60,000
リリースワークフロー:apps,builds,export_compliance,versions,reviews約72約8,900
マネタイズ:apps,iap,subscriptions,pricing184約21,100
TestFlight:apps,builds,beta_groups,beta_testers約63約7,100
マーケティング:apps,screenshots,custom_pages,ppo,promoted約78約8,800
--workers apps17約2,100

特に大規模なワーカー: サブスクリプション(99 ツール)、アプリ内課金(59 ツール)、Xcode Cloud(42 ツール)、スクリーンショット(19 ツール)、プロビジョニング(17 ツール)。

実際のコストは、MCP ホストのシリアル化方式、トークナイザー、ツール検出方法によって異なります。最新のクライアントでは、必要になるまでスキーマの読み込みを遅らせる場合があります。クライアントにツール数の上限がある場合や、より小規模で用途を絞ったカタログを使いたい場合は、--workers を使用してください。

利用可能なツール

App Store の 34 のツールドメインと 2 つのコアドメインに、514 個のツールが分類されています(36 個の --workers フィルターキーを使用してください。詳しくはワーカーのフィルタリングを参照してください)。

企業管理 — 3 ツール
ツール説明
company_list構成済みのすべての企業を一覧表示します
company_switchAPI 操作用のアクティブな企業を切り替えます
company_current現在アクティブな企業の情報を取得します
認証 — 4 ツール
ツール説明
auth_generate_tokenAPI アクセス用の JWT トークンを生成します
auth_validate_token標準的なチームキー JWT をローカルで検証します。検証項目は、ES256 署名、設定済みの kid/iss、App Store Connect のオーディエンス、発行時刻と有効期限のクレーム、および 20 分の最大有効期間です。Apple API は呼び出さず、サーバーで受け入れられることも確認しません。
auth_refresh_tokenJWT トークンを強制的に更新します
auth_token_statusJWT トークンキャッシュの状態を取得します
アプリ管理 — 10 ツール
ツール説明
apps_listフィルタリングしてすべてのアプリケーションを一覧表示します
apps_get_detailsアプリの詳細情報を取得します
apps_search名前または Bundle ID でアプリを検索します
apps_list_versions状態を含むすべてのバージョンを一覧表示します
apps_get_metadataバージョンのローカライズ済みメタデータを取得します
apps_list_search_keywordsカスタムページのターゲティングに使用する、App Store 検索キーワードの標準 ID を一覧表示します
apps_update_metadataメタデータ(What's New、説明など)を更新します
apps_list_localizationsコンテンツのステータスとともにローカライゼーションを一覧表示します
apps_create_localizationバージョンの新しいローカライゼーションを作成します
apps_delete_localizationバージョンからローカライゼーションを削除します
アクセシビリティの申告 — 6 ツール
ツール説明
accessibility_listアプリのアクセシビリティ申告を一覧表示します
accessibility_get1 件のアクセシビリティ申告を取得します
accessibility_createデバイスファミリー向けの申告を作成します
accessibility_updateサポート状況のフラグを更新するか、申告を公開します
accessibility_delete申告を削除します
accessibility_list_relationshipsアプリの申告関連 ID を一覧表示します
Webhook 通知 — 11 ツール | ツール | 説明 | |------|-------------| | `webhooks_list` | アプリの webhook を一覧表示します | | `webhooks_get` | ID で webhook を取得します | | `webhooks_create` | webhook 設定を作成します | | `webhooks_update` | webhook のフィールドを更新します | | `webhooks_delete` | webhook を削除します | | `webhooks_list_deliveries` | 配信試行を一覧表示します | | `webhooks_redeliver` | 既存の配信を再配信します | | `webhooks_ping` | テスト ping を送信します | | `webhooks_verify_signature` | 正確な生のペイロード本文に対して `x-apple-signature` を検証します | | `webhooks_parse_payload` | 生の webhook 通知ペイロードを解析して正規化します | | `webhooks_triage_event` | webhook イベントまたは配信失敗に対する実行可能なトリアージ計画を作成します |
Xcode Cloud — 42 個のツール
ツール説明
xcode_cloud_products_listXcode Cloud プロダクトを一覧表示します
xcode_cloud_products_getXcode Cloud プロダクトを取得します
xcode_cloud_products_delete確認の安全策付きで Xcode Cloud プロダクトをプレビューまたは完全に削除します
xcode_cloud_app_product_getアプリに関連付けられた Xcode Cloud プロダクトを取得します
xcode_cloud_product_app_getXcode Cloud プロダクトに関連付けられたアプリを取得します
xcode_cloud_product_primary_repositories_listプロダクトに接続されたプライマリリポジトリを一覧表示します
xcode_cloud_product_additional_repositories_listプロダクトに接続された追加リポジトリを一覧表示します
xcode_cloud_product_workflows_listプロダクトのワークフローを一覧表示します
xcode_cloud_product_build_runs_listプロダクトのビルド実行を一覧表示します
xcode_cloud_workflows_getワークフローを取得します
xcode_cloud_workflows_createXcode Cloud ワークフローを作成します
xcode_cloud_workflows_updateXcode Cloud ワークフローを更新します
xcode_cloud_workflows_delete確認の安全策付きでワークフローをプレビューまたは完全に削除します
xcode_cloud_workflow_repository_getワークフローで使用されるリポジトリを取得します
xcode_cloud_workflow_build_runs_listワークフローのビルド実行を一覧表示します
xcode_cloud_build_runs_getビルド実行を取得します
xcode_cloud_build_runs_startXcode Cloud ビルドを開始または再ビルドします
xcode_cloud_build_run_actions_list実行のビルドアクションを一覧表示します
xcode_cloud_build_run_builds_list実行によって作成された App Store Connect ビルドを一覧表示します
xcode_cloud_actions_getビルドアクションを取得します
xcode_cloud_action_build_run_getビルドアクションを所有するビルド実行を取得します
xcode_cloud_action_artifacts_listアクションの成果物を一覧表示します
xcode_cloud_action_issues_listアクションの問題を一覧表示します
xcode_cloud_action_test_results_listアクションのテスト結果を一覧表示します
xcode_cloud_artifacts_get成果物を取得します
xcode_cloud_issues_get問題を取得します
xcode_cloud_test_results_getテスト結果を取得します
xcode_cloud_xcode_versions_list利用可能な Xcode バージョンを一覧表示します
xcode_cloud_xcode_versions_getXcode バージョンを取得します
xcode_cloud_xcode_version_macos_versions_listXcode バージョンと互換性のある macOS バージョンを一覧表示します
xcode_cloud_macos_versions_list利用可能な macOS バージョンを一覧表示します
xcode_cloud_macos_versions_getmacOS バージョンを取得します
xcode_cloud_macos_version_xcode_versions_listmacOS バージョンと互換性のある Xcode バージョンを一覧表示します
xcode_cloud_scm_providers_listSCM プロバイダーを一覧表示します
xcode_cloud_scm_providers_getSCM プロバイダーを取得します
xcode_cloud_scm_provider_repositories_listSCM プロバイダーのリポジトリを一覧表示します
xcode_cloud_scm_repositories_listSCM リポジトリを一覧表示します
xcode_cloud_scm_repositories_getSCM リポジトリを取得します
xcode_cloud_scm_repository_git_references_listリポジトリの git 参照を一覧表示します
xcode_cloud_scm_repository_pull_requests_listリポジトリのプルリクエストを一覧表示します
xcode_cloud_scm_git_references_getgit 参照を取得します
xcode_cloud_scm_pull_requests_getプルリクエストを取得します
TestFlight ベータフィードバック — 8 個のツール
ツール説明
beta_feedback_list_crashesベータ版のクラッシュフィードバック送信を一覧表示します
beta_feedback_get_crashベータ版のクラッシュフィードバック送信を 1 件取得します
beta_feedback_get_crash_log送信されたクラッシュログを読み取ります
beta_feedback_get_crash_log_by_idクラッシュログ ID でクラッシュログを読み取ります
beta_feedback_delete_crashベータ版のクラッシュフィードバック送信を削除します
beta_feedback_list_screenshotsベータ版のスクリーンショットフィードバック送信を一覧表示します
beta_feedback_get_screenshotベータ版のスクリーンショットフィードバック送信を 1 件取得します
beta_feedback_delete_screenshotベータ版のスクリーンショットフィードバック送信を削除します
ビルド — 4 個のツール
ツール説明
builds_list処理状態を含めてビルドを一覧表示します
builds_getビルドの詳細情報を取得します
builds_find_by_numberバージョン番号でビルドを検索します
builds_list_for_version特定のアプリバージョンのビルドを取得します
ビルドアップロード — 10 個のツール
ツール説明
build_uploads_listフィルター、スパースフィールド、インクルード、厳密なページネーションを使用して、アプリの Build Upload 親リソースを一覧表示します
build_uploads_get処理診断とオプションのインクルードリソースを含めて、Build Upload を 1 件取得します
build_uploads_create曖昧な POST を再実行せずに、Build Upload 親リソースを作成します
build_uploads_delete正確な ID の確認後に、Build Upload 親リソースを削除します
build_uploads_list_files厳密なページネーションを使用して、1 つの Build Upload 配下のファイル予約を一覧表示します
build_uploads_get_fileBuild Upload File とその配信状態を 1 件取得します
build_uploads_reserve_file曖昧な POST を再実行せずに、正確なファイルを 1 件予約します
build_uploads_commit_file省略と null を別々に保持したまま、チェックサムまたはアップロード状態の変更をコミットします
build_uploads_upload_file不変のローカルスナップショットから、新規または既存の予約を転送します
build_uploads_upload親リソースの作成、予約、転送、コミット、処理の整合を実行します

複合アップロードでは、予約から復旧まで同じ小文字の MD5 フィンガープリントが保持されます。明示的な再開および復旧された継続の指示には expected_md5 が含まれ、次回の呼び出しでは Apple へのリクエストや転送の前に、新しい不変のスナップショットをそれと照合して検証します。すでに UPLOAD_COMPLETE または COMPLETE とマークされている既存の予約は、Apple の sourceFileChecksums.file の MD5 がそのスナップショットと一致する場合にのみ受け入れられます。証拠が欠落している、サポートされていない、または一致しない場合は、別の転送、コミット、削除を行わずに、検査用に保持されます。署名付き操作は、そのメソッドが PUT の場合にのみ再試行されます。リダイレクト、POST、および不明なメソッドは再実行されません。曖昧な作成が一意に復旧された場合、ワークフローは停止し、明示的な継続のためにそのリソース ID を返します。転送用の認証情報は、直接読み取りで include_sensitive_details が明示的に有効化されていない限り、伏せ字のまま保持されます。

ビルド処理 — 4 個のツール
ツール説明
builds_get_processing_state現在の処理状態を取得します
builds_update_encryption暗号化コンプライアンスを設定します
builds_get_processing_status詳細な処理ステータスを取得します
builds_check_readinessビルドが提出可能かどうかを確認します
輸出コンプライアンス — 11 個のツール | ツール | 説明 | |------|-------------| | `export_compliance_list_declarations` | アプリの暗号化宣言を厳密なページネーションで一覧表示します | | `export_compliance_get_declaration` | 非推奨のドキュメント URL フィールドなしで 1 件の宣言を取得します | | `export_compliance_create_declaration` | アプリの暗号化宣言アンケートを作成します | | `export_compliance_create_document` | 単一の不変なローカルスナップショットからドキュメントを予約、転送、コミット、ポーリングします | | `export_compliance_get_document` | 署名付き URL、トークン、アップロードヘッダーなしで安全な配信メタデータを取得します | | `export_compliance_update_document` | 低レベルの nullable チェックサムまたはアップロード状態のパッチを適用します | | `export_compliance_upload_document` | AWAITING_UPLOAD の予約を正確なバイトとその小文字 MD5 レシートで再開します | | `export_compliance_inspect_document` | ドキュメントの存在を検査し、その配信状態を分類します | | `export_compliance_get_build_declaration` | ビルドに現在関連付けられている宣言を取得します | | `export_compliance_attach_build_declaration` | 承認済みの宣言を関連付け、その関係を検証します | | `export_compliance_check_release_readiness` | ビルドの輸出コンプライアンスリリースゲートのみを評価します |
TestFlight ベータ版の詳細 — 11 ツール
ツール説明
builds_get_beta_detailビルドの TestFlight 設定を取得します
builds_update_beta_detailTestFlight 設定を更新します
builds_set_beta_localizationTestFlight の「新機能」を設定します
builds_list_beta_localizationsすべての TestFlight ローカリゼーションを一覧表示します
builds_get_beta_groupsビルドのベータグループを取得します
builds_get_beta_testersビルドの個別テスターを取得します
builds_send_beta_notificationベータテスターに通知を送信します
builds_add_to_beta_groupsビルドをベータグループに追加します
builds_add_individual_testers個別テスターをビルドに追加します
builds_remove_individual_testers個別テスターをビルドから削除します
builds_list_individual_testersビルドに割り当てられた個別テスターを一覧表示します
TestFlight ベータグループ — 15 ツール
ツール説明
beta_groups_listアプリの TestFlight ベータグループを一覧表示します
beta_groups_create新しいベータグループを作成します
beta_groups_updateベータグループの設定を更新します
beta_groups_deleteベータグループを削除します
beta_groups_add_testersテスターをベータグループに追加します
beta_groups_remove_testersテスターをベータグループから削除します
beta_groups_list_testersベータグループ内のテスターを一覧表示します
beta_groups_add_buildsビルドをベータグループに追加します
beta_groups_remove_buildsビルドをベータグループから削除します
beta_groups_get_recruitment_criteriaベータグループに関連付けられた公開リンクの募集条件を取得します
beta_groups_create_recruitment_criteriaデバイスファミリーと OS バージョンの募集条件を作成します
beta_groups_update_recruitment_criteria募集フィルターを置き換えるか明示的にクリアします
beta_groups_delete_recruitment_criteria正確な条件 ID の確認後に募集条件を削除します
beta_groups_list_recruitment_optionsApple が現在許可しているデバイスファミリーと OS バージョンを一覧表示します
beta_groups_check_recruitment_compatibilityグループにその条件と互換性のあるビルドがあるかどうかを確認します
TestFlight ベータテスター — 12 ツール

テスターの一覧表示/検索/取得/作成/削除、アプリの関連付け、招待、ベータグループの割り当て、ビルドの割り当て、アプリの削除のツールが含まれます。

アプリバージョンのライフサイクル — 17 ツール | ツール | 説明 | |------|-------------| | `app_versions_create` | 新しいアプリバージョンを作成します | | `app_versions_list` | 状態でフィルタリングしてバージョンを一覧表示します | | `app_versions_get` | 詳細なバージョン情報を取得します | | `app_versions_get_age_rating_declaration` | App Info の年齢レーティング質問票を読み取ります | | `app_versions_list_territory_age_ratings` | 地域ごとに算出された年齢レーティングを一覧表示します | | `app_versions_update` | バージョンの属性を更新します | | `app_versions_attach_build` | ビルドをバージョンに紐付けます | | `app_versions_submit_for_review` | App Store レビューに提出します | | `app_versions_cancel_review` | 進行中のレビューをキャンセルします | | `app_versions_release` | 承認されたバージョンをリリースします | | `app_versions_create_phased_release` | 段階的ロールアウトを作成します | | `app_versions_get_phased_release` | 段階的リリースの情報と ID を取得します | | `app_versions_update_phased_release` | ロールアウトを一時停止/再開/完了します | | `app_versions_delete_phased_release` | 対象となる計画済みの段階的リリースを、正確な ID の確認と不明な結果に対する安全性を備えて削除します | | `app_versions_set_review_details` | レビュー担当者の連絡先情報を設定します | | `app_versions_update_age_rating` | 年齢レーティングの申告を設定します | | `app_versions_delete` | 編集可能なアプリバージョンを、正確な ID の確認と不明な結果に対する安全性を備えて削除します |
カスタマーレビュー — 8 ツール
ツール説明
reviews_listフィルタリングとページネーションを使用してレビューを取得します
reviews_get特定のレビューの詳細を取得します
reviews_list_for_version特定のバージョンのレビューを取得します
reviews_statsレビュー統計を集計します
reviews_create_responseカスタマーレビューに返信します
reviews_delete_response返信を削除します
reviews_get_responseレビューへの返信を取得します
reviews_summarizationsレビューのテーマと評価を要約します
アプリ内課金 — 59 ツール | ツール | 説明 | |------|-------------| | `iap_list` | アプリのアプリ内課金を一覧表示します | | `iap_get` | アプリ内課金の詳細を取得します | | `iap_create` | 新しいアプリ内課金を作成します | | `iap_update` | アプリ内課金の属性を更新します | | `iap_delete` | アプリ内課金を削除します | | `iap_list_localizations` | アプリ内課金のローカライズを一覧表示します | | `iap_create_localization` | アプリ内課金のローカライズを作成します | | `iap_update_localization` | アプリ内課金のローカライズを更新します | | `iap_delete_localization` | アプリ内課金のローカライズを削除します | | `iap_submit_for_review` | アプリ内課金を審査に提出します | | `iap_list_subscriptions` | サブスクリプショングループを一覧表示します | | `iap_get_subscription_group` | サブスクリプショングループの詳細を取得します | | `iap_inventory` | アプリの AI フレンドリーなアプリ内課金インベントリ | | `iap_list_price_points` | 地域別の価格ポイントを一覧表示します | | `iap_list_price_point_equalizations` | 価格ポイントの均等化を一覧表示します | | `iap_get_price_schedule` | 価格スケジュールを取得します | | `iap_set_price_schedule` | 価格スケジュールを設定します | | `iap_pricing_summary` | 現在の価格とスケジュールされた価格を要約します | | `iap_prepare_offer_prices` | オファー向けの価格ポイント候補を検索します | | `iap_set_availability` | 地域別の提供状況を設定します | | `iap_get_availability` | アプリ内課金または提供状況 ID による提供状況を取得します | | `iap_list_available_territories` | 利用可能な地域を一覧表示します | | `iap_get_promoted_purchase` | プロモーション購入の状態を取得します | | `iap_list_offer_codes` | アプリ内課金のオファーコードを一覧表示します | | `iap_get_offer_code` | アプリ内課金のオファーコードを取得します | | `iap_create_offer_code` | アプリ内課金のオファーコードを作成します | | `iap_update_offer_code` | アプリ内課金のオファーコードを更新します | | `iap_deactivate_offer_code` | アプリ内課金のオファーコードを無効化します | | `iap_list_offer_code_prices` | 地域別のオファー価格を一覧表示します | | `iap_generate_one_time_codes` | ワンタイムオファーコードを生成します | | `iap_list_one_time_codes` | ワンタイムコードのバッチを一覧表示します | | `iap_get_one_time_code` | ワンタイムコードのバッチを取得します | | `iap_update_one_time_code` | ワンタイムコードのバッチを更新します | | `iap_deactivate_one_time_code` | ワンタイムコードのバッチを無効化します | | `iap_get_one_time_code_values` | 生成されたワンタイムコードの値を取得します | | `iap_create_custom_code` | カスタムオファーコードを作成します | | `iap_get_custom_code` | カスタムコードの詳細を取得します | | `iap_update_custom_code` | カスタムコードを更新します | | `iap_deactivate_custom_code` | カスタムコードを無効化します | | `iap_get_review_screenshot` | 審査用スクリーンショットを取得します | | `iap_upload_review_screenshot` | 審査用スクリーンショットをアップロードします | | `iap_delete_review_screenshot` | 審査用スクリーンショットを削除します | | `iap_upload_image` | プロモーション画像をアップロードします | | `iap_get_image` | プロモーション画像を取得します | | `iap_delete_image` | プロモーション画像を削除します | | `iap_list_images` | プロモーション画像を一覧表示します | | `iap_create_version` | 審査可能なアプリ内課金メタデータバージョンを作成します | | `iap_get_version` | アプリ内課金のバージョンとその審査状態を取得します | | `iap_list_versions` | アプリ内課金の審査可能なバージョンを一覧表示します | | `iap_list_version_localizations` | アプリ内課金バージョンが所有するローカライズを一覧表示します | | `iap_create_version_localization` | アプリ内課金バージョンのローカライズを作成します | | `iap_get_version_localization` | アプリ内課金バージョンのローカライズを取得します | | `iap_update_version_localization` | アプリ内課金バージョンのローカライズの nullable なテキストを更新します | | `iap_delete_version_localization` | アプリ内課金バージョンのローカライズを削除します | | `iap_get_version_image` | アプリ内課金バージョンに関連する単一の画像を取得します | | `iap_list_version_images` | アプリ内課金バージョンが所有するすべての画像リソースを、厳密な継続サポート付きで一覧表示します | | `iap_upload_version_image` | 不変のアプリ内課金バージョン画像をアップロード、コミット、および照合します | | `iap_get_version_image_resource` | バージョンスコープのアプリ内課金画像リソースを取得します | | `iap_delete_version_image` | バージョンスコープのアプリ内課金画像を削除します | 従来のプロダクトスコープのローカリゼーション、申請、画像ツールは、互換性のために引き続き呼び出し可能です。Apple 4.4.1 では `iap_list_localizations`、`iap_create_localization`、`iap_update_localization`、`iap_delete_localization`、`iap_submit_for_review`、`iap_upload_image`、`iap_get_image`、`iap_delete_image`、`iap_list_images` が非推奨になり、成功レスポンスはバージョン付きの代替ツールを示します。ローカリゼーションの作成、プロモーション画像のアップロード、審査申請については、まず `iap_list_versions` を使用し、新しいメタデータバージョンが必要な場合にのみ `iap_create_version` を呼び出し、そのバージョン ID を下流のバージョン付きツールに渡してください。これらの互換呼び出しがバージョンを自動的に作成または選択することはありません。

Apple がバージョンまたはバージョンローカリゼーションの作成を受け入れた可能性があるものの、レスポンスが失われたかデコードできない場合、ツールは write_outcome: not_confirmed と retrySafe: false を、リクエストされた識別情報および list/get による確認手順とともに返します。重複したメタデータリソースを避けるため、再試行する前に確認してください。

サブスクリプション — 99 個のツール

サブスクリプションおよびグループのメタデータバージョン、バージョン所有のローカリゼーションと画像、プランタイプを考慮した利用可否、テリトリーを考慮した価格、価格ポイントと調整された均等化、プロモート購入の読み取り、インベントリ/価格設定ヘルパー、イントロオファー、プロモーションオファー、オファーコード、ワンタイム/カスタムコード、ウィンバックオファー、審査用スクリーンショットを含みます。以前の公開 offer_codes_*、intro_offers_*、promo_offers_*、winback_* のすべての機能は、subscriptions_* を通じて公開されています。

Apple 4.4.1 では、従来のプロダクトまたはグループスコープのローカリゼーション、画像、申請ツールも非推奨になります。これらは互換性のために引き続き呼び出し可能で、成功時に明示的な代替案内を返し、メタデータバージョンを自動的に作成または選択することはありません。新しい統合では、subscriptions_create_version または subscriptions_create_group_version、対応するバージョンローカリゼーション/画像ツール、および汎用の review_submissions_* ワークフローを使用する必要があります。

サブスクリプションバージョン、グループバージョン、ローカリゼーション、プラン利用可否の作成は、同じ非冪等のリカバリ契約を使用します。曖昧な Apple への書き込みは、write_outcome: not_confirmed、retrySafe: false、リクエストされたフィンガープリント、および決定論的なコレクション/get の確認手順を返します。

以下の名前は互換性のために引き続き利用可能ですが、Apple 4.4.1 では従来の subscriptionAvailability リソースが非推奨となり、プランタイプを考慮した subscriptionPlanAvailabilities が推奨されます。

ツール互換性ステータス
subscriptions_get_availability非推奨の従来の利用可否読み取り
subscriptions_set_availability非推奨の従来の利用可否書き込み
subscriptions_list_available_territories非推奨の従来のテリトリー一覧
subscriptions_inventory非推奨のヘルパー。最初に含まれるリレーションページを超えるサブスクリプションを省略する可能性があり、権威ある完全なインベントリではありません
Sandbox テスター — 3 個のツール
ツール説明
sandbox_listSandbox テスターを一覧表示します
sandbox_updateSandbox テスター設定を更新します
sandbox_clear_purchase_historySandbox テスターの購入履歴を消去します
ベータ版アプリ — 10 個のツール | ツール | 説明 | |------|-------------| | `beta_app_list_localizations` | ベータ版アプリのローカライズを一覧表示します | | `beta_app_create_localization` | ベータ版アプリのローカライズを作成します | | `beta_app_get_localization` | ベータ版アプリのローカライズを取得します | | `beta_app_update_localization` | ベータ版アプリのローカライズを更新します | | `beta_app_delete_localization` | ベータ版アプリのローカライズを削除します | | `beta_app_submit_for_review` | ビルドをベータ版レビューに提出します | | `beta_app_list_submissions` | ベータ版レビューの提出物を一覧表示します | | `beta_app_get_submission` | ベータ版レビューの提出物を取得します | | `beta_app_get_review_details` | ベータ版アプリレビューの詳細を取得します | | `beta_app_update_review_details` | ベータ版アプリレビューの詳細を更新します |
プレリリース版 — 3 ツール

プレリリース版の一覧表示、詳細、および関連するビルドが含まれます。

ベータ版ライセンス契約 — 3 ツール

ベータ版ライセンス契約の一覧表示、取得、更新が含まれます。

プロビジョニング — 17 ツール
ツール説明
provisioning_list_bundle_ids登録済みのバンドル識別子を一覧表示します
provisioning_get_bundle_idバンドル ID の詳細を取得します
provisioning_create_bundle_id新しいバンドル識別子を登録します
provisioning_delete_bundle_idバンドル識別子を削除します
provisioning_list_devices登録済みのデバイスを一覧表示します
provisioning_register_device新しいデバイス(UDID)を登録します
provisioning_update_deviceデバイス名またはステータスを更新します
provisioning_list_certificates署名証明書を一覧表示します
provisioning_get_certificate証明書の詳細を取得します
provisioning_revoke_certificate証明書を失効させます
provisioning_list_profilesプロビジョニングプロファイルを一覧表示します
provisioning_get_profileプロファイルの詳細を取得します
provisioning_delete_profileプロファイルを削除します
provisioning_create_profileプロビジョニングプロファイルを作成します
provisioning_list_capabilitiesバンドル ID のケイパビリティを一覧表示します
provisioning_enable_capabilityケイパビリティを有効化します
provisioning_disable_capabilityケイパビリティを無効化します
アプリ情報 — 10 ツール

アプリ情報の一覧表示/取得/更新、アプリ情報のローカライズ、および EULA の取得/作成/更新ツールが含まれます。

価格設定 — 9 ツール

地域、提供状況、価格ポイント、価格スケジュール、および App Store 提供状況 v2 ツールが含まれます。

ユーザー — 10 ツール

チームメンバーの一覧表示/取得/更新/削除、招待、表示可能なアプリ、および表示可能なアプリのリレーションシップ更新が含まれます。

アプリ内イベント — 9 ツール

アプリ内イベントの CRUD に加え、イベントローカライズの一覧表示/作成/更新/削除が含まれます。

アナリティクス — 11 ツール

売上、財務、アプリサマリー、アナリティクスレポートリクエスト、レポート、インスタンス、スナップショット、およびセグメントツールが含まれます。

スクリーンショットとプレビュー — 19 ツール | ツール | 説明 | |------|-------------| | `screenshots_list_sets` | スクリーンショットセットを一覧表示します | | `screenshots_get_set` | ID でスクリーンショットセットを取得します | | `screenshots_create_set` | スクリーンショットセットを作成します | | `screenshots_delete_set` | スクリーンショットセットを削除します | | `screenshots_list` | セット内のスクリーンショットを一覧表示します | | `screenshots_upload` | スクリーンショットをアップロードします | | `screenshots_get` | スクリーンショットの詳細を取得します | | `screenshots_delete` | スクリーンショットを削除します | | `screenshots_reorder` | セット内のスクリーンショットを並べ替えます | | `screenshots_list_preview_sets` | アプリプレビューセットを一覧表示します | | `screenshots_get_preview_set` | ID でアプリプレビューセットを取得します | | `screenshots_create_preview_set` | プレビューセットを作成します | | `screenshots_delete_preview_set` | プレビューセットを削除します | | `screenshots_upload_preview` | アプリプレビューをアップロードします | | `screenshots_get_preview` | プレビューの詳細を取得します | | `screenshots_list_previews` | プレビューセット内のプレビューを一覧表示します | | `screenshots_reorder_previews` | メンバーシップとポストフライト検証を使用して、セット内のすべてのプレビューを並べ替えます | | `screenshots_upload_batch` | スクリーンショットを一括でアップロードします | | `screenshots_delete_preview` | プレビューを削除します |
カスタムプロダクトページ — 17 個のツール
ツール説明
custom_pages_listカスタムプロダクトページを一覧表示します
custom_pages_getページの詳細を取得します
custom_pages_createカスタムページを作成します
custom_pages_updateカスタムページを更新します
custom_pages_deleteカスタムページを削除します
custom_pages_list_versionsページバージョンを一覧表示します
custom_pages_get_versionID でページバージョンを取得します
custom_pages_create_versionページバージョンを作成します
custom_pages_update_versionページバージョンを更新します
custom_pages_list_localizationsバージョンのローカライゼーションを一覧表示します
custom_pages_get_localizationID でローカライゼーションを取得します
custom_pages_create_localizationローカライゼーションを作成します
custom_pages_update_localizationローカライゼーションを更新します
custom_pages_delete_localization正確な確認の後にローカライゼーションを削除します
custom_pages_list_search_keywordsローカライゼーションに割り当てられた検索キーワード ID を一覧表示します
custom_pages_add_search_keywords検索キーワードの関連付けを追加します
custom_pages_remove_search_keywords正確な確認の後に検索キーワードの関連付けを削除します
プロダクトページ最適化 (A/B テスト) — 15 個のツール
ツール説明
ppo_list_experimentsA/B テストの実験を一覧表示します
ppo_list_version_experimentsApp Store バージョンの V2 実験を一覧表示します
ppo_get_experiment実験の詳細を取得します
ppo_create_experiment実験を作成します
ppo_update_experiment実験を更新/開始/停止します
ppo_delete_experiment実験を削除します
ppo_list_treatments実験のトリートメントを一覧表示します
ppo_get_treatmentID でトリートメントを取得します
ppo_create_treatmentトリートメントバリアントを作成します
ppo_update_treatmentトリートメントバリアントを更新します
ppo_delete_treatment正確な確認の後にトリートメントを削除します
ppo_list_treatment_localizationsトリートメントのローカライゼーションを一覧表示します
ppo_get_treatment_localizationID でトリートメントのローカライゼーションを取得します
ppo_create_treatment_localizationトリートメントのローカライゼーションを作成します
ppo_delete_treatment_localization正確な確認の後にトリートメントのローカライゼーションを削除します
プロモート購入 — 10 個のツール | ツール | 説明 | |------|-------------| | `promoted_list` | アプリのプロモーション対象の購入項目を一覧表示します | | `promoted_get` | プロモーションの詳細を取得します | | `promoted_create` | プロモーションを作成します | | `promoted_update` | プロモーションの表示設定または有効状態を更新します | | `promoted_delete` | プロモーションを削除します | | `promoted_reorder` | アプリのプロモーション対象の購入項目の順序をすべて置き換え、検証します | | `promoted_upload_image` | 非推奨:移行ガイダンスを返します。このエンドポイントは、固定された Apple OpenAPI 4.5.1 に含まれていません | | `promoted_get_image` | 非推奨:移行ガイダンスを返します。このエンドポイントは、固定された Apple OpenAPI 4.5.1 に含まれていません | | `promoted_delete_image` | 非推奨:移行ガイダンスを返します。このエンドポイントは、固定された Apple OpenAPI 4.5.1 に含まれていません | | `promoted_get_image_for_purchase` | 非推奨:移行ガイダンスを返します。この関連付けは、固定された Apple OpenAPI 4.5.1 に含まれていません |
レビュー添付ファイル — 4 ツール

App Store のレビュー添付ファイルをアップロード、取得、削除、一覧表示するツールが含まれます。

レビュー提出 — 9 ツール
ツール説明
review_submissions_listアプリの一般的なレビュー提出を一覧表示します
review_submissions_get一般的なレビュー提出を 1 件取得します
review_submissions_createアプリとプラットフォームを指定して、一般的なレビュー提出を作成します
review_submissions_list_itemsレビュー提出に紐付けられた項目を一覧表示します
review_submissions_add_itemレビュー対象のリソースバージョンを提出に紐付けます
review_submissions_update_item提出済み項目の resolved または removed の nullable な状態を更新します
review_submissions_remove_item提出から項目を削除します
review_submissions_submit紐付けられたすべての項目をレビューに提出します
review_submissions_cancel提出済みの一般的なレビュー提出をキャンセルします

review_submissions_add_item は、Apple の応答によって有効な項目 ID と、要求された関連名、JSON:API の型、およびリソース ID がすべて正確に確認された場合にのみ成功を報告します。一致しない場合は、未確認の書き込みとして返され、提出と項目一覧を使った復旧手順が示されます。

アプリのアセットライブラリ — 11 ツール
ツール説明
assets_get_libraryアプリが所有する再利用可能なアセットライブラリを読み取ります
assets_get_reference_data必要に応じて ID を指定し、動的なメディア要件と配置要件を読み取ります
assets_list_images範囲を指定したページネーションでアプリの画像を参照します
assets_list_videos範囲を指定したページネーションでアプリの動画を参照します
assets_get_image画像の処理/レビュー状態と安全なプロパティを読み取ります
assets_get_video動画と、独立したポスターフレームの処理状態を読み取ります
assets_list_placements1 つのアセットの使用箇所、または 1 つのローカライズの内容を参照します
assets_get_placement配置を読み取り、親アプリを検証します
assets_prepare_changeApple への書き込みを行わずに型指定された変更を準備し、10 分間有効なプレビューを返します
assets_apply_changeプレビューを 1 回だけ使用して再検証し、実行して読み戻します
assets_get_operationプライベートジャーナルを調べ、読み取りのみで照合します

変更を適用する前に、移行および復旧ガイドをお読みください。アップロード、配置、レビューはそれぞれ別の操作です。公開済みの配置の変更は、この候補の受け入れ範囲外です。

パフォーマンス指標 — 10 ツール | ツール | 説明 | |------|-------------| | `metrics_performance_overview` | デバイスで絞り込んだアプリのパフォーマンス概要を読み込みます | | `metrics_app_perf` | アプリのパフォーマンス/電力に関するメトリクスを取得します | | `metrics_build_perf` | ビルドのパフォーマンスメトリクスを取得します | | `metrics_build_diagnostics` | ビルドの診断情報を一覧表示します | | `metrics_get_diagnostic_logs` | 診断ログを取得します | | `metrics_app_beta_tester_usage` | ベータテスターごとのアプリの TestFlight クラッシュ、セッション、フィードバックのメトリクスを取得します | | `metrics_group_beta_tester_usage` | ベータテスターごとのベータグループの TestFlight クラッシュ、セッション、フィードバックのメトリクスを取得します | | `metrics_group_public_link_usage` | 公開リンクの表示数、承認結果、条件不適合、アンケートの比率を取得します | | `metrics_tester_usage` | アプリ内の1人のテスターの TestFlight 使用状況メトリクスを取得します | | `metrics_build_beta_usage` | ビルドの TestFlight クラッシュ、インストール、セッション、フィードバック、招待のメトリクスを取得します |

使用例

リリースワークフロー全体
You: "Release version 2.2.0 of my app with build 456"

Claude will:
1. app_versions_create(app_id, platform: "IOS", version_string: "2.2.0")
2. app_versions_attach_build(version_id, build_id)
3. app_versions_set_review_details(version_id, contact_email: "...")
4. app_versions_submit_for_review(version_id)
5. app_versions_create_phased_release(version_id)  # after approval
TestFlight 配信
You: "Create a beta group 'External Testers' and distribute the latest build"

Claude will:
1. beta_groups_create(app_id, name: "External Testers")
2. builds_list(app_id, limit: 1)  # find latest
3. builds_set_beta_localization(build_id, locale: "en-US", whats_new: "...")
4. beta_groups_add_testers(group_id, tester_ids: [...])
レビュー管理
You: "Show me all 1-star reviews from the last week and draft responses"

Claude will:
1. reviews_list(app_id, rating: 1, sort: "-createdDate", limit: 50)
2. reviews_create_response(review_id, response_body: "...")  # for each
複数企業のワークフロー
You: "Switch to ClientCorp and check their latest build status"

Claude will:
1. company_switch(company: "ClientCorp")
2. apps_list(limit: 5)
3. builds_list(app_id, limit: 1)
4. builds_get_processing_state(build_id)

API の制約

制約詳細
絵文字不可メタデータフィールド(What's New、Description、Keywords)に絵文字を含めることはできません
バージョンの状態App Store Connect は、メタデータ更新が可能な状態かどうかを検証します。却下されたバージョンおよびメタデータが却下されたバージョンは再提出のために編集できますが、公開済みまたは審査中のバージョンは Apple によって却下される場合があります。
JWT の有効期限トークンは20分後に期限切れになります。サーバーが自動的に更新します
レート制限Apple はアカウントごとにレート制限を適用します(ドキュメント)
ロケール形式標準コードを使用してください:en-US、ru、de-DE、ja、zh-Hans

アーキテクチャ

Sources/asc-mcp/
├── EntryPoint.swift                # Entry point, --workers filtering
├── Core/
│   ├── Application.swift           #   MCP server setup & initialization
│   └── ASCError.swift              #   Custom error types
├── Helpers/                        # JSON formatting, pagination, safe helpers
├── Models/                         # API request/response models
│   ├── AppStoreConnect/            #   Apps, versions, localizations
│   ├── Builds/                     #   Builds, beta details, beta groups
│   ├── AppLifecycle/               #   Version lifecycle models
│   ├── InAppPurchases/             #   IAP models
│   ├── Subscriptions/              #   Subscriptions, offer codes, win-back
│   ├── Marketing/                  #   Screenshots, custom pages, PPO, promoted
│   ├── Metrics/                    #   Performance metrics, diagnostics
│   ├── Analytics/                  #   Sales/financial reports
│   ├── Provisioning/               #   Bundle IDs, devices, certificates
│   ├── Shared/                     #   Shared upload/image types
│   └── ...                         #   AppEvents, AppInfo, Pricing, Users
├── Services/
│   ├── HTTPClient.swift            #   Actor-based HTTP with retry logic
│   ├── JWTService.swift            #   ES256 JWT token generation
│   └── CompaniesManager.swift      #   Multi-account management
└── Workers/                        # MCP tool implementations (40 Swift worker classes + MainWorker router)
    ├── MainWorker/WorkerManager    #   Central tool registry & routing
    ├── CompaniesWorker/            #   company_* tools
    ├── AuthWorker/                 #   auth_* tools
    ├── AppsWorker/                 #   apps_* tools
    ├── AccessibilityWorker/        #   accessibility_* tools
    ├── WebhooksWorker/             #   webhooks_* tools
    ├── XcodeCloudWorker/           #   xcode_cloud_* tools
    ├── BuildsWorker/               #   builds_* tools
    ├── BuildUploadsWorker/         #   build_uploads_* tools
    ├── BuildProcessingWorker/      #   builds_*_processing tools
    ├── ExportComplianceWorker/     #   export_compliance_* tools
    ├── BuildBetaDetailsWorker/     #   builds_*_beta_* tools
    ├── AppLifecycleWorker/         #   app_versions_* tools
    ├── ReviewsWorker/              #   reviews_* tools
    ├── BetaGroupsWorker/           #   beta_groups_* tools
    ├── BetaFeedbackWorker/         #   beta_feedback_* tools
    ├── BetaTestersWorker/          #   beta_testers_* tools
    ├── InAppPurchasesWorker/       #   iap_* tools
    ├── SubscriptionsWorker/        #   subscriptions_* tools
    ├── OfferCodesWorker/           #   subscriptions offer-code tools
    ├── IntroductoryOffersWorker/   #   subscriptions intro-offer tools
    ├── PromotionalOffersWorker/    #   subscriptions promotional-offer tools
    ├── WinBackOffersWorker/        #   subscriptions win-back tools
    ├── SandboxTestersWorker/       #   sandbox_* tools
    ├── BetaAppWorker/              #   beta_app_* tools
    ├── PreReleaseVersionsWorker/   #   pre_release_* tools
    ├── BetaLicenseAgreementsWorker/ #  beta_license_* tools
    ├── ProvisioningWorker/         #   provisioning_* tools
    ├── AppInfoWorker/              #   app_info_* tools
    ├── PricingWorker/              #   pricing_* tools
    ├── UsersWorker/                #   users_* tools
    ├── AppEventsWorker/            #   app_events_* tools
    ├── AnalyticsWorker/            #   analytics_* tools
    ├── ScreenshotsWorker/          #   screenshots_* tools
    ├── CustomProductPagesWorker/   #   custom_pages_* tools
    ├── ProductPageOptimizationWorker/ # ppo_* tools
    ├── PromotedPurchasesWorker/    #   promoted_* tools
    ├── ReviewAttachmentsWorker/    #   review_attachments_* tools
    ├── ReviewSubmissionsWorker/    #   review_submissions_* tools
    └── MetricsWorker/              #   metrics_* tools
設計原則
  • Swift 6 の厳格な並行処理 — すべてのワーカーとサービスが Sendable に準拠し、適切にアクター分離されています
  • アクターベースの HTTP クライアント — スレッドセーフで、指数バックオフと再試行ロジックを備えています
  • プレフィックスベースのルーティング — WorkerManager が名前のプレフィックスに基づいてツール呼び出しを振り分けます(設定不要)
  • 依存関係を最小限に抑制 — MCP Swift SDK のみを使用します

トラブルシューティング

サーバーが応答しない/MCP の接続が切断される
  1. ~/.mint/bin/asc-mcp --version を実行し、MCP クライアントとは別にインストールを確認します。
  2. MCP クライアントが、インストール済み実行ファイルへの絶対パスを使用していることを確認します。
  3. Codex の場合は、codex mcp list と codex mcp get asc-mcp --json を実行します。
  4. Claude Code の場合は、claude mcp get asc-mcp と claude mcp list を実行します。
  5. 設定した companies.json ファイル、または選択したセットアップで使用する環境変数を確認します。
  6. すべての .p8 キーのパスが絶対パスであり、ファイルが存在することを確認します。
  7. MCP の設定を変更した後、GUI クライアントを再起動し、クライアントの MCP 出力ログを確認します。
認証エラー(401)
  1. Key ID と Issuer ID が App Store Connect に表示されているものと一致することを確認します。
  2. .p8 ファイルが元のダウンロードファイルであり、変更されていないことを確認します。
  3. API キーが取り消されていないことを確認します。
  4. JWT トークンは自動更新されますが、キーが無効な場合はすべてのリクエストが失敗します。
App Store Connect の状態ルールによりメタデータの更新が拒否される

apps_update_metadata は、テキスト、ロケール、URL のローカル検証後、メタデータの PATCH を App Store Connect に送信します。現在のバージョンの状態を編集可能とするかどうかは Apple が判断します。却下されたバージョンおよびメタデータが却下されたバージョンは編集して再提出できますが、公開済み、審査中、またはその他の理由でロックされたバージョンでは、Apple API エラーが返される場合があります。

ビルドの処理に時間がかかりすぎる

builds_get_processing_status を使用して現在の処理状態を確認し、builds_check_readiness を使用して App Store/TestFlight の準備状況を確認します。Apple のビルド処理には通常 5~30 分かかりますが、混雑時にはさらに時間がかかる場合があります。

レート制限(429 エラー)

HTTP クライアントは、429 レスポンスに対して指数バックオフで自動的に再試行します。制限に頻繁に達する場合は、API 呼び出しの頻度を減らすか、ページサイズを小さくしてページネーションを使用してください。

ヘルプの利用

報告を作成する前に、既存の issueを検索してください。新しい問題の場合は、issue を作成し、次の情報を記載してください。

  • macOS のバージョンとインストール方法;
  • MCP クライアントの名前とバージョン;
  • 選択した --workers の値(指定している場合);
  • 正確なエラーメッセージと、再現可能な最小のリクエスト。

ログを投稿する前に、Key ID、Issuer ID、秘密鍵、署名付き URL、トークン、アカウントデータを削除してください。セキュリティ上の脆弱性は、SECURITY.md に従って非公開で報告してください。コードへの貢献については、CONTRIBUTING.md を参照してください。

開発

ビルド
swift build              # Debug build
swift build -c release   # Release build (optimized)
swift package clean      # Clean build artifacts
テストモード
.build/debug/asc-mcp --test    # Runs built-in integration tests
新しいツールの追加
  1. 適切な Worker+Handlers.swift にハンドラーメソッドを作成します。
  2. Worker+ToolDefinitions.swift にツール定義を追加します。
  3. ワーカーの getTools() メソッドに登録します。
  4. ワーカーの handleTool() スイッチにルーティングケースを追加します。
  5. WorkerManager はプレフィックスに基づいて自動でルーティングするため、変更は不要です。
新しいワーカーの追加
  1. ディレクトリを作成します:Workers/MyWorker/
  2. 3 つのファイルを作成します:MyWorker.swift、MyWorker+ToolDefinitions.swift、MyWorker+Handlers.swift
  3. WorkerManager.swift にワーカーのプロパティと初期化を追加します。
  4. WorkerManager.registerWorkers() にルーティングルールを追加します。
  5. getMyTools() ヘルパーメソッドを追加します。

貢献

貢献を歓迎します!詳細は貢献ガイドを参照してください。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルを参照してください。

謝辞


これは非公式のコミュニティ運営ツールであり、Apple Inc. との提携や同社からの承認はありません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。