MCP スコープとトークン
スコープ付き MCP トークンを発行し、安全に取り消します。
Showly MCP トークンは、エージェントの認証方法です。このページでは、それらを発行する方法、厳密にスコープを設定する方法、何か問題がある場合にそれらをローテーションまたは取り消す方法について説明します。
トークンの発行
ワークスペース設定 → MCP クライアント → 新しいクライアント。
5 つのフィールドを設定します。
- クライアント名 — 監査ログに表示されます。説明的なものにします:
Claude Code (alice@acme)はtoken-3よりも読みやすくなります。 - プロジェクトの範囲 — オプション。設定すると、トークンはそのプロジェクト内のサイト/デプロイメントのみを表示および変更できます。
- スコープ — 必要最小限のものを選択します。デフォルトは
project:read、site:read、preview:readです。 - TTL — トークンの有効期間。デフォルトは 90 日、最大は 365 日です。
- メモ — Free-テキスト。これを使用して、トークンの用途を記録します。
トークンは作成時に1回表示されます。それをコピーしてください。平文は保存しません。
スコープ参照
スコープは階層を持たない フラットな文字列 です。トークンには明示的な一覧が入り、API は次の名前だけを認識します。
| 範囲 | 階層 | を許可します | |
|---|---|---|---|
project:read | 読む | list_projects — このトークンがアクセスできるプロジェクトをリストし、検査します。 | |
site:read | 読む | list_sites、get_site_context、create_change_plan、list_site_versions、get_site_files — サイト状態の読み取り | |
site:write | 書く | apply_site_patch、create_site_from_template — ステージ編集 (直接デプロイしない) | |
site:delete | 書く | delete_site — サイトの 2 段階のカスケード論理的削除 (管理層) | |
preview:read | 読む | get_preview_status — 導入ステータスの読み取り | |
preview:create | 書く | create_preview、create_github_preview、delete_preview — プライベート プレビューを具体化 / ソフト削除する | |
checks:run | 書く | run_checks — lint/typecheck/build/audit ステータスを読み取る | |
publish:request | 書く | request_publish — 運用パブリッシュの承認行を開く | |
publish:confirm | 書く | publish_site — 2 段階の確認と運用環境への公開 (会話中の人間による確認、単独/非承認プラン) | |
rollback:confirm | 書く | rollback_to_version — 2 ステップのロール生産を以前のバージョンに戻す (管理層、直接生産) | |
logs:read | 読む | get_deployment_logs — 末尾でキャプチャされたビルド ログ。 diagnose_deployment は、制限されたクライアント/エージェント診断も公開します。 | |
template:read | 読む | list_templates — 利用可能なサイト テンプレートのリスト | |
template:create | 書く | create_site_from_template — テンプレートから新しいサイトを実体化する |
暗黙のはしごはありません。 publish:request を付与しても preview:create は付与されません。クライアントが必要とするスコープを正確に選択します。 Web UI の「MCP トークン」パネルには、このリストがチェックボックスとして表示されます。同じ定数が、カスタム RBAC ロールのロール ビルダーに電力を供給します。
従来のrollback_deploymentは、スコープにかかわらず MCP では 公開されません。publish_siteはpublish:confirmと会話内の 2 段階確認がある場合にのみ MCP から呼び出せます。理由はツールリファレンスを参照してください。
スコープが狭いトークンとはどのようなものなのか
インフラストラクチャに触れるべきではないコンテンツのみのエージェントの場合:
- 許可リスト:
marketing-siteサイトのみ。 - 範囲:
site:read、site:write。エージェントはパッチをステージングできますが、プレビューを作成したり公開したりすることはできません。 - TTL: 30 日。
CI の _deploy-bot_ の場合:
- 許可リスト: 導入されている運用サイトのみ。
- 範囲:
preview:read、preview:create、checks:run、publish:request。いいえsite:write— パッチはボットではなく、CI のチェックインされたワークフローから取得されます。 - TTL: 14 日間、CI によってローテーションされます。
_テンプレート主導のオンボーディング ボット_の場合:
- 許可リスト: ボットが招待されるプロジェクト。
- 範囲:
project:read、template:read、template:create、site:write、preview:read、preview:create。ボットにテンプレートを選択させ、サイトを作成させ、最初のプレビュー ビルドを監視させます。 - TTL: 7 日間。
回転
2 つのパス:
- 手動 - クライアントで回転をクリックします。古いトークンは即座に取り消されます。新しいものをコピーし、シェル構成を更新します。
- スケジュール済み — ワークスペース設定 → トークン ポリシーでローテーションの頻度を設定します。 Showly は有効期限が切れる前にクライアントの所有者にメールを送信します。
失効
トークンをすぐに強制終了するには、[取り消し] をクリックします。取り消されたトークンを使用した実行中のツール呼び出しには 401 が返されます。クライアント名は (revoked フラグ付きで) 監査ログに残るため、履歴エントリは引き続き解決されます。
トークンが侵害されていると思われる場合は、最初に取り消し、次に調査してください。 publish:request スコープの侵害されたトークンは公開承認を開くことができますが、人間の承認者や展開にバインドされた公開確認をバイパスすることはできません。
監査の可視性
すべてのツール呼び出しは、クライアント ID (トークンではない) を含む監査行を書き込みます。あなたはできる:
- クライアントによるすべての呼び出しをクエリします:
client_id eq <id>。 - 動詞を書くすべての呼び出しをクエリします:
action eq mcp.request_publish。 - レコードのレビューとエクスポートは、有効な監査サーフェスを通じてのみ行います。
ワークスペース。
トークンでできないこと
- クロステナント読み取り。トークンは 1 つのワークスペースにバインドされます。
- 承認をバイパスします。
publish:requestスコープは、承認を「開く機能」を付与します。承認ルールは引き続き適用されます。 - 請求書または RBAC に書き込みます。これらには、人間 + 管理者ロール + ブラウザー セッションが必要です。
- 従来の
rollback_deployment動詞を呼び出します。これは MCP サーバーにまったく登録されていません。 (publish_siteには、publish:confirmスコープと明示的な 2 段階の確認が必要です。)
Free/Pro の直接パブリッシュでは、以下に含まれる publish:confirm も使用されます。 推奨される出版エージェントの承認が必要ですが、 短時間のセカンドコール確認。破壊的な削除とロールバックのスコープ オプトインのままです。