mcpField
V
VMware Pilot

VMware Pilot

ローカル
github.com/zw008クラウド・インフラ45 日前に更新

VMware Pilot について

VMware Pilot は、段階的な実行と人による承認が必要な運用チーム向けに、複数の VMware MCP スキルのワークフローを調整します。ステートマシン、監査記録、明示的なロールバックに加え、組み込みテンプレートと独自ステップを備えます。

主な機能

  1. 01複数ステップのワークフロー設計、レビュー、実行
  2. 02ステップ間に承認ゲートを設定
  3. 03状態、差分レポート、監査記録の確認
  4. 04組み込みテンプレートと独自ステップの利用
  5. 05成功記録のあるステップを明示的にロールバック

活用シーン

  1. 01承認後に VMware の変更手順を実行
  2. 02アラート調査とインシデント対応を調整
  3. 03テンプレートでデプロイ、拡張、基準監査を実施

MCP 対応

スキルの確認、ワークフロー設計と管理、ステップ実行、承認、ロールバックを行う MCP ツールを 13 個提供します。通常、保留中のステップはエージェントが実行し、dispatch を有効にすると対応するスキルの MCP サーバー経由で Pilot が実行できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"zw008-vmware-pilot": {
"command": "uvx",
"args": [
"vmware-pilot"
]
}
}
}
起動コマンドuvx vmware-pilot

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypivmware-pilot1.8.7

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

VMware Pilot

Author:Wei Zhou, VMware by Broadcom — [email protected] VMware のエンジニアによるコミュニティ主導のプロジェクトであり、VMware の公式製品ではありません。 VMware の公式開発者ツールについては、developer.broadcom.comをご覧ください。

英語 | 中文

VMware MCP スキル向けの複数ステップのワークフローオーケストレーション — 状態マシン、承認ゲート、監査証跡。

その他の機能は、連携スキルが担当します。

スキル対象範囲インストール
vmware-aiopsVM のライフサイクル、デプロイ、ゲスト操作、クラスターuv tool install vmware-aiops
vmware-monitor読み取り専用:インベントリ、健全性、アラーム、イベントuv tool install vmware-monitor
vmware-storageデータストア、iSCSI、vSAN の管理uv tool install vmware-storage
vmware-vksTanzu Namespaces、TKC クラスターのライフサイクルuv tool install vmware-vks
vmware-nsxNSX ネットワーキング:セグメント、ゲートウェイ、NATuv tool install vmware-nsx-mgmt
vmware-nsx-securityDFW ファイアウォールルール、セキュリティグループuv tool install vmware-nsx-security
vmware-ariaAria Ops:メトリクス、アラート、キャパシティuv tool install vmware-aria
vmware-aviAVI の負荷分散、プール管理、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 を指定する必要があります
rollbackPilot が成功として記録した手順を明示的に、ベストエフォートで元に戻します。自動では実行されません。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_test7-8はいaiops, monitor
incident_response4はいmonitor, aiops
investigate_alert4(deep_dive ありの場合は 8)はいmonitor, aria
plan_and_approve3はいaiops
compliance_scan1-3いいえmonitor, aria
network_segment_setup3-6はいnsx, nsx-security
vks_cluster_deploy5はいvks
rolling_restart2+3nはいaiops, monitor
capacity_expansion5はいaria, aiops, monitor
disaster_recovery5はいaiops, monitor, nsx
patch_deployment1+3nはいaiops, monitor
storage_expansion6はいstorage
baseline_capture1-5いいえmonitor, nsx, storage
baseline_audit1-5いいえmonitor, nsx, storage, aria
baseline_remediate3+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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。