mcpField
A
app-store-connect-mcp

app-store-connect-mcp

ローカル
github.com/devinwang開発ツール31 週間前に更新

app-store-connect-mcp について

app-store-connect-mcpは、Apple App Store Connect APIを操作するMCPサーバーです。開発者やチーム向けに、公式OpenAPIの操作から生成したツールと、複数アカウントや長時間処理向けの補助機能を提供します。

主な機能

  1. 01公式API操作から生成したツール
  2. 02複数アカウント登録とプロジェクト単位の固定
  3. 03TestFlightとXcode Cloudの操作
  4. 04Game Center、App Clips、アプリ内課金
  5. 05アップロード、レポート、ビルド監視の補助

活用シーン

  1. 01TestFlightのテスターとビルドの管理
  2. 02Xcode Cloudのビルド実行の調整
  3. 03アプリ内課金とサブスクリプションの更新
  4. 04分析、売上、財務レポートの確認

MCP 対応

App Store Connect APIの操作をMCPツールとして互換クライアントに公開し、アカウント管理と認証の補助ツールも提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"devinwang-app-store-connect": {
"command": "npx",
"args": [
"-y",
"apple-app-store-connect-mcp"
]
}
}
}
起動コマンドnpx -y apple-app-store-connect-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmapple-app-store-connect-mcp0.5.0

ツール

1000

掲載時のツール一覧 · 1 週間前に更新

このツールにパラメーターはありません。

詳細

app-store-connect-mcp

Apple の App Store Connect API に対応する、包括的な Model Context Protocol(MCP)サーバーです。 1316 個のツール。カバレッジは 100%。Apple の公式 OpenAPI 仕様にある非推奨ではないすべての操作を網羅しています。TestFlight、Xcode Cloud、Game Center、App Clips、アプリ内購入、サブスクリプション、審査提出、分析、プロビジョニングなど、Apple が公開するすべての機能に対応します。Claude、Cursor、VS Code Copilot、Codex CLI、Gemini CLI、Windsurf など、あらゆる MCP クライアントで動作します。

npm version npm downloads CI License: MIT Node Tools: 1316 Spec: 4.3 MCP TypeScript

こちらもご覧ください: google-play-developer-mcp — Google Play Console 向けの、同じ理念に基づく MCP サーバーです。


目次


開発の背景

App Store Connect は非常に大規模です。Apple 独自の OpenAPI 仕様には現在、203 のリソースグループにわたる 1303 個の操作が記載されています。TestFlight、Xcode Cloud、Game Center、App Clips、アプリ内購入、サブスクリプション、オファーコード、審査提出、代替配信(EU DMA)、分析、メトリクス、プライバシーマニフェスト、プロビジョニング、ユーザーなど、数えきれません。

コミュニティ製の MCP サーバーは、どれも一部の機能しかカバーしていません。すべてを網羅するものはありません。

app-store-connect-mcp はすべてを網羅します。

項目このサーバー一般的なコミュニティ製 MCP サーバー
App Store Connect API のカバレッジ✅ 1300 個以上のツール(仕様 v4.5.1 の 100%)部分的(通常 50~150 個のツール)
Xcode Cloud✅ ciProducts / ciWorkflows / ciBuildRuns / ciBuildActions / ciArtifacts / ciIssues / ciTestResults のすべて❌
Game Center✅ 実績、リーダーボード、グループ、マッチメイキング、語彙❌
App Clips✅ デフォルトおよび高度なエクスペリエンス、審査の詳細、ヘッダー画像❌
Review Submissions v2✅従来の appStoreVersionSubmissions をまだ使用している場合が多い
代替配信(EU DMA)✅❌
アプリデータの使用状況(プライバシー)✅❌
複数アカウント(開発者アカウントの切り替え)✅ ローカルレジストリ + プロジェクトごとの ASC_ACCOUNT 固定通常は 1 つ
認証情報の安全性リポジトリに .p8 の内容を含めず、プロセスキャッシュにキーを保存せず、厳格な .gitignore を設定さまざま
仕様駆動 — 新しい仕様に合わせて自動再生成✅ npm run codegen❌

