MCP ツールリファレンス
プラグインは以下の MCP ツールを提供します。通常、これらを名前で直接呼ぶ必要はなく、スキル や Claude との自然言語による会話の中でオーケストレーションされます。このページは、各ツールのパラメータ・戻り値・注意点を網羅したリファレンスです。
識別子モデル
DeployGate の識別子は複数のツールにまたがって使われます。ユーザー向けの用語と、内部 API の歴史的な名称が異なる点に注意してください。
| ユーザー向け用語 | API / 旧名 | 役割 |
|---|---|---|
| ワークスペース | enterprise | プロジェクトとメンバーを束ねる最上位コンテナ |
| プロジェクト | organization, group | ワークスペース配下で、アプリ・チーム・メンバーをまとめる |
| チーム | team(owner / developer / tester) | プロジェクト内のロール単位のメンバーシップ |
| 共有チーム | shared_team | ワークスペース単位で、複数プロジェクト横断で使えるチーム |
多くのツールが受け取る:
owner_name— プロジェクトスラグ(get_user_infoのgroups[i].name)、または個人アプリの場合はユーザーのログイン名app_id—upload_appのレスポンスに含まれるpackage_nameフィールド(iOS では bundle identifier、Android では package name)access_key—create_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_name | string | ✓ | オーナー(ユーザーログインまたはプロジェクトスラグ) |
file_path | string | ✓ | バイナリの絶対パス |
message | string | ビルド説明。最大 32,766 バイト、超過時は自動切り詰め(レスポンスに警告を含む) | |
distribution_key | string | 更新対象の配布ページ access_key。distribution_name より優先。最大 255 文字 | |
distribution_name | string | 配布ページ名。未存在なら新規作成(active=false で)。distribution_key 併用時は無視。最大 255 文字 | |
release_note | string | 配布ページに紐づくリリースノート | |
disable_notify | boolean | テスターへの Push 通知を無効化(iOS のみ) | |
ios_simulator_zip | string | iOS シミュレータビルドの 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_name | string | ✓ | オーナー(ユーザーログインまたはプロジェクトスラグ) |
platform | "ios" | "android" | ✓ | プラットフォーム |
app_id | string | ✓ | package name または bundle identifier |
title | string | ✓ | 配布ページタイトル(最大 255 文字) |
release_note | string | この配布のリリースノート | |
revision | number | 固定したいリビジョン番号 | |
active | boolean | ページを有効にするか。デフォルト: true |
list_distributions
アプリのすべての配布ページを一覧取得します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
owner_name | string | ✓ | オーナー |
platform | "ios" | "android" | ✓ | プラットフォーム |
app_id | string | ✓ | package name または bundle identifier |
get_distribution
指定の配布ページ詳細を取得します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
access_key | string | ✓ | 配布ページの access_key |
update_distribution の前に必ず呼び、現在の active / release_scope を取得してください(更新時に必須)。
update_distribution
配布ページを更新します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
access_key | string | ✓ | 配布ページの access_key |
active | boolean | ✓ | 有効/無効 |
release_scope | 下表参照 | ✓ | 公開範囲 |
title | string | 新しいタイトル(最大 255 文字) | |
passcode | string | release_scope が "passcode" のとき必須 | |
release_note | string | リリースノート |
active と release_scope はタイトルだけを変更する場合でも 常に必須 です。先に get_distribution で現在値を取得し、そのまま渡してください。
release_scope の値:
| 値 | 挙動 |
|---|---|
public | 公開。検索エンジンにインデックスされる |
unlisted | リンクを知っていれば誰でもアクセス可(デフォルト) |
passcode | パスコード必須(passcode パラメータ指定) |
authorized_only | ログイン済みチームメンバーのみアクセス可 |
delete_distribution
配布ページを削除します。削除されるのはページのみで、アップロード済みビルド(バイナリ)は残ります。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
access_key | string | ✓ | 配布ページの access_key |
iOS UDID 管理
get_udids
配布ページのインストールフローを経由して登録された iOS UDID を一覧取得します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
owner_name | string | ✓ | オーナー |
app_id | string | ✓ | bundle identifier |
unprovisioned_only | boolean | true で 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_key | string | level="distribution" のとき | 配布ページの access_key |
owner_name | string | level="app" のとき | オーナー |
owner_type | "organization" | "user" | level="app" のとき | プロジェクト所属か個人所属か |
platform | "ios" | "android" | level="app" のとき | プラットフォーム |
app_id | string | level="app" のとき | package name または bundle identifier |
戻り値: URL を含むテキスト。ユーザーにはそのまま渡し、クエリパラメータを付け足したりしないでください。
メンバー管理
add_member
プロジェクトに役割付きでメンバーを追加します。このツールは 3〜4 回の API 呼び出しを 1 回にまとめています。
- ワークスペース(enterprise)に追加
- プロジェクトに追加(upsert — 重複エラーなし)
owner/developer/testerチームに追加(upsert)testerのみ: テスターチームを指定アプリに割り当て
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
workspace | string | ✓ | ワークスペース名 |
project | string | ✓ | プロジェクト名 |
user | string | ✓ | メールアドレスまたはユーザー名 |
role | "owner" | "developer" | "tester" | ✓ | 付与するロール |
platform | "ios" | "android" | role="tester" のとき | テスターチーム割り当て用 |
app_id | string | role="tester" のとき | テスターチーム割り当て対象アプリ |
エラー:
- Free プランの 2 名上限超過 →
isError: trueとhttps://deploygate.com/settings/planへの誘導 - 既にワークスペースに存在するユーザー → 自動スキップ
list_members
プロジェクト内の指定チームのメンバーを一覧します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
project | string | ✓ | プロジェクト名 |
team | "owner" | "developer" | "tester" | ✓ | 対象チーム |
remove_member
チームからメンバーを除外します。ワークスペースとプロジェクトからは外れず、チームメンバーシップのみが解除されます。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
project | string | ✓ | プロジェクト名 |
team | "owner" | "developer" | "tester" | ✓ | 対象チーム |
user | string | ✓ | メールアドレスまたはユーザー名 |
共有チーム管理
共有チームはワークスペース単位のチームで、複数のプロジェクト・アプリに割り当てられます。アプリに割り当てると、メンバーはテスターレベルのアクセス権を得ます。
create_shared_team
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
workspace | string | ✓ | ワークスペース名 |
name | string | ✓ | 共有チーム名(例: "all staff") |
add_shared_team_member
共有チームにメンバーを追加します。email または username のいずれか一方だけを指定してください(両方指定は不可)。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
workspace | string | ✓ | ワークスペース名 |
shared_team_id | string | ✓ | 共有チーム ID |
email | string | いずれか | メールアドレス |
username | string | いずれか | ユーザー名 |
description | string | 任意の説明(最大 255 文字) |
assign_shared_team_to_app
共有チームをアプリに割り当てます。メンバーはテスターレベルのアクセス権を得ます。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
project | string | ✓ | プロジェクト名 |
platform | "ios" | "android" | ✓ | プラットフォーム |
app_id | string | ✓ | package name または bundle identifier |
team | string | ✓ | 割り当てる共有チーム名 |