メインコンテンツまでスキップ

MCP ツールリファレンス

プラグインは以下の MCP ツールを提供します。通常、これらを名前で直接呼ぶ必要はなく、スキル や Claude との自然言語による会話の中でオーケストレーションされます。このページは、各ツールのパラメータ・戻り値・注意点を網羅したリファレンスです。

識別子モデル

DeployGate の識別子は複数のツールにまたがって使われます。ユーザー向けの用語と、内部 API の歴史的な名称が異なる点に注意してください。

ユーザー向け用語API / 旧名役割
ワークスペースenterpriseプロジェクトとメンバーを束ねる最上位コンテナ
プロジェクトorganization, groupワークスペース配下で、アプリ・チーム・メンバーをまとめる
チームteamowner / developer / testerプロジェクト内のロール単位のメンバーシップ
共有チームshared_teamワークスペース単位で、複数プロジェクト横断で使えるチーム

多くのツールが受け取る:

  • owner_nameプロジェクトスラグget_user_infogroups[i].name)、または個人アプリの場合はユーザーのログイン名
  • app_idupload_app のレスポンスに含まれる package_name フィールド(iOS では bundle identifier、Android では package name)
  • access_keycreate_distribution のレスポンスに含まれる配布ページ識別子。upload_app では distribution_key と呼ばれる同じ値

認証

プラグインはブラウザ経由の Device Authorization Code フローで認証します。API トークンを貼り付ける必要はありません。発行されたトークンはローカルに保存され、以後のエージェントセッションで再利用されます。