AI アシスタントを使って App Store Connect を操作する場合 — 提出の自動化、TestFlight の管理、IAP / サブスクリプションのカタログ、審査のトリアージ、分析、Xcode Cloud のオーケストレーションなど — このサーバーを 1 回インストールするだけで、アシスタントにすべてのツールを提供できます。


機能一覧

ツールは合計 1316 個です(仕様 v4.5.1 時点):

  • 6 accounts_* — ローカルの複数アカウントレジストリ(追加/一覧表示/切り替え/削除/更新/現在のアカウント)
  • 2 auth_* — auth_status(準備状況)および auth_revoke_cache
  • 1303 公式の App Store Connect OpenAPI 仕様から自動生成された、各操作につき1つのツール。すべてのリソースグループを網羅しています:
    • Apps / App Infos / App Store Versions / App Store Version Localizations / Phased Releases / Version Submissions
    • Review Submissions (v2) + Review Submission Items + App Store Review Attachments + App Store Review Details
    • TestFlight:Beta Groups、Beta Testers、Beta App Review Details/Submissions、Beta App Localizations、Beta Build Localizations、Beta License Agreements、Beta Feedback Screenshot/Crash Submissions、Beta Invitees、Builds、Build Bundles、Build Bundle File Sizes
    • Xcode Cloud:Ci Products、Ci Workflows、Ci Build Runs、Ci Build Actions、Ci Artifacts、Ci Issues、Ci Test Results、Ci Xcode Versions、Ci Mac Os Versions、Ci Scm Repositories / References / Pull Requests / Providers
    • Game Center:Achievements、Leaderboards、Leaderboard Sets、Groups、Matchmaking Queues / Rule Sets / Rules / Teams、Activities、Player Scores / Achievements、App Versions、Enabled Versions、Details、Vocabularies、およびすべての Localizations / Images / Releases
    • App Clips:App Clips、Default / Advanced Experiences、Default / Advanced Experience Localizations、Header Images、Advanced Experience Images、App Store Review Details
    • In-App Purchases:IAP v2、Subscriptions、Subscription Groups、Subscription Offer Codes(カスタムおよび1回限りの使用)、Subscription Prices、Subscription Promotional Offers、Subscription Introductory Offers、Subscription Availabilities、Win-back Offers、Promoted Purchases
    • Pricing & Availability:App Prices、App Price Points、App Price Schedules、App Availabilities V2、Territories、Territory Availabilities
    • Custom Product Pages + PPO(A/B テスト):App Custom Product Pages、Versions、Localizations、App Store Version Experiments V2 + Treatments + Localizations
    • Screenshots & Previews:App Screenshots、App Screenshot Sets、App Previews、App Preview Sets、App Event Screenshots、App Event Video Clips
    • Provisioning:Bundle Ids、Bundle Id Capabilities、Certificates、Devices、Profiles、Pass Type Ids
    • Users & Access:Users、User Invitations、Actors、Sandbox Testers
    • Encryption / Compliance:App Encryption Declarations + Documents、Age Rating Declarations、App Data Usages + Categories + Purposes + Data Protections + Publish State、Accessibility Declarations、End User License Agreements
    • Alternative Distribution(EU DMA):Alternative Distribution Keys、Domains、Packages、Package Versions / Variants / Deltas、Marketplace Search Details、Marketplace Webhooks
    • Analytics:Analytics Reports、Report Requests、Report Instances、Report Segments、Diagnostic Signatures
    • Metrics:App Perf、Build Perf、Power Perf、Diagnostic Logs
    • Sales & Finance:Sales Reports、Finance Reports
    • Reviews:Customer Reviews、Customer Review Responses
    • Routing App Coverages、App Categories、App Events + Localizations、Android ↔ iOS App Mapping、External Purchase Collectors…
    • 仕様 4.5 で追加:App Asset Libraries(画像、動画、配置)、V2 のローカライゼーションと画像を含む In-App Purchase / Subscription / Subscription Group Versions、Subscription Plan Availabilities、Game Center Score Moderations and Blocked Players、App Performance Overviews
  • 5 手書きのヘルパー。単一の操作にきれいに対応しないワークフロー向けです:
    • asset_upload_file — 3段階のアセットアップロードプロトコルのステップ2(スクリーンショット、プレビュー、審査用添付ファイル、IAP 審査用スクリーンショット、App Clip ヘッダー画像、Game Center 画像、Routing App Coverages)
    • sales_reports_download — 販売レポートをダウンロードして gzip を展開し、解析済み TSV を返します
    • finance_reports_download — 財務レポートに対して同じ処理を行います
    • analytics_report_instance_wait — レポートが COMPLETED/FAILED になるまでポーリングします
    • ci_build_run_wait — Xcode Cloud のビルド実行が完了するまでポーリングします auth_statusを実行し、次にapps_get_collectionを実行してエンドツーエンドで確認します。

