The App Stores Cooolest API について
App Store Connect、Google Play、Huawei AppGallery のストア情報、価格、署名、レポートを扱う Rust 製 API、コマンドラインツール、MCP サーバーです。CLI と MCP の操作を共有し、各領域を個別の crate に分けています。
主な機能
- 01App Store Connect の情報と価格管理
- 02Google Play の掲載情報とリリース
- 03AppGallery の公開操作
- 04証明書、プロファイル、CSR の生成
- 05売上レポートの取得
- 06CLI と MCP の操作共有
活用シーン
- 01ストア掲載情報とリリースノートの更新
- 02署名証明書とプロファイルの管理
- 03売上レポートの取得
- 04MCP 経由でストア操作を公開
MCP 対応
MCP サーバーは stdio 経由で共有操作を公開し、CLI も `--mcp` に対応します。AppGallery の MCP ツールは、アプリ情報やパッケージ状態など3つの読み取り専用操作に限られます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
smbcloud-ascapi
smbcloud-ascapi は、アプリストア向けの最高の API です。
9 つのクレートをドメインごとに分け、階層化することで、どちらのフロントエンドも互いに乖離しないようにしています。
| Crate | 内容 |
|---|---|
smbcloud-ascapi-core | 共通のトランスポート:JWT 認証、HTTP クライアント、JSON:API エンベロープ、エラー型 |
smbcloud-ascapi-play | Google Play(Edits v3):ストア掲載情報、掲載画像、トラックのリリースノート。サービスアカウント認証を使用し、core には依存しません |
smbcloud-ascapi-appgallery | Huawei AppGallery Connect Publishing API(Android):アプリ情報と掲載情報、ファイルとパッケージのアップロード、送信、段階的リリース、リリース日時、GMS フラグ、パッケージ一覧とステータス。サービスアカウント認証(PS256 JWT)を使用し、core には依存しません |
smbcloud-ascapi-aso | アプリのメタデータ:アプリ、アプリ情報、バージョン、ビルド、プレリリースバージョン、審査への提出、バンドル ID、ローカライズ、スクリーンショット |
smbcloud-ascapi-pricing | 価格設定:アプリの価格スケジュール、および価格ポイントと通貨を紐付けた地域別価格 |
smbcloud-ascapi-signing | コード署名:証明書とプロビジョニングプロファイルに加え、ローカルでの RSA キーペアと CSR の生成 |
smbcloud-ascapi-reports | 売上レポート:Apple の gzip 圧縮 TSV 形式によるアカウントレベルの売上データ |
smbcloud-ascapi-frontend | CLI と MCP サーバーが常に一致するよう、両方のフロントエンドで共有する操作に加え、CLI の xcrun altool アップロード |
smbcloud-ascapi-mcp | MCP のコントラクトと stdio サーバー |
smbcloud-ascapi-cli | asc バイナリ:clap のコマンドツリーと --mcp |
aso、play、appgallery、pricing、signing、reports は互いについて何も知らず、フロントエンドについても何も知りません。それぞれの呼び出しは、拡張トレイトとして smbcloud_ascapi_core::Client に追加します。Rust では、型を定義したクレート内でしか固有の impl を定義できないためです。
use smbcloud_ascapi_core::{ApiKey, Client};
use smbcloud_ascapi_aso::prelude::*; // or pricing::prelude, signing::prelude
MCP レジストリ名:mcp-name: io.github.smbcloudXYZ/ascapi
認証情報
CLI は App Store Connect API キーでリクエストに署名します。
| フラグ | 環境変数 | 備考 |
|---|---|---|
--key-id | ASC_API_KEY | キー ID です。ASC_KEY_ID はありません。 |
--issuer-id | ASC_ISSUER_ID | App Store Connect の発行者 ID です。 |
--private-key-path | ASC_PRIVATE_KEY_PATH | デフォルトは ~/.appstoreconnect/private_keys/AuthKey_<key-id>.p8 です。 |
--mcp を指定すると、各ツール呼び出し時に認証情報が解決されるため、サーバーは設定前にツール一覧を表示できます。
AppGallery の認証情報
asc appgallery は、App Store Connect キーではなく、AppGallery Connect サービスアカウント(開発者レベルで、公開ロールを持つもの)を使用します。
| フラグ | 環境変数 | 備考 |
|---|---|---|
--service-account | APPGALLERY_SERVICE_ACCOUNT_JSON_PATH | *private.json ファイル、または APPGALLERY_SERVICE_ACCOUNT_JSON に設定したファイルの内容です。 |
--client-id | APPGALLERY_CLIENT_ID | 任意の client_id ヘッダーです。 |
asc appgallery app-id xyz.smbcloud.SiGit
asc appgallery listings list <APP> [--lang en-US] # every field the API returns
asc appgallery listings update <APP> --lang en-US --brief "..." --release-notes-file notes.txt
asc appgallery listings delete <APP> --lang id
asc appgallery info update <APP> --privacy-policy URL [--category ID --category-tag ID]
[--publish-country CODES] [--developer-website URL] [--device-types JSON] ...
asc appgallery files upload <APP> --type icon --lang en-US icon-216.png
asc appgallery files upload <APP> --type screenshots --orientation portrait --lang en-US 1.png 2.png
asc appgallery files upload <APP> --type package siGit.apk # chineseMainlandFlag=0 unless --chinese-mainland
asc appgallery packages list <APP>
asc appgallery packages status <APP> <PKG_ID>...
asc appgallery gms <APP> --needs-gms false
asc appgallery submit <APP> [--release-time T] [--remark TEXT] [--phased-start T --phased-end T --phased-percent P --phased-description D]
asc appgallery phased-release <APP> (--to-full | --state SUSPEND|RELEASE | --phased-percent P ...)
asc appgallery release-time <APP> (--immediately | --at T)
<APP> は数値のアプリ ID またはパッケージ名です。すべての書き込み操作には --dry-run が必要です。言語に画像または動画を紐付けると、その言語のテキストは消去されます。files upload はテキストを先に読み取り、欠落していた場合は書き戻します。MCP には読み取り専用ツールが 3 つあります:appgallery_app_info_get、appgallery_package_list、appgallery_package_status。
対象外:公開パッケージ URL と、Huawei からの通知を受け取るコールバックサーバーが必要となる「ダウンロードモード」の送信およびパッケージ呼び出しです。
著作権
© 2026 PT Sigit Mitra Bangun(smbCloud)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。