App Console: Google Play, App Store Connect, AdMob について
App Consoleは公式APIを通じてGoogle Play Console、App Store Connect、AdMobを管理するツールで、アプリ開発者や運用チーム向けです。同じ機能をコマンドラインとMCPツールから使え、変更操作はデフォルトでドライランになります。
主な機能
- 01ストアの掲載情報、バージョン、リリース管理
- 02レビューの確認と返信
- 03クラッシュ率とANR指標の確認
- 04AdMobの収益と広告指標の表示
- 05コマンドラインとMCPツールに対応
- 06書き込み操作はデフォルトでドライラン
活用シーン
- 01アプリのバージョン確認とストア公開の準備
- 02返信待ちのアプリレビューの抽出
- 03クラッシュとANR指標の監視
- 04広告形式や国別のAdMobレポート確認
MCP 対応
Google Play、App Store Connect、AdMob向けのMCPツールを提供します。サービスは個別または`appconsole mcp all`でまとめて起動でき、ツールの注釈で読み取りと破壊的操作を区別し、書き込みには確認が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e GOOGLE_PLAY_SERVICE_ACCOUNT -e ASC_KEY_ID -e ASC_ISSUER_ID -e ASC_PRIVATE_KEY_PATH -e ASC_VENDOR_NUMBER -e ADMOB_PUBLISHER_ID ghcr.io/alekla0126/app-console-mcp:0.3.0GOOGLE_PLAY_SERVICE_ACCOUNTPath to a Google Cloud service account JSON key invited in Play ConsoleASC_KEY_IDシークレットApp Store Connect API key IDASC_ISSUER_IDApp Store Connect API issuer IDASC_PRIVATE_KEY_PATHシークレットPath to the AuthKey_<KEY_ID>.p8 fileASC_VENDOR_NUMBERVendor number, only for sales reportsADMOB_PUBLISHER_IDpub-... id, only with several AdMob accountsローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/alekla0126/app-console-mcp:0.3.0stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
app-console-mcp
Google Play Console、App Store Connect、AdMobを、ターミナルまたはClaudeから操作できます。ブラウザーは不要です。
ブラウザーエージェントでストアコンソールを操作すると、スクリーンショットやページのスナップショットにトークンを消費し、UIが変わるたびに動作しなくなります。このプロジェクトは、代わりに公式APIを利用し、平易なテキスト数行で回答します。すべてのツールは、同じ出力で次の2通りの方法から利用できます。
- Claude Code、Claude Desktop、または任意のMCPクライアント向けのMCPツール
- あなた自身、スクリプト、CI向けのCLIコマンド(
appconsole ...)
Google Play、App Store Connect、AdMob向けの3つのClaude Codeプラグインとして提供されます。それぞれにMCPサーバーと、安全なワークフローをClaudeに教えるスキルが含まれています。また、Claude CodeとCodex向けのオープンソースデスクトップアプリであるAlchemist Coderにも組み込まれており、設定済みのサービス向けツールを、すべてのエージェントが利用できます。
$ appconsole play vitals com.example.app
com.example.app (data up to 2026-10-19):
crash: 0.31% 28-day user-perceived (ok, threshold 1.09%)
newest versions (last 28 d): v42 0.12% (35% of users) · v41 0.44% (60% of users)
anr: 0.52% 28-day user-perceived (ABOVE THRESHOLD, threshold 0.47%)
newest versions (last 28 d): v42 0.21% (35% of users) · v41 0.70% (60% of users)
$ appconsole admob report --days 7 --by format --currency USD
AdMob 2026-10-20 to 2026-10-26 by format: 128.40 USD (+9% vs previous 7 d: 117.80), 61210 impressions
interstitial: 71.10 USD, 9340 impr, eCPM 7.61, match 88%, show 31%
banner: 39.75 USD, 47880 impr, eCPM 0.83, match 95%, show 52%
できること
Google Play(play) | App Store Connect(appstore) | AdMob(admob) |
|---|---|---|
apps 利用できるアプリの一覧 | apps アプリの一覧 | accounts パブリッシャーアカウント |
listing / update-listing タイトル、短い説明、詳細な説明、新しい言語 | listing / update-listing 名前、サブタイトル、キーワード、説明、プロモーションテキスト、新機能 | apps アプリと広告ユニットID |
tracks トラックごとのリリース | versions バージョンと審査状況 | report アプリ、広告ユニット、国、フォーマット、アプリ/SDK/OSのバージョン、広告制限の理由、広告ソースまたはメディエーショングループ別の収益、eCPM、マッチ率/表示率、CTR、前の期間との比較 |
upload 任意のトラックに.aab/.apkをアップロード(段階的公開またはドラフト) | create-version 新しい編集可能なバージョン | campaign-report プロモーションキャンペーン:インストール数、費用、CPI |
promote トラック間で昇格 | builds 処理状況、輸出コンプライアンス | ad-sources ネットワークとアダプターの設定 |
rollout 割合の変更、完了、停止、再開 | submit ビルドを添付してApp Reviewに提出 | mediation-groups / ad-unit-mappings ✱ |
reviews / reply | release 承認済みの手動リリース版をリリース | create-app / create-ad-unit ✱ |
vitals クラッシュ率とANR率(Googleの28日間の数値) | reviews / reply | map-ad-unit / create-mediation-group / update-mediation-group ✱ |
products サブスクリプション、基本プラン、価格 | sales アプリごとのダウンロード数、アプリ内課金の購入数、収益 | ab-experiment メディエーションのA/Bテストを開始または停止 ✱ |
search-rank 公開検索での順位 | search-rank 公開検索での順位 | |
images / upload-images スクリーンショットと画像 | screenshots / upload-screenshots デバイスとロケールごとのスクリーンショット | |
users / grant / revoke ユーザー、サービスアカウント、アプリの権限 | products サブスクリプションとアプリ内課金 | |
data-safety データセーフティフォームを送信(CSV) |
✱ AdMobのアクセス制限:これらのメソッドを利用できるようにするには、GoogleにパブリッシャーIDを有効化してもらう必要があります(AdMobのアカウントマネージャーまたはAdMobサポートにお問い合わせください)。また、トークンにはadmob.monetizationスコープが必要です(appconsole admob login --monetization)。有効化されるまでは、必要な申請内容が表示されます。
安全な設定が初期状態です。 変更を行うツールはすべて、confirm=true(CLIでは--confirm)を指定しない限りドライランになります。Google Playのドライランでは、ドラフトの編集内容を作成してGoogleに検証させてから破棄するため、公開前に実際のエラーを確認できます。MCPツールにはreadOnlyHint/destructiveHintアノテーションが付いているため、クライアントは読み取りを自動承認し、書き込みの前に確認を求められます。
インストール
uvが必要です(Pythonと依存関係を取得します)。
Claude Codeプラグイン(推奨)
/plugin marketplace add Alekla0126/app-console-mcp
/plugin install google-play@app-console
/plugin install app-store-connect@app-console
/plugin install admob@app-console
使うプラグインだけをインストールしてください。各プラグインでは認証情報(パスとID)の入力を求められます。空欄のままにして、代わりにappconsole configを使用することもできます。MCPサーバーとスキルが追加され、ClaudeのBashツールのPATHにappconsoleが設定されます。
あらゆる MCP クライアント(Claude Desktop、Cursor、Codex、VS Code など)
{
"mcpServers": {
"google-play": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Alekla0126/app-console-mcp", "appconsole", "mcp", "play"],
"env": { "GOOGLE_PLAY_SERVICE_ACCOUNT": "/path/to/service-account.json" }
},
"app-store-connect": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Alekla0126/app-console-mcp", "appconsole", "mcp", "appstore"]
},
"admob": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Alekla0126/app-console-mcp", "appconsole", "mcp", "admob"]
}
}
}
appconsole mcp all は、1 つだけを受け付けるクライアント向けに、3 つのサービスを単一のサーバーとして提供します。
または、Claude Code CLI を使用します:
claude mcp add google-play -- uvx --from git+https://github.com/Alekla0126/app-console-mcp appconsole mcp play
CLI のみ
uv tool install git+https://github.com/Alekla0126/app-console-mcp
appconsole --help
appconsole play reviews com.example.app --unanswered-only
認証情報
設定はまず環境変数から読み込まれ、次に ~/.config/appconsole/config.json から読み込まれます
(appconsole config set KEY VALUE。600 の権限で保存されます)。保存されるのはファイルパスと ID のみです。キーは
お使いの場所にそのまま保管されます。appconsole doctor を実行して、3 つのサービスすべてを確認してください。
Google Play の設定
- Google Cloud プロジェクトで Google Play Android Developer API と Google Play Developer Reporting API を有効にします。
- サービスアカウント(IAM & Admin > Service accounts)を作成し、JSON キーを作成します。
- Play Console > Users and permissions > Invite new users で、サービスアカウントのメールアドレスを追加し、必要な 権限を付与します:View app information(読み取りとバイタル)、Manage store presence(掲載情報)、Release apps to testing tracks / Release to production(アップロードと段階的リリース)、Reply to reviews。
appconsole config set GOOGLE_PLAY_SERVICE_ACCOUNT /path/to/key.jsonusers、grant、revokeの場合:appconsole config set GOOGLE_PLAY_DEVELOPER_ID <Play Console の任意のアドレスにある /developers/ の後ろの番号>を設定し、キーに「Manage users and permissions」権限を付与します。
App Store Connect の設定
- App Store Connect > Users and Access > Integrations > App Store Connect API > Team Keys でキーを 生成します。App Manager ロールですべてに対応できますが、売上データには Sales または Finance が必要です。
AuthKey_<KEY_ID>.p8をダウンロードします(Apple ではダウンロードできるのは 1 回だけです)。Key ID と Issuer ID を控えます。- 設定します:
appconsole config set ASC_KEY_ID ABC123XYZ
appconsole config set ASC_ISSUER_ID 00000000-0000-0000-0000-000000000000
appconsole config set ASC_PRIVATE_KEY_PATH ~/.appstoreconnect/private_keys/AuthKey_ABC123XYZ.p8
appconsole config set ASC_VENDOR_NUMBER 12345678 # optional, for `appstore sales`
すでに fastlane をお使いの場合は、代わりに ASC_API_KEY_JSON を api_key.json に設定します。.p8 ファイルが
~/.appstoreconnect/private_keys または ~/private_keys にある場合、パスの指定は省略できます。
AdMob の設定
AdMob はサービスアカウントを受け付けず、Google ユーザーのみを受け付けるため、認証は一度だけ行います:
- Google Cloud プロジェクトで AdMob API を有効にします。
- OAuth 同意画面を設定します(External。自分をテストユーザーとして追加します)。公開ステータスを In production に設定します。Testing のままのアプリの更新トークンは 7 日後に期限切れになります。ご自身で使用する場合は 「未確認のアプリ」という警告が表示されますが、これは想定どおりです。
- Desktop app タイプの OAuth クライアント ID を作成し、その JSON をダウンロードします。
appconsole admob login --client-secrets client_secret.json(ブラウザーが 1 回開きます。トークンは~/.config/appconsole/admob-token.jsonに保存されます)。Google がパブリッシャー ID に対して有効化した後に、アプリ、 広告ユニット、メディエーショングループも作成する場合は、--monetizationを追加します。
代替方法:AdMob スコープを指定した gcloud アプリケーションのデフォルト認証情報を使用します —
gcloud auth application-default login --scopes=https://www.googleapis.com/auth/admob.readonly,https://www.googleapis.com/auth/admob.report,https://www.googleapis.com/auth/cloud-platform。
複数のパブリッシャーアカウントがある場合は、ADMOB_PUBLISHER_ID=pub-... を設定します。
すべての設定
| 設定 | 使用先 |
|---|---|
GOOGLE_PLAY_SERVICE_ACCOUNT | Google Play(GOOGLE_APPLICATION_CREDENTIALS にフォールバックします) |
GOOGLE_PLAY_DEVELOPER_ID | Google Play のユーザーと権限 |
ASC_KEY_ID、ASC_ISSUER_ID、ASC_PRIVATE_KEY_PATH または ASC_PRIVATE_KEY | App Store Connect |
ASC_API_KEY_JSON | App Store Connect。上記 3 つの代わりに使用する fastlane 形式のキーファイル |
ASC_VENDOR_NUMBER | appstore sales |
ADMOB_PUBLISHER_ID、ADMOB_TOKEN_FILE | AdMob(任意) |
APPCONSOLE_HOME | 設定ディレクトリ。デフォルトは ~/.config/appconsole |
APPCONSOLE_DEBUG=1 | CLI に詳細なトレースバックを表示します |
公式 API ではできないこと
これらの操作には引き続きウェブサイトが必要です。実行しようとすると、ツールがその旨を知らせます。
- Google Play:マネージド公開が有効な場合の 公開 ボタン(および Google が手動で要求する場合の 審査に送信)、アプリの作成、コンテンツ レーティング、広告と広告 ID の申告、ターゲット ユーザー、アプリへのアクセス、カスタムストア掲載情報と掲載情報のテスト、約 1 週間以上前のレビューへの返信、データ セーフティの回答の読み戻し。
- App Store Connect:アプリレコードの作成、App Privacy ラベル、年齢制限、アプリのプレビュー、Resolution Center のメッセージ。サブスクリプションとアプリ内購入の作成および価格設定には API がありますが、まだ実装されていません。
- AdMob:プライバシーとメッセージ(GDPR、米国の州、IDFA)、ブロック制御、ポリシーセンター、支払い、app-ads.txt のステータス、ユーザー。アプリ、広告ユニット、マッピング、メディエーショングループの作成機能はありますが、Google が有効にしたパブリッシャーのみが利用できます(上記の✱)。
開発
uv venv && uv pip install -e '.[dev]'
.venv/bin/pytest && .venv/bin/ruff check src tests
claude plugin validate .
bin/appconsole とプラグインは、uvx --from <repo> を使ってパッケージを実行し、ビルドをキャッシュします。ソースを編集した後は .venv を使用するか、--refresh-package app-console-mcp を追加してください。リリースするには、pyproject.toml、src/app_console_mcp/__init__.py、および .claude-plugin/marketplace.json の 3 つのエントリでバージョンを更新します。
v* のタグを付けると .github/workflows/publish.yml が実行され、PyPI、続いて公式 MCP Registry(server.json)に公開されます。PyPI がワークフローを信頼するまでは無効です。pypi.org で保留中のトラステッドパブリッシャー(project app-console-mcp、owner Alekla0126、repository app-console-mcp、workflow publish.yml、environment pypi)を追加し、その後 gh variable set PUBLISH_PYPI --body true を実行して、ワークフローを再実行してください。
それまでは、.github/workflows/docker.yml(同じタグで実行するか、手動で実行)によって、オールインワンイメージが ghcr.io/alekla0126/app-console-mcp にプッシュされ、代わりにそのイメージが MCP Registry に登録されます。レジストリはイメージを読み込むため、パッケージは公開されている必要があります(GitHub → Packages → app-console-mcp → Package settings → Change visibility)。PyPI への公開が有効になったら、レジストリでは各バージョンが一度だけ登録されるため、PyPI のパッケージの隣にある server.json の packages にイメージを追加してください。
ツールは、src/app_console_mcp/{play,appstore,admob}.py にある @tool()(または confirm 引数を持つ @tool(write=True))で装飾された 1 つの関数です。そのシグネチャと Google スタイルの docstring は、MCP スキーマと CLI オプションの両方になります。出力は短くしてください。モデルが読み取ります。
イシューやプルリクエストを歓迎します。
ライセンス
MIT。Google または Apple とは提携していません。Google Play、AdMob、App Store Connect は各所有者の商標です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。