クイックスタート

npmからインストールします:

npm install -g apple-app-store-connect-mcp

インストールせずに実行することもできます:

npx -y apple-app-store-connect-mcp

パッケージ名について。 npm上のパッケージ名はapple-app-store-connect-mcpです。インストール後、$PATH上のコマンドはapp-store-connect-mcp(bin名)になります。以下のMCPクライアント設定では、この名前を指定しています。

次に、MCPクライアントの設定に追加します(例:Claude Code):

{
  "mcpServers": {
    "app-store-connect": {
      "command": "app-store-connect-mcp"
    }
  }
}

最後に、App Store Connect APIキーを登録します(詳細は以下を参照):

accounts_add
  name: my-app
  keyId: AB12CD34EF
  issuerId: 69a6de70-...
  keyFile: /Users/you/.config/app-store-connect-mcp/AuthKey_AB12CD34EF.p8

セットアップ手順

1. App Store Connect APIキーを作成する
  1. App Store Connectを開きます。
  2. ユーザーとアクセス → 統合 → App Store Connect APIを選択します。
  3. APIキーを生成をクリックします(アカウント所有者または管理者のロールが必要です)。
  4. 名前を付け、必要なアクセスレベル(管理者、開発者、財務、マーケティングなど)を選択して、生成をクリックします。
  5. キーIDと発行者ID(ページ上部に表示)をコピーします。
  6. APIキーをダウンロードをクリックします。AuthKey_<KEYID>.p8ファイルがダウンロードされます。このファイルをダウンロードできるのは一度だけです。 Gitリポジトリの外に保存してください。たとえば、~/.config/app-store-connect-mcp/AuthKey_AB12CD34EF.p8に保存し、chmod 600を実行します。
2. このMCPサーバーにキーを登録する

サーバーを設定済みの任意のMCPクライアントを起動し、次を呼び出します:

accounts_add
  name: my-app
  keyId: <the 10-char Key ID>
  issuerId: <the UUID shown above the API keys list>
  keyFile: /absolute/path/to/AuthKey_XXXXXXXXXX.p8
  description: (optional)
3. 確認する
auth_status

{ source: "accounts", tokenAcquired: true, expiresAt: ... }が返されるはずです。

apps_get_collection

キーから参照できるアプリの一覧を表示します。

4. 複数のアカウントを管理する
accounts_add    name: client-a  keyId: ... issuerId: ... keyFile: ...
accounts_add    name: client-b  keyId: ... issuerId: ... keyFile: ...
accounts_switch name: client-b
accounts_list

以降の呼び出しはすべて、現在選択されているアカウントを対象にします。

5. プロジェクトごとにアカウントを固定する(ASC_ACCOUNT)