プラットフォーム保存先
macOS / Linux~/.config/deploygate/token(または $XDG_CONFIG_HOME/deploygate/token
Windows%APPDATA%\deploygate\token

ファイルはモード 0600 で書き込まれ、トークン本体のみを含みます。

login_start

Device Authorization Code フローを開始します。パラメータはありません。

戻り値: https://deploygate.com/app/sessions/codes?code=XXXXXXXX 形式の検証 URL、ショートコード、有効期限(通常 5 分)を含むテキスト。ユーザーは DeployGate にサインイン済みのブラウザで URL を開き、ログインを承認します。

URL を提示したらすぐに login_wait を呼び出し、トークンを受け取ります。

login_wait

login_start で開始したログインの承認を待ちます。サーバー指定の間隔でポーリングし、承認・拒否・期限切れのいずれかになるまで待機します。パラメータはありません。

戻り値: 成功時、認証されたユーザー名、組織一覧 JSON(ワークスペース名とプロジェクト群)、トークン保存先のパスを含むテキスト。トークンはクライアント側にも保持され、以降のツール呼び出しで自動的に認証されます。

エラー(いずれも isError: true):

  • No login in progress — 先に login_start を呼び出していない
  • The code expired after 5 minutes — 期限内に承認されなかった
  • Login was not approved, or the code expired — サーバー側で明示的に拒否されたか期限切れ
  • Login aborted for security reasons (nonce mismatch)login_start が送った nonce とサーバーレスポンスが一致しない
  • Hit the server's rate limit repeatedly — レート制限に繰り返し当たった。少し時間を置いて login_start を再実行
  • Repeated network errors while polling — ネットワーク疎通を確認のうえ再実行

いずれの場合も login_start から再実行してください。

logout

サーバー上で保存トークンを失効させ、ローカルのトークンファイルを削除します。パラメータはありません。

戻り値: 成功時 Logged out.。サーバー側の失効に失敗した場合でもローカルトークンは削除した旨のメッセージが付きます。トークンが保存されていないときは Already logged out. を返します。

get_user_info

保存されたトークンに紐づくワークスペース/プロジェクトを返します。パラメータはありません。

戻り値: ワークスペース配列。各要素は name(ワークスペーススラグ)と groups(プロジェクト群)を持ちます。

エラー: 保存トークンがサーバーに unauthorized と判定された場合、ローカルのトークンファイルは削除され、レスポンスは The stored token is invalid. Run login_start to log in again. となります。

アプリアップロード

upload_app

IPA / APK / AAB を DeployGate にアップロードします。配布ページの更新もオプションで指定できます。

パラメータ必須説明
owner_namestringオーナー(ユーザーログインまたはプロジェクトスラグ)
file_pathstringバイナリの絶対パス
messagestringビルド説明。最大 32,766 バイト、超過時は自動切り詰め(レスポンスに警告を含む)
distribution_keystring更新対象の配布ページ access_keydistribution_name より優先。最大 255 文字
distribution_namestring配布ページ名。未存在なら新規作成(active=false で)。distribution_key 併用時は無視。最大 255 文字
release_notestring配布ページに紐づくリリースノート
disable_notifybooleanテスターへの Push 通知を無効化(iOS のみ)
ios_simulator_zipstringiOS シミュレータビルドの zip の絶対パス。Instant Device(ブラウザプレビュー)を有効化。xcodebuild -sdk iphonesimulator で作成した .app を zip。IPA(file_path)との併送が必須

戻り値: DeployGate API のレスポンス JSON。リビジョン URL、配布ページを触ったときはその access_key と URL も含みます。レスポンス中の package_name は、以後の配布/UDID/通知系ツールに渡す app_id になります。

配布ページ管理

create_distribution

新規配布ページを作成し、access_key を返します。公開 URL は https://deploygate.com/distributions/{access_key}

パラメータ必須説明
owner_namestringオーナー(ユーザーログインまたはプロジェクトスラグ)
platform"ios" | "android"プラットフォーム
app_idstringpackage name または bundle identifier
titlestring配布ページタイトル(最大 255 文字)
release_notestringこの配布のリリースノート
revisionnumber固定したいリビジョン番号
activebooleanページを有効にするか。デフォルト: true

list_distributions

アプリのすべての配布ページを一覧取得します。

パラメータ必須説明
owner_namestringオーナー
platform"ios" | "android"プラットフォーム
app_idstringpackage name または bundle identifier

get_distribution

指定の配布ページ詳細を取得します。

パラメータ必須説明
access_keystring配布ページの access_key

update_distribution の前に必ず呼び、現在の active / release_scope を取得してください(更新時に必須)。

update_distribution

配布ページを更新します。

パラメータ必須説明
access_keystring配布ページの access_key
activeboolean有効/無効
release_scope下表参照公開範囲
titlestring新しいタイトル(最大 255 文字)
passcodestringrelease_scope"passcode" のとき必須
release_notestringリリースノート
注意

activerelease_scope はタイトルだけを変更する場合でも 常に必須 です。先に get_distribution で現在値を取得し、そのまま渡してください。

release_scope の値:

挙動
public公開。検索エンジンにインデックスされる
unlistedリンクを知っていれば誰でもアクセス可(デフォルト)
passcodeパスコード必須(passcode パラメータ指定)
authorized_onlyログイン済みチームメンバーのみアクセス可

delete_distribution

配布ページを削除します。削除されるのはページのみで、アップロード済みビルド(バイナリ)は残ります。

パラメータ必須説明
access_keystring配布ページの access_key

iOS UDID 管理

get_udids

配布ページのインストールフローを経由して登録された iOS UDID を一覧取得します。

パラメータ必須説明
owner_namestringオーナー
app_idstringbundle identifier
unprovisioned_onlybooleantrue で Provisioning Profile 未登録のデバイスのみ返す(is_provisioned=false

戻り値: udid / user_name / device_name / is_provisioned を持つエントリの配列。

通知設定

get_notification_settings_url

Slack / Microsoft Teams / Chatwork の通知設定 URL を生成します。API だけで設定を完了する手段は無く、ユーザーがブラウザで URL を開いてセットアップを完了させます。

パラメータ必須説明
level"distribution" | "app"設定の粒度
access_keystringlevel="distribution" のとき配布ページの access_key
owner_namestringlevel="app" のときオーナー
owner_type"organization" | "user"level="app" のときプロジェクト所属か個人所属か
platform"ios" | "android"level="app" のときプラットフォーム
app_idstringlevel="app" のときpackage name または bundle identifier

戻り値: URL を含むテキスト。ユーザーにはそのまま渡し、クエリパラメータを付け足したりしないでください。

メンバー管理

add_member

プロジェクトに役割付きでメンバーを追加します。このツールは 3〜4 回の API 呼び出しを 1 回にまとめています。

  1. ワークスペース(enterprise)に追加
  2. プロジェクトに追加(upsert — 重複エラーなし)
  3. owner / developer / tester チームに追加(upsert)
  4. tester のみ: テスターチームを指定アプリに割り当て
パラメータ必須説明
workspacestringワークスペース名
projectstringプロジェクト名
userstringメールアドレスまたはユーザー名
role"owner" | "developer" | "tester"付与するロール
platform"ios" | "android"role="tester" のときテスターチーム割り当て用
app_idstringrole="tester" のときテスターチーム割り当て対象アプリ

エラー:

  • Free プランの 2 名上限超過 → isError: truehttps://deploygate.com/settings/plan への誘導
  • 既にワークスペースに存在するユーザー → 自動スキップ

list_members

プロジェクト内の指定チームのメンバーを一覧します。

パラメータ必須説明
projectstringプロジェクト名
team"owner" | "developer" | "tester"対象チーム

remove_member

チームからメンバーを除外します。ワークスペースとプロジェクトからは外れず、チームメンバーシップのみが解除されます。

パラメータ必須説明
projectstringプロジェクト名
team"owner" | "developer" | "tester"対象チーム
userstringメールアドレスまたはユーザー名

共有チーム管理

共有チームはワークスペース単位のチームで、複数のプロジェクト・アプリに割り当てられます。アプリに割り当てると、メンバーはテスターレベルのアクセス権を得ます。

create_shared_team

パラメータ必須説明
workspacestringワークスペース名
namestring共有チーム名(例: "all staff"

add_shared_team_member

共有チームにメンバーを追加します。email または username のいずれか一方だけを指定してください(両方指定は不可)。

パラメータ必須説明
workspacestringワークスペース名
shared_team_idstring共有チーム ID
emailstringいずれかメールアドレス
usernamestringいずれかユーザー名
descriptionstring任意の説明(最大 255 文字)

assign_shared_team_to_app

共有チームをアプリに割り当てます。メンバーはテスターレベルのアクセス権を得ます。

パラメータ必須説明
projectstringプロジェクト名
platform"ios" | "android"プラットフォーム
app_idstringpackage name または bundle identifier
teamstring割り当てる共有チーム名