Appnova App Store Connect Mcp について
Appnova App Store Connect Mcp は、iOS アプリ開発者向けの MCP サーバーで、自然言語を通じて App Store Connect のアプリ運用を管理できます。分析、レビュー、ストア情報、サブスクリプション、アプリ内課金、TestFlight、Bundle ID の機能を扱います。
主な機能
- 01分析、販売、財務レポートの確認
- 02ローカライズ情報とレビュー返信の管理
- 03サブスクリプション、アプリ内課金、価格の管理
- 04バージョン作成と審査への提出
- 05TestFlight のテスターとビルドの管理
- 06Bundle ID の機能の確認と変更
活用シーン
- 01各ロケールのストア情報とレビューの監査
- 02収益の集計と月ごとの比較
- 03アプリのバージョン更新と審査提出
- 04アプリの Bundle ID 機能の確認
MCP 対応
HTTP 経由で App Store Connect の操作ツールを MCP クライアントに提供し、リクエストヘッダーの API 認証情報を使って Apple API にアクセスします。ホスト済みサービスへの接続とセルフホストに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
title: appnova-app-store-connect-mcp emoji: 🍎 colorFrom: gray colorTo: red sdk: docker app_port: 7860 pinned: false
appnova-app-store-connect-mcp
Claude 向け App Store Connect MCP サーバー — 自然言語で iOS アプリのライフサイクル全体を管理できます。Docker も Python も pip も不要です。Claude の設定に 4 行を追加するだけで、App Store に話しかけられます。
48 個のツール · 14 のカテゴリ · Hugging Face Spaces でホスト · 無料
クイックスタート — セットアップ不要(推奨)
インストールは不要です。サーバーはすでに Hugging Face Spaces 上で稼働しています。
📖 スクリーンショットとトラブルシューティングを含む完全なインストールガイド: docs/installation.md
1. App Store Connect API の認証情報を取得する
App Store Connect → Users and Access → Integrations にアクセスし、Admin または App Manager ロールで API キーを作成します。次の情報が必要です。
- Issuer ID — API Keys ページの上部に表示されています
- Key ID — キーの横に表示されています
- Private key —
.p8ファイルをダウンロードします(一度しかダウンロードできません) - Vendor Number — Payments and Financial Reports から取得します
2. Claude クライアントに追加する
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json を編集します。
{
"mcpServers": {
"appstore": {
"url": "https://haikuku-appnova-app-store-connect-mcp.hf.space/mcp",
"headers": {
"x-appstore-issuer-id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"x-appstore-key-id": "XXXXXXXXXX",
"x-appstore-private-key": "-----BEGIN PRIVATE KEY-----\\nMIGH...\\n-----END PRIVATE KEY-----",
"x-appstore-vendor-number": "12345678"
}
}
}
}
Claude Code
プロジェクトのルートにある .mcp.json に追加します。
{
"mcpServers": {
"appstore": {
"type": "http",
"url": "https://haikuku-appnova-app-store-connect-mcp.hf.space/mcp",
"headers": {
"x-appstore-issuer-id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"x-appstore-key-id": "XXXXXXXXXX",
"x-appstore-private-key": "-----BEGIN PRIVATE KEY-----\\nMIGH...\\n-----END PRIVATE KEY-----",
"x-appstore-vendor-number": "12345678"
}
}
}
}
3. Claude クライアントを再起動する
これで完了です。Claude に「自分のアプリを一覧表示して」と尋ねて、接続を確認します。
Private key のフォーマット方法
.p8 ファイルを開くと、次のようになっています。
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg...
-----END PRIVATE KEY-----
重要: JSON 設定では、実際の改行の代わりに \\n(バックスラッシュと n の 2 文字)を使用する必要があります。単一の \n を使用すると実際の改行が作成され、HTTP ヘッダーが機能しなくなります。
次のワンライナーを使うと、正しくフォーマットされた値を取得できます。
awk '{printf "%s\\n", $0}' AuthKey_XXXXXXXXXX.p8 | sed '$ s/\\n$//'
出力を x-appstore-private-key の値として直接貼り付けます。
任意:デフォルトのアプリを固定する
x-appstore-app-id を追加すると、毎回のセッションで select_app を呼び出す必要がなくなります。
"headers": {
"x-appstore-issuer-id": "...",
"x-appstore-key-id": "...",
"x-appstore-private-key": "...",
"x-appstore-vendor-number": "...",
"x-appstore-app-id": "6502225088"
}
数値の App Store ID またはバンドル ID(例:com.example.yourapp)を使用します。
セキュリティ
認証情報は HTTP ヘッダーとしてサーバーに直接送信され、Apple の API 用 JWT トークンの署名にのみ使用されます。ログに記録、保存、共有されることはありません。各リクエストは完全に分離されており、あるユーザーの認証情報が別のユーザーのセッションに触れることはありません。
このサーバーはオープンソースです:github.com/alperduzgun/appnova-app-store-connect-mcp
ご自身でホストする場合は、以下のセルフホスティングセクションをご覧ください。
できること
App Store 最適化(ASO)
| ツール | 説明 |
|---|---|
get_locales | ID 付きですべてのローカライズを一覧表示します — 軽量なインデックスです。最初に呼び出してください |
get_locale_metadata | 1 つのロケールの完全なメタデータ:名前、サブタイトル、キーワード、説明、新機能 |
update_info | アプリ名やサブタイトルを更新します(常に編集可能で、バージョンの状態は問いません) |
update_version | キーワード、説明、新機能を更新します(PREPARE_FOR_SUBMISSION が必要です) |
list_custom_product_pages | バージョンの状態と公開範囲を含むすべてのカスタムプロダクトページを一覧表示します |
get_custom_product_page | ロケールごとのプロモーションテキストを含む CPP の詳細情報を取得します |
レビューと評価
| ツール | 説明 |
|---|---|
get_reviews | 新しい順にレビューを取得します。星評価(1〜5)で絞り込めます |
get_ratings | 平均評価、合計件数、サンプル数を取得します |
respond_to_review | 新しい開発者返信を投稿します |
update_review_response | 既存の返信をその場で編集します(タイムスタンプは保持されます) |
delete_review_response | 再投稿する前に返信を削除します |
アナリティクスと売上
| ツール | 説明 |
|---|---|
get_analytics | インプレッション数、ページビュー数、アプリユニット数、コンバージョン率、セッション数、クラッシュ数 — 最大365日分の日次内訳 |
get_sales | ダウンロード数、再ダウンロード数、アップデート数、IAP、サブスクリプション、収益 — 最大365日分の日次内訳 |
財務レポート
| ツール | 説明 |
|---|---|
get_finance_report | 指定した月の、地域および通貨別の月次収益 |
get_finance_summary | 過去Nか月(デフォルト3か月、最大12か月)の収益を集計 |
サブスクリプション
| ツール | 説明 |
|---|---|
list_subscription_groups | すべてのサブスクリプショングループとその製品 |
create_subscription_group | 新しいサブスクリプショングループを作成 |
create_subscription | サブスクリプション製品を作成(週単位〜年単位) |
create_subscription_localization | サブスクリプションにローカライズされた名前と説明を追加 |
アプリ内購入
| ツール | 説明 |
|---|---|
list_in_app_purchases | すべてのIAP:消耗型、非消耗型、非更新型 |
create_in_app_purchase | 新しいIAP製品を作成 |
create_iap_localization | ローカライズされた表示名と説明を追加 |
delete_in_app_purchase | 下書きのIAPを削除 |
価格設定
| ツール | 説明 |
|---|---|
get_iap_price_points | 地域で利用できるすべてのIAP価格ポイント |
set_iap_price | 価格ポイントIDでIAP価格を設定 |
set_iap_price_by_amount | 金額でIAP価格を設定 — 該当する価格帯を自動で選択 |
get_subscription_price_points | サブスクリプションで利用できるすべての価格ポイント |
set_subscription_price | 価格ポイントIDでサブスクリプション価格を設定 |
set_subscription_price_by_amount | 金額でサブスクリプション価格を設定 — 該当する価格帯を自動で選択 |
アプリのバージョンと審査提出
| ツール | 説明 |
|---|---|
list_app_versions | 最近のバージョンと状態(READY_FOR_SALE、IN_REVIEWなど) |
create_app_version | PREPARE_FOR_SUBMISSION状態で新しいバージョンを作成 |
submit_for_review | App Reviewにバージョンを提出 |
cancel_submission | 進行中の提出を取り下げ |
段階的リリース
| ツール | 説明 |
|---|---|
get_phased_release | バージョンの現在の段階的リリース状況 |
create_phased_release | 7日間の段階的リリースを有効化(1%→2%→5%→10%→20%→50%→100%) |
update_phased_release | リリースを一時停止、再開、または直ちに完了 |
TestFlight
| ツール | 説明 |
|---|---|
list_builds | 最近のビルドとprocessingState、バージョン、有効期限 |
list_beta_groups | パブリックリンク情報を含むすべてのベータグループ |
add_beta_tester | ベータグループにテスターを招待 |
remove_beta_tester | ベータグループからテスターを削除 |
アプリ内イベント
| ツール | 説明 |
|---|---|
list_app_events | 状態(DRAFT/LIVE/ARCHIVED)とローカライズ情報を含む、すべてのプロモーションイベント |
バンドルIDの機能
| ツール | 説明 |
|---|---|
get_bundle_id_info | バンドル識別子の数値ID、プラットフォーム、名前、シードID |
list_bundle_id_capabilities | 有効なすべての機能(Appleでサインイン、プッシュ通知、IAPなど) |
enable_bundle_id_capability | 機能を有効化 — 冪等で、繰り返し呼び出しても安全 |
disable_bundle_id_capability | リソースIDを指定して機能を削除 |
アプリの選択
| ツール | 説明 |
|---|---|
list_apps | アカウント内のすべてのアプリ |
select_app | 数値IDまたはバンドルIDでアクティブなアプリを設定 |
get_active_app | 現在選択されているアプリを表示 |
ワークフローの例
すべてのロケールを対象としたASO監査:
"Get all my app's locale metadata and tell me which ones are missing keywords
or have subtitles under 20 characters"
審査のトリアージ:
"Show me all 1-star reviews from the last 50 and draft a response for each
one that mentions a crash"
収益の概要:
"Give me a finance summary for the last 3 months and compare monthly trends"
リリースのワークフロー:
"Create a new 2.5.0 version, update the what's new text for en-US and tr,
then submit for review"
機能の確認:
"List all active capabilities for com.example.myapp and confirm Sign in with
Apple is enabled"
要件
- AdminまたはApp Managerのロールが付与されたApp Store Connect APIキー
- Claude Desktop 0.10+(または、カスタムヘッダーを使ったHTTPトランスポートに対応する任意のMCPクライアント)
セルフホスト
サーバーを自分で実行したいですか?ソースコード一式とセットアップ手順は、github.com/alperduzgun/appnova-app-store-connect-mcpをご覧ください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。