currentAccountはaccounts.json内の単一のグローバル値であり、マシン上のすべてのMCPクライアントで共有されます。複数のApp Store Connectアカウントを使う場合、これは問題の原因になります。あるプロジェクトでaccounts_switchを実行すると、他のすべてのプロジェクトの対象アカウントも通知なく切り替わり、プロジェクトAのアシスタントがプロジェクトBのアプリに書き込んでしまう可能性があります。

サーバープロセスごとにアカウントを固定してください。MCPクライアントの設定でASC_ACCOUNTを設定します:

{
  "mcpServers": {
    "app-store-connect": {
      "command": "app-store-connect-mcp",
      "env": { "ASC_ACCOUNT": "acme-app" }
    }
  }
}

アカウントを固定すると、次のようになります:

  • currentAccountの値にかかわらず、すべての呼び出しは固定したアカウントに解決されます。
  • 他のアカウントへのaccounts_switchは、対象を通知なく切り替える代わりに、明確なエラーで失敗します。
  • accounts_removeは固定したアカウントの削除を拒否します。
  • auth_statusとaccounts_currentはpinnedToを報告するため、セッションがどのアカウントを対象としているか常に確認できます。

ASC_ACCOUNTで指定したアカウントが登録されていない場合、他のアカウントにフォールバックせず、明確なエラーが発生します。

各プロジェクトに個別のアカウントを固定すれば、どのプロジェクトも共有のグローバル値に依存しなくなります。

環境変数の互換モード

以前のセットアップ(例:zelentsov-dev/asc-mcp)との互換性のため、サーバーは次の環境変数も受け付けます:

ASC_KEY_ID="..."
ASC_ISSUER_ID="..."
ASC_PRIVATE_KEY_PATH="/absolute/path/to/AuthKey_XXX.p8"

accounts_addでアカウントが登録されていない場合、サーバーはこれらの環境変数にフォールバックします。accounts_*ツールが常に優先されます。


MCPクライアントへの登録

Claude Desktop

macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "app-store-connect": {
      "command": "app-store-connect-mcp"
    }
  }
}
Claude Code
claude mcp add app-store-connect app-store-connect-mcp

または、~/.claude.jsonを編集します:

{
  "mcpServers": {
    "app-store-connect": {
      "command": "app-store-connect-mcp"
    }
  }
}

複数のApp Store Connectアカウントを使う場合は、代わりに各プロジェクトの.mcp.jsonにサーバーを設定して、アカウントを固定してください。プロジェクトごとにアカウントを固定するを参照してください:

{
  "mcpServers": {
    "app-store-connect": {
      "command": "app-store-connect-mcp",
      "env": { "ASC_ACCOUNT": "acme-app" }
    }
  }
}
Cursor

設定 → MCP → 新しいMCPサーバーを追加:

{
  "app-store-connect": {
    "command": "app-store-connect-mcp"
  }
}
VS Code(GitHub Copilotのエージェントモード)

.vscode/mcp.json:

{
  "servers": {
    "app-store-connect": {
      "type": "stdio",
      "command": "app-store-connect-mcp"
    }
  }
}
Codex CLI / Gemini CLI / Windsurf / Continue

MCP準拠のクライアントであれば、同じcommandエントリを使用できます。グローバルにインストールしたapp-store-connect-mcpバイナリを指定するか、ソースから実行する場合はnode /path/to/dist/index.jsを指定してください。

ソースから実行する(グローバルインストールなし)
git clone https://github.com/devinwang/app-store-connect-mcp.git
cd app-store-connect-mcp
npm install
npm run build

次に、MCPクライアントの設定に追加します:

{
  "mcpServers": {
    "app-store-connect": {
      "command": "node",
      "args": ["/absolute/path/to/app-store-connect-mcp/dist/index.js"]
    }
  }
}

使用例

キーから参照できるアプリを確認する
accounts_switch name: my-app
auth_status
apps_get_collection
バージョンと buildNumber を指定してビルドを取得し、TestFlight に送信する
builds_get_collection
  "filter[preReleaseVersion.version]": "1.2.0"
  "filter[version]": "147"

beta_groups_get_collection
  "filter[app]": <APP_ID>
  "fields[betaGroups]": "name,publicLinkEnabled"

builds_beta_groups_create_to_many_relationship
  id: <BUILD_ID>
  body:
    data:
      - type: betaGroups
        id: <BETA_GROUP_ID>

builds_update_instance
  id: <BUILD_ID>
  body:
    data:
      type: builds
      id: <BUILD_ID>
      attributes:
        expired: false
スクリーンショットをアップロードする(3 ステップのアセットフロー)
app_screenshots_create_instance
  body:
    data:
      type: appScreenshots
      attributes:
        fileName: "en-US-iphone-6_9-1.png"
        fileSize: 2415122
      relationships:
        appScreenshotSet:
          data: { type: appScreenshotSets, id: <SET_ID> }
# → response includes the new `data.id` (asset is now AWAITING_UPLOAD)

asset_upload_file
  filePath: /abs/path/to/screenshot.png
  assetType: appScreenshots     # preferred: tool fetches uploadOperations
  assetId: <SCREENSHOT_ID>      #           server-side (signature stays server-side)
# (legacy: pass `uploadOperations: [...]` from the create response instead)

app_screenshots_update_instance
  id: <SCREENSHOT_ID>
  body:
    data:
      type: appScreenshots
      id: <SCREENSHOT_ID>
      attributes:
        uploaded: true
        sourceFileChecksum: <MD5>
Xcode Cloud のビルドを開始し、完了まで待機する
ci_build_runs_create_instance
  body:
    data:
      type: ciBuildRuns
      relationships:
        workflow:
          data: { type: ciWorkflows, id: <WORKFLOW_ID> }
# → response includes `data.id`

ci_build_run_wait
  id: <BUILD_RUN_ID>
  timeoutMs: 3600000
顧客レビューに返信する
customer_reviews_get_collection
  "filter[app]": <APP_ID>
  "sort": "-createdDate"
  "limit": 10

customer_review_responses_v1_create_instance
  body:
    data:
      type: customerReviewResponses
      attributes:
        responseBody: "Thanks for the feedback — we fixed this crash in 1.2.1. Please give it another try!"
      relationships:
        review:
          data: { type: customerReviews, id: <REVIEW_ID> }
売上レポートを取得する(1 日分)
sales_reports_download
  "filter[frequency]": DAILY
  "filter[reportType]": SALES
  "filter[reportSubType]": SUMMARY
  "filter[vendorNumber]": "12345678"
  "filter[reportDate]": "2026-04-20"

解析済みの行を返します。未加工の TSV を取得するには、parse: false を追加します。

サブスクリプションを作成して有効化する
subscription_groups_create_instance
  body: { data: { type: subscriptionGroups, attributes: { referenceName: "Premium" }, relationships: { app: { data: { type: apps, id: <APP_ID> } } } } }

subscriptions_create_instance
  body: { data: { type: subscriptions, attributes: { productId: "com.example.premium.monthly", name: "Premium Monthly", subscriptionPeriod: "ONE_MONTH" }, relationships: { group: { data: { type: subscriptionGroups, id: <GROUP_ID> } } } } }

subscription_prices_create_instance
  body: { data: { type: subscriptionPrices, relationships: { subscription: { data: { type: subscriptions, id: <SUB_ID> } }, territory: { data: { type: territories, id: "USA" } }, subscriptionPricePoint: { data: { type: subscriptionPricePoints, id: <PRICE_POINT_ID> } } } } }

asc-mcp(zelentsov-dev)からの移行

