VMware Pilot について
VMware Pilot は、段階的な実行と人による承認が必要な運用チーム向けに、複数の VMware MCP スキルのワークフローを調整します。ステートマシン、監査記録、明示的なロールバックに加え、組み込みテンプレートと独自ステップを備えます。
主な機能
- 01複数ステップのワークフロー設計、レビュー、実行
- 02ステップ間に承認ゲートを設定
- 03状態、差分レポート、監査記録の確認
- 04組み込みテンプレートと独自ステップの利用
- 05成功記録のあるステップを明示的にロールバック
活用シーン
- 01承認後に VMware の変更手順を実行
- 02アラート調査とインシデント対応を調整
- 03テンプレートでデプロイ、拡張、基準監査を実施
MCP 対応
スキルの確認、ワークフロー設計と管理、ステップ実行、承認、ロールバックを行う MCP ツールを 13 個提供します。通常、保留中のステップはエージェントが実行し、dispatch を有効にすると対応するスキルの MCP サーバー経由で Pilot が実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
VMware Pilot
Author:Wei Zhou, VMware by Broadcom — [email protected] VMware のエンジニアによるコミュニティ主導のプロジェクトであり、VMware の公式製品ではありません。 VMware の公式開発者ツールについては、developer.broadcom.comをご覧ください。
英語 | 中文
VMware MCP スキル向けの複数ステップのワークフローオーケストレーション — 状態マシン、承認ゲート、監査証跡。
その他の機能は、連携スキルが担当します。
スキル 対象範囲 インストール vmware-aiops VM のライフサイクル、デプロイ、ゲスト操作、クラスター uv tool install vmware-aiopsvmware-monitor 読み取り専用:インベントリ、健全性、アラーム、イベント uv tool install vmware-monitorvmware-storage データストア、iSCSI、vSAN の管理 uv tool install vmware-storagevmware-vks Tanzu Namespaces、TKC クラスターのライフサイクル uv tool install vmware-vksvmware-nsx NSX ネットワーキング:セグメント、ゲートウェイ、NAT uv tool install vmware-nsx-mgmtvmware-nsx-security DFW ファイアウォールルール、セキュリティグループ uv tool install vmware-nsx-securityvmware-aria Aria Ops:メトリクス、アラート、キャパシティ uv tool install vmware-ariavmware-avi AVI の負荷分散、プール管理、AKO K8s 操作 uv tool install vmware-avi
インストール
uv tool install vmware-pilot
vmware-pilot mcp # start the MCP server (stdio)
オフライン/エアギャップ環境へのインストール(ソースから)
このプロジェクトは最新の PEP 517 ビルドシステム(hatchling)を使用しているため、設計上 setup.py はありません。これは想定どおりであり、ファイルの欠落ではありません。ソースをクローンした後に ERROR: File "setup.py" or "setup.cfg" not found ... editable mode currently requires a setuptools-based build が発生した場合、使用している pip は 21.3 より古く、setuptools 以外のバックエンドでは 編集可能な(-e)インストールを実行できません。編集可能モードは開発者向けの利便機能であり、ツールの実行には不要です。次のいずれかを行ってください。
# From the source tree — a normal (non-editable) install builds a wheel:
pip install . # NOT pip install -e .
# ...or upgrade pip first, and editable works too:
pip install --upgrade pip && pip install -e .
完全にエアギャップ化されたホストの場合は、ネットワークに接続されたマシンで wheel をビルドしてコピーしてください。インストール先ではネットワークが不要になります。
# On a connected machine, collect this package + its dependencies as wheels:
pip wheel . -w dist # → dist/*.whl (or: uv build, for just this package)
# Copy dist/ to the air-gapped host, then install offline:
pip install --no-index --find-links dist vmware-pilot
MCP ツール(13 — 読み取り 4、書き込み 9)
| ツール | 説明 |
|---|---|
get_skill_catalog | ワークフロー設計に利用できるすべてのスキルとツールを一覧表示します |
list_workflows | 組み込みテンプレートとカスタムテンプレートを一覧表示します |
review_workflow | 実行前に、計画したワークフローに問題がないか確認します |
design_workflow | 自然言語の目標 → ワークフローのドラフト |
update_draft | ワークフローのドラフトの手順を編集します |
confirm_draft | ドラフトを確定し、実行可能な状態にします |
create_workflow_from_template | テンプレートからワークフローを作成して保存します(ドライランではありません)。workflow_id を返します |
create_workflow | 手順リストからカスタムワークフローを作成します(破壊的な手順の前に承認ゲートがない場合は拒否されます) |
run_workflow | ワークフローを実行し、承認ゲートで一時停止します |
get_workflow_status | 状態、差分レポート、監査ログを照会します |
approve | 人による承認を行い、実行を続行します。ゲートより前の手順が not_executed の間は拒否されます。実行したことを示す acknowledge_not_executed=True を指定する必要があります |
rollback | Pilot が成功として記録した手順を明示的に、ベストエフォートで元に戻します。自動では実行されません。confirm=True が指定されない限り、プレビュー(blast_radius)を表示します |
cancel_workflow | ワークフローをキャンセルし、終端状態の CANCELLED に移行します。confirm=True が指定されない限り、プレビュー(blast_radius)を表示します |
組み込みテンプレート(15)
n は VM(またはドリフト項目)の数です。範囲は、設定されているオプションパラメーターによって異なります。
clone_and_test には snapshot_name(複製元のスナップショット)が必要です。ステージング環境のサイズ変更は
電源オフの状態で行われ、change_spec がゲストコマンドの場合は、ステージング環境で実行する前の追加ゲートを含めて
8 つのステップになります。investigate_alert の承認は統合チェックポイントであり、すべてのステップは読み取りです。
パラメーターとステップについては、skills/vmware-pilot/references/templates.md を参照してください。
| テンプレート | ステップ | 承認 | 使用するスキル |
|---|---|---|---|
clone_and_test | 7-8 | はい | aiops, monitor |
incident_response | 4 | はい | monitor, aiops |
investigate_alert | 4(deep_dive ありの場合は 8) | はい | monitor, aria |
plan_and_approve | 3 | はい | aiops |
compliance_scan | 1-3 | いいえ | monitor, aria |
network_segment_setup | 3-6 | はい | nsx, nsx-security |
vks_cluster_deploy | 5 | はい | vks |
rolling_restart | 2+3n | はい | aiops, monitor |
capacity_expansion | 5 | はい | aria, aiops, monitor |
disaster_recovery | 5 | はい | aiops, monitor, nsx |
patch_deployment | 1+3n | はい | aiops, monitor |
storage_expansion | 6 | はい | storage |
baseline_capture | 1-5 | いいえ | monitor, nsx, storage |
baseline_audit | 1-5 | いいえ | monitor, nsx, storage, aria |
baseline_remediate | 3+n | はい | varies |
2.0 へのアップグレード
2.0 では MCP ツールの名前が 1 つ変更されています。plan_workflow → create_workflow_from_template です。このツールは常にテンプレートからワークフローを作成して保存していました(ドライランではなく、書き込みを行います)。新しい名前はその動作を示すとともに、独自のステップリストを保存する create_workflow と区別できます。パラメーターと結果に変更はなく、CLI コマンドも同じです。スキルカタログでも vmware-vks の名前変更(get_supervisor_kubeconfig → issue_supervisor_kubeconfig、get_tkc_kubeconfig → issue_tkc_kubeconfig)に合わせています。以前の名前で保存されたワークフローは、読み込み時に変換されます。エージェントのプロンプト、スクリプト、または ~/.vmware/rules.yaml で plan_workflow を指定している場合は、更新してください。vmware-policy ≥ 1.19.0 が必要です。詳細:RELEASE_NOTES.md。
MCP の設定
{
"mcpServers": {
"vmware-pilot": {
"command": "vmware-pilot",
"args": ["mcp"]
}
}
}
フォールバック:
{"command": "uvx", "args": ["--from", "vmware-pilot", "vmware-pilot-mcp"]}も引き続き 使用できますが、uvxは起動のたびに PyPI を再確認するため、TLS を検査する 企業プロキシ経由では失敗します(invalid peer certificate: UnknownIssuer)。上記のインストール済みエントリーポイントは ネットワークに一切アクセスしません。uvxを使用する必要がある場合は、UV_NATIVE_TLS=trueを設定してください。
Pilot がステップを自ら実行する:--dispatch
デフォルトでは Pilot は何も実行しません。run_workflow は各ステップを pending_dispatch で返し、エージェントが実行します。
--dispatch を追加する(または VMWARE_PILOT_DISPATCH=stdio を設定する)と、Pilot は各ステップをそのスキル専用の MCP
サーバー(vmware-<skill>-mcp。インストールが必要です)で自ら実行するため、スキルのポリシールール、確認ゲート、監査が
通常どおり適用されます。承認ゲート以降の処理は、approve の前には実行されず、ワークフローは completed に到達します。
{"mcpServers": {"vmware-pilot": {"command": "vmware-pilot", "args": ["mcp", "--dispatch"]}}}
stdio のみ:Pilot は --dispatch と --transport https/http の併用では起動を拒否します(起動するスキルサーバーには
呼び出し元の ID が渡らず、ロールを適用できないためです)。ステップの所要時間が VMWARE_PILOT_DISPATCH_TIMEOUT
秒(デフォルトは 1800 秒)を超えると、ステップは interrupted として記録されます。効果は不明であり、ロールバックは確認が
済むまで保留されます。run_workflow と approve の実行時間は、実行するステップの所要時間に応じます。MCP クライアントの
ツールタイムアウトは、最長のステップより長く設定してください。呼び出しがタイムアウトしても、Pilot は処理を続行し、ステップが
終了するまではほかの応答を返しません。その後、get_workflow_status に結果が表示されます。これらのステップは自分で実行しないでください。
リモートアクセス(HTTPS)とツールの制限
デフォルトでは、vmware-pilot mcp は stdio で 1 つのローカルクライアントと通信し、すべてのツールを提供します。次の 2 つのオプションで動作を変更できます
(vmware-policy ≥ 1.21.0)。
HTTPS で提供すると、別のマシンにあるクライアントが接続できます。すべての呼び出し元にベアラートークンが必要です。
vmware-audit token create alice # prints the token once; give it to alice
vmware-audit token list # names only
vmware-audit token revoke alice # refused from its next request, no restart
vmware-pilot mcp --transport https --host 0.0.0.0 --port 8443 \
--cert /etc/vmware-mcp/server.pem --key /etc/vmware-mcp/server-key.pem \
--public-name mcp.example.com
クライアントを接続します(Claude Code の例です。streamable HTTP とカスタムヘッダーに対応する MCP クライアントならどれでも使用できます)。
claude mcp add --transport http vmware-pilot https://mcp.example.com:8443/mcp \
--header "Authorization: Bearer $VMWARE_MCP_TOKEN"
{
"mcpServers": {
"vmware-pilot": {
"type": "http",
"url": "https://mcp.example.com:8443/mcp",
"headers": { "Authorization": "Bearer ${VMWARE_MCP_TOKEN}" }
}
}
}
- トークンがないとサーバーは起動しません。また、
--public-name以外の Host/Origin 値を拒否し、認証されていないリクエストが 401 になることをバインド前に確認します。これらの名前について、クライアントが信頼する証明書を使用してください。 - 同じマシン上の TLS 終端リバースプロキシの背後で実行する場合は、
--transport http --host 127.0.0.1 --public-name mcp.example.comを使用し、Authorizationヘッダーを通過させてください。 - 別のマシン上のロードバランサーまたはゲートウェイの背後で実行する場合は、
--transport httpsを維持してください(自己署名証明書でも構いません)。ロードバランサーがHostとして送信するホスト名を--public-nameに指定し、Authorizationを転送するよう設定してください。 ヘルスチェックには、トークン不要で{"status": "ok"}のみを返すGET /healthzを使用できます (vmware-policy ≥ 1.23.0)。 - 各リクエストに
traceparentまたはX-Request-IDを付けると、監査ログの行に保存されます。vmware-audit log --correlation-id IDを実行すると、1 つのプラットフォームリクエストに関連する呼び出しを検索できます。 - 監査ログでは、各呼び出し元が
token:<name>として記録されます。異なるターゲットを指定する呼び出しは並行して実行されます。ターゲットを指定しない呼び出しは一度に 1 つずつ実行されるため、複数人でサーバーを共有する場合はターゲットを指定してください。 - エンドポイントに接続できる人は誰でも、このサーバーのアカウントで操作できます。 トークンは呼び出し元を識別しますが、プラットフォーム上の権限を付与するものではありません。権限レベルごとにエンドポイントを 1 つ実行してください。
- 1 つのエンドポイントを複数の人やロールで共有する場合:
vmware-audit roles enableを 1 回実行してから、各トークンにロールを割り当てます(vmware-audit token create NAME --role readerを実行するか、ツールとターゲットを指定したroles.yamlのロールを使用します。vmware-policy ≥ 1.24.0)。ロールは、このエンドポイントでトークンが呼び出せる対象を制限します。アカウントが持つ権限を超える権限を付与することはできません。vmware-policy の README の「ネットワーク呼び出し元のロール」を参照してください。
読み取りツールと、選択した書き込みツールのみを提供します:
vmware-pilot mcp --expose read --allow-write cancel_workflow
# or: VMWARE_PILOT_MCP_EXPOSE=read VMWARE_PILOT_MCP_ALLOW_WRITE=cancel_workflow vmware-pilot mcp
提供対象外のツールは、クライアントのツール一覧に表示されません。不正な値や不明な書き込みツールを指定すると、サーバーは停止します(終了コード 2)。これはクライアントに提供するツールを制限するものであり、認可ではありません。そのため、アカウント自体には最小権限を設定してください。
詳細:skills/vmware-pilot/references/setup-guide.md(「HTTPS での MCP の提供」、「提供するツールの制限」)。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。