--- name: conoha-vps-mcp-chatgpt description: ConoHa VPS MCP ChatGPT 専用エンドポイント(/vps/chatgpt)の操作ガイド。サーバー起動・停止・再起動・削除、ボリューム管理(作成除く)、セキュリティグループ設定など、ChatGPT から ConoHa VPS API を MCP ツールで操作する際に参照する。サーバー作成・ボリューム作成・リサイズは本エンドポイントでは利用不可。「ChatGPT」「vps/chatgpt」「ConoHa」「VPS」「サーバー削除」「サーバー起動」「サーバー停止」「ボリューム」「セキュリティグループ」「conoha_list_servers」「conoha_start_server」「conoha_delete_server」「dryRun」「SSHキーペア」などのキーワードで発動する。 --- # ConoHa VPS MCP 操作ガイド(ChatGPT 専用エンドポイント) ## 前提条件 - MCP クライアントが ConoHa VPS MCP の ChatGPT 専用エンドポイント `/vps/chatgpt` に接続済みで、OAuth 認可が完了していること - Keystone token / tenant ID は MCP サーバーが OAuth アクセストークンのイントロスペクション結果から自動取得する。ツール利用者が OpenStack の認証情報(ユーザーID・パスワード)や tenant ID を直接指定する必要はない - API リージョン・接続先はサーバー側の OpenStack base URL 設定で決まる ## このエンドポイントの制限事項 Apps in ChatGPT のストアポリシー(デジタル製品の購入に伴う機能は申請対象外)に対応するため、**料金が発生する操作は本エンドポイントでは恒久的に無効化されている**。該当するツールは登録されておらず、tools/list にも現れない。 利用不可の操作: | 操作 | 対応するツール(本エンドポイントには未登録) | 本エンドポイントでの状態 | | ---------------------- | --------------------------------------------------------------------------------------- | ------------------------ | | サーバー作成 | `conoha_create_server` | 利用不可 | | ボリューム作成 | `conoha_create_volume` | 利用不可 | | リサイズ / 確定 / 取消 | `conoha_resize_server` / `conoha_confirm_resize_server` / `conoha_revert_resize_server` | 利用不可 | | サーバー作成ウィザード | `create_server` プロンプト | 未登録 | **ユーザーからこれらの操作を依頼された場合の対応**: 1. 本エンドポイントでは課金が発生する操作(新規リソースのプロビジョニング・プラン変更)が利用できないことを説明する 2. 代替手段として ConoHa コントロールパネル()、または標準エンドポイント(`/vps/mcp`)に接続した MCP クライアントでの操作を案内する 3. これらの操作を他のツールで代用しようとしない 上記以外の操作はすべて利用可能: 電源操作(起動/停止/再起動)、リモートコンソール、SSHキーペア登録、セキュリティグループ/ルール作成、セキュリティグループ/ポート/ボリューム更新、既存ボリュームのアタッチ(課金なし)、参照系すべて、削除系すべて(削除は課金停止方向のため制限なし)。 ## ツール概要 1 API 操作 = 1 ツールの単一機能ツールで構成される。ツール名で操作が決まるため、API パスの指定は不要。 | 分類 | ツール | 本数 | | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | | 一覧取得 | `conoha_list_servers` / `conoha_list_flavors` / `conoha_list_ssh_keypairs` / `conoha_list_volume_types` / `conoha_list_volumes` / `conoha_list_images` / `conoha_list_security_groups` / `conoha_list_security_group_rules` / `conoha_list_ports` / `conoha_list_startup_scripts` | 10 | | 個別取得 | `conoha_get_server_ips` / `conoha_get_server_security_groups` / `conoha_get_server_cpu_usage` / `conoha_get_server_disk_io` / `conoha_get_security_group` / `conoha_get_security_group_rule` | 6 | | 作成 | `conoha_create_ssh_keypair` / `conoha_create_security_group` / `conoha_create_security_group_rule` | 3 | | サーバー操作 | `conoha_start_server` / `conoha_stop_server` / `conoha_reboot_server` / `conoha_create_remote_console` | 4 | | 更新・アタッチ | `conoha_attach_volume` / `conoha_update_security_group` / `conoha_update_port` / `conoha_update_volume` | 4 | | 削除 | `conoha_delete_server` / `conoha_delete_volume` / `conoha_delete_ssh_keypair` / `conoha_delete_security_group` / `conoha_delete_security_group_rule`(`confirm: true` 必須) | 5 | | ユーティリティ | `fetch_url` / `encode_base64` | 2 | - ID 引数は camelCase(`serverId` / `volumeId` / `securityGroupId` / `securityGroupRuleId` / `portId` / `keypairName`) - ボディ部分は OpenStack API のキー(`keypair` / `security_group` / `security_group_rule` / `remote_console` / `volumeAttachment` / `port` / `volume`)をそのまま指定する - 書き込み系(作成・サーバー操作・更新・アタッチ・削除)は任意の `dryRun: true` で、API へ何も送信せずに送信予定のリクエストだけを確認できる 入力パラメータ・冪等性の詳細は [tool-path-reference.md](references/tool-path-reference.md) を参照。 ## 絶対遵守制約 1. **課金操作の試行禁止** — サーバー作成・ボリューム作成・リサイズは依頼されても他のツールで代用しない。制限を説明し、ConoHa コントロールパネルへ誘導する 2. **ポート範囲自動設定禁止** — `port_range_min` / `port_range_max` は必ずユーザーに確認して指定する 3. **削除は明示確認必須** — 削除系ツールは、ユーザーの意思を確認したうえで必ず `confirm: true` を指定する(`dryRun: true` のときも必須) 4. **冪等でない操作の再実行に注意** — `conoha_create_security_group` / `conoha_reboot_server` / `conoha_create_remote_console` は再実行すると重複作成・再実行される。失敗後に再実行する前に一覧取得ツールで状態を確認する 5. **名前タグ制約** — ボリューム名は英数字・アンダースコア・ハイフンのみ(1-255文字)。SSHキーペア名は英数字・アンダースコア・ハイフンのみ(登録時は 1 文字以上で上限なし。削除時の `keypairName` は 255 文字まで) ## ワークフロー判定ツリー ### サーバー操作フロー | 操作 | ツール | 入力 | | ---------- | ------------------------------ | ------------------------------------------------------------------------------ | | 起動 | `conoha_start_server` | `{"serverId": ""}` | | 停止 | `conoha_stop_server` | `{"serverId": ""}` | | 強制停止 | `conoha_stop_server` | `{"serverId": "", "forceShutdown": true}` | | 再起動 | `conoha_reboot_server` | `{"serverId": "", "type": "SOFT"}` or `"HARD"` | | コンソール | `conoha_create_remote_console` | `{"serverId": "", "remote_console": {"protocol": "vnc", "type": "novnc"}}` | | 削除 | `conoha_delete_server` | `{"serverId": "", "confirm": true}` | ※ リサイズ(resize / confirmResize / revertResize)は本エンドポイントでは利用不可。 ### セキュリティグループフロー ```text 1. conoha_create_security_group → セキュリティグループ作成 2. conoha_create_security_group_rule → ルール追加(ポート範囲はユーザーに確認) 3. conoha_list_ports → ポート一覧取得、対象サーバーのポートIDを特定 4. conoha_update_port portId=ポートID → ポートにセキュリティグループを適用 ``` ### ボリューム管理フロー ```text ■ ボリューム作成 本エンドポイントでは利用不可(課金操作)。ConoHa コントロールパネルへ誘導する ■ ボリュームアタッチ(既存ボリュームの接続。課金なし) 1. conoha_list_volumes → 既存ボリューム一覧からアタッチ対象の ID を特定 2. conoha_attach_volume serverId=サーバーID volumeAttachment={"volumeId": ""} ■ ボリューム更新 conoha_update_volume volumeId=ボリュームID volume={"name": "...", "description": "..."} ■ ボリューム削除 conoha_delete_volume volumeId=ボリュームID confirm=true ``` ### 情報取得フロー | 取得対象 | ツール | 入力 | | ------------------------ | ----------------------------- | ---------- | | サーバー一覧 | `conoha_list_servers` | — | | フレーバー一覧 | `conoha_list_flavors` | — | | イメージ一覧 | `conoha_list_images` | — | | ボリューム一覧 | `conoha_list_volumes` | — | | SSHキーペア一覧 | `conoha_list_ssh_keypairs` | — | | セキュリティグループ一覧 | `conoha_list_security_groups` | — | | ポート一覧 | `conoha_list_ports` | — | | サーバーのIP | `conoha_get_server_ips` | `serverId` | | CPU使用率 | `conoha_get_server_cpu_usage` | `serverId` | | ディスクI/O | `conoha_get_server_disk_io` | `serverId` | ## ユーザー発話パターンとツール対応 | 発話パターン | 使用ツール | 備考 | | ---------------------------------- | --------------------------------------------------------------------- | -------------------------------------------- | | 「サーバーを作成して」 | —(対応不可) | 制限を説明し ConoHa コントロールパネルへ誘導 | | 「サーバーをリサイズして」 | —(対応不可) | 制限を説明し ConoHa コントロールパネルへ誘導 | | 「ボリュームを作成して」 | —(対応不可) | 制限を説明し ConoHa コントロールパネルへ誘導 | | 「サーバーを停止/起動/再起動して」 | `conoha_stop_server` / `conoha_start_server` / `conoha_reboot_server` | | | 「サーバーを削除して」 | `conoha_delete_server` | `confirm: true` 必須 | | 「セキュリティグループを作成して」 | `conoha_create_security_group` + `conoha_create_security_group_rule` | ポート範囲はユーザーに確認 | | 「サーバーの状態を確認して」 | `conoha_list_servers` | | | 「コンソールに接続して」 | `conoha_create_remote_console` | | | 「実行前に内容を確認したい」 | 対象の書き込み系ツールに `dryRun: true` | API には何も送信しない | ## エラー対応ガイド | エラー | 原因 | 対処 | | ------------------------------------------ | ---------------------------------------------------------------- | ------------------------------------------------------------------------ | | 入力検証エラー(未知のキー・必須項目不足) | 入力スキーマに無いキー(`path` 等)や必須の ID・`confirm` の欠落 | [tool-path-reference.md](references/tool-path-reference.md) で入力を確認 | | 401 Unauthorized | OAuth 認可切れ、scope 不足、Bearer token 不正 | MCP クライアント側で再認可し、`vps:read` / `vps:write` scope を確認 | | 409 Conflict | リソース競合(削除中のボリューム等) | 状態を確認して再試行 | | 400 Bad Request (port_range) | ポート範囲不正 | 0-65535の整数か確認 | | 404 Not Found | リソースが存在しない | ID/名前を再確認(削除系では 404 は成功として扱われる) | 成功応答に `idempotent: true` が付いている場合は、既に目的の状態だったため成功として扱われたことを示す(理由は `message` に入る)。 ## リファレンス - [ツール別入力パラメータ一覧](references/tool-path-reference.md) - [入力スキーマ全集](references/request-body-schemas.md) - [主要操作のワークフローレシピ](references/workflow-recipes.md)