mcpField
V
VMware Pilot

VMware Pilot

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

VMware Pilot について

VMware Pilotは、VMware MCP skillsを使うチーム向けに、複数ステップのVMware操作を設計・調整するMCPサーバーです。ワークフロー状態、承認ゲート、監査記録、明示的なベストエフォートのロールバックを備え、実行はエージェントに任せるか、関連するskillサーバーへ委任できます。

主な機能

  1. 01目標からワークフローを作成・レビュー
  2. 0215種類の組み込みテンプレート
  3. 03承認ゲートで実行を一時停止
  4. 04状態、差分、監査記録の追跡
  5. 05プレビュー後に明示的なロールバック
  6. 06skillサーバー経由の任意実行

活用シーン

  1. 01実行前のVMware変更計画
  2. 02破壊的な手順前の承認
  3. 03VMware skillsをまたぐインシデント対応
  4. 04実行結果の確認と記録済み手順の取り消し

MCP 対応

stdioまたはHTTPでMCPサーバーとして動作し、13のワークフローツールを提供します。stdioでdispatchを有効にすると、対応するVMware skill MCPサーバーを通じて手順を実行できます。

設定

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

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

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

パッケージ
pypivmware-pilot2.4.0

ツール

13

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
namestringはいワークフロー名(workflow_type として使用)。
stepsarrayはい各辞書に action/skill/tool/params を含むステップ辞書のリスト。
descriptionstringはい人が読める説明。
save_as_templatebooleanいいえTrue の場合、再利用できるよう YAML として ~/.vmware/workflows/ に保存します。名前が組み込みテンプレートの名前と同じ場合、保存されたテンプレートが組み込みテンプレートを置き換えるため拒否されます。

詳細

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 つのサーバーを複数のクライアントで再利用できます。