このサーバーは github.com/zelentsov-dev/asc-mcp に代わるものです。主な違いは次のとおりです。

  • 範囲。 このサーバーは約 90 個のツールを実装していますが、こちらはヘルパーを含む仕様上の全 1303 操作を実装しています。
  • ツール名。 zelentsov-dev/asc-mcp は apps_search、reviews_list、app_versions_submit_for_review のような簡略化された名前を使用します。このサーバーでは、Apple の公式 operationId をスネークケースにした名前(apps_get_collection、customer_reviews_get_collection、review_submissions_create_instance)を使用します。自動変換はありません。古い名前を前提としていたプロンプトやスクリプトは更新してください。
  • 認証情報の互換性。 同じ環境変数(ASC_KEY_ID、ASC_ISSUER_ID、ASC_PRIVATE_KEY_PATH)を引き続き使用できるため、移行時に .p8 を移動する必要はありません。複数アカウントのサポートのために accounts_add で登録することを推奨する警告が、stderr に一度だけ表示されます。
  • company_* から accounts_* へ。 考え方を変更してください。旧サーバーの「company」は、こちらでは「account」です。

名前ごとの詳細な対応表は docs/MIGRATION.md に記載されています。


セキュリティ

このリポジトリには認証情報が一切含まれていません。App Store Connect API の .p8 はご自身で用意してください。サーバーが記録するのはそのパスのみです。

ディスク上に保存されるもの/されないもの
場所内容
~/.app-store-connect-mcp/accounts.jsonアカウント名、キー ID、発行者 ID、キーファイルのパス、説明。秘密情報は含まれません。権限 0600 で書き込まれ、ディレクトリの権限は 0700 です。
AuthKey_*.p8 を配置した場所実際の秘密鍵です。コミットされることはありません。 1 回の JWT 署名を超えてサーバーのメモリにコピーされることはありません。
リポジトリの内容コードのみです。フィクスチャ、サンプルキー、実際のキー ID は含まれません。
メモリ上に保存されるもの
タイミング内容
JWT の署名時.p8 の内容は readFileSync で読み込まれて jwt.sign に渡され、その直後にバッファーが fill(0) で消去され、参照が解除されます。
呼び出しの合間有効期限 20 分の署名済み JWT が、token-cache.ts のローカル変数にキャッシュされます。これはメモリ内のみで、ディスクには保存されません。accounts_switch、accounts_update、accounts_remove、auth_revoke_cache の実行時に破棄されます。
ツールの出力内出力前にすべて redact() を通します。JWT に似た文字列、PEM ブロック、Bearer トークン、長い 16 進数トークンは [REDACTED …] に置き換えられます。これは、誤ってログに記録されるあらゆるコード経路に対する多層防御です。
.gitignore でブロックされるもの
  • *.p8、AuthKey_*、AuthKey_*.p8
  • *.pem、*.p12、*.pfx、*.key、id_rsa*
  • accounts.json、.app-store-connect-mcp/
  • credentials/、keys/、secrets/
  • .env、.env.*(.env.example は除外されません)
推奨されるセキュリティ対策
  • .p8 は、マシン上の Git リポジトリの外に保管してください。
  • ワークフローに必要な最小限のロールを API キーに付与してください。Admin を付与すると、この MCP はストアのメタデータの削除を含むすべての操作を実行できます。適切な範囲に制限してください。
  • キーは定期的にローテーションしてください。App Store Connect → Users and Access → Integrations で古いキーを取り消して新しいキーを生成し、accounts_update --keyFile <newPath> を実行します。
  • auth_status が返すのは、キー ID、発行者 ID、ブール値、JWT の有効期限のタイムスタンプのみです。JWT や .p8 の内容は返しません。
  • このリポジトリの CI ワークフローは、dist/ 内で秘密鍵の素材に一致する正規表現が検出された場合、ビルドを失敗させます。
監査証跡

Apple はキー ID ごとにすべての API 呼び出しを記録します。不正使用が疑われる場合は、App Store Connect → Users and Access → Integrations を開いてキーを取り消してください。そのキーで署名された未失効の JWT は、直ちに機能しなくなります。


設計上の注意事項

  • 仕様主導です。 1316 個のツールのうち 1303 個は、Apple の公式 OpenAPI 仕様(spec/app-store-connect-openapi.json)から自動生成されています。Apple が新しいバージョンを公開したら、npm run spec:download && npm run codegen && npm run build を実行するだけで更新できます。
  • operationId と 1 対 1 で対応する命名です。 ツール名は、Apple の operationId を snake_case に変換したものです。これにより、MCP の名前が公式 REST リファレンスと一致するため、LLM は Apple のドキュメントを読んで、翻訳せずに適切なツールを選べます。
  • 実用性を重視した入力検証です。 パスパラメーターには型付きの zod 文字列(必須)、クエリパラメーターには型付きの zod フィールド(任意)を使用し、Apple が使う角括弧付きの名前(filter[name]、fields[apps]、limit[appStoreVersions])をそのまま採用しています。リクエストボディには z.record(z.unknown()) を使用し、OpenAPI のコンポーネントスキーマを参照する説明を付けています。ASC がサーバー側で検証し、エラー変換機能が問題を明確に示します。すべての JSON:API エンベロープについて zod ツリー全体を生成すると、サーバーのサイズが 10 倍になり、価値はほとんど増えません。
  • エラー変換です。 401 は「JWT が拒否されました。キーをローテーションするか、クロックスキューを確認してください」、403 は「このエンドポイントへのアクセスがキーに許可されていません」、422 は ASC の応答に含まれる正確な source.pointer を示し、429 はチームごとのクォータについて説明し、5xx は https://developer.apple.com/system-status/ を案内します。
  • ステートレスなトランスポートです。 stdio のみを使用します。ネットワークリスナーはなく、アカウントファイル以外に永続的な状態も保持しません。
  • テレメトリーはゼロです。 サーバーが外部に通信することはありません。

貢献

PR を歓迎します。提出する前に、以下を確認してください。

  • Node 18/20/22 で npm run typecheck と npm run build が成功すること(CI でも実行されます)。
  • 実際の .p8、keyId、issuerId、JWT を、issue、PR、フィクスチャー、サンプルに絶対に含めないでください。
  • 新しい OpenAPI 仕様バージョンに更新する場合:
    1. npm run spec:download
    2. npm run codegen — src/tools/generated/ と spec/coverage-report.txt を再生成します
    3. npm run build
    4. spec/coverage-report.txt の差分を確認してください。ツール数が 10 個以上変わる場合や、新しいトップレベルのタグが追加される場合は、CHANGELOG に記載してください。
  • 新しい手書きツールは src/tools/overrides.ts に配置し、生成済みの名前と重複しない名前を付けてください。

バージョン履歴

0.1.0 — 2026-04-21(初回公開リリース)
  • 1221 個の MCP ツール: アカウント 6 個、認証 2 個、Apple の App Store Connect OpenAPI 仕様 v4.3 から自動生成されたもの 1208 個、手書きのヘルパー 5 個(アセットのアップロード、売上/財務レポートのダウンロード、ポーリング)。
  • 仕様のカバレッジ 100% — 仕様内の非推奨ではないすべてのオペレーションにツールがあり、非推奨のオペレーションも [DEPRECATED] プレフィックス付きで引き続き公開されています。
  • リポジトリに認証情報はゼロです。 厳格な .gitignore、.p8 の内容はプロセスメモリにキャッシュされず、JWT キャッシュはメモリ内のみで、すべての出力を一律に秘匿します。
  • ~/.app-store-connect-mcp/accounts.json を使ったマルチアカウント対応(保存するのはパスのみ)。
  • ASC_KEY_ID/ASC_ISSUER_ID/ASC_PRIVATE_KEY_PATH 環境変数との互換モード(zelentsov-dev/asc-mcp のセットアップをそのまま置き換えられます)。
  • npm run codegen による仕様主導の再生成。
  • よくある ASC の障害モードすべてに対応したエラー変換。

参考資料


License

MIT — see LICENSE.

コメント

MCP は初めてですか?

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

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