VMware Private AI (GPU & Model Serving) について
vSphere 9.x / VCF 9.1 と Private AI Service の GPU 基盤およびモデル提供を運用する、ベータ版 MCP サーバーと CLI です。GPU リソース、vGPU 割り当て、利用状況、PAIS モデルを管理するチーム向けで、唯一の書き込み操作には安全策があります。
主な機能
- 01GPU ホスト、デバイス、利用者の一覧
- 02利用状況と準備状態の確認
- 03vGPU と DirectPath プロファイルの参照
- 04安全策付きの vGPU プロファイル割り当て
- 05PAIS のモデルとナレッジベースの照会
- 06LLM の GPU・ストレージ要件の推定
活用シーン
- 01空き GPU と利用者を確認
- 02ホストの準備状態とプロファイル候補を確認
- 03停止中の VM の vGPU プロファイルを変更
- 04PAIS が提供するモデルとデータソースを確認
MCP 対応
GPU と PAIS の運用向けに18個のツールを公開します。内訳は読み取り専用が17個、保護された vGPU 割り当ての書き込みツールが1個です。ローカルの stdio 接続と認証付き HTTPS に対応し、公開するツールを制限できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
17掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| model | any | いいえ | サイズを含むモデル名です。例:“llama-3-70b” または “27B”。 |
| precision | string | いいえ | fp16 | bf16 | fp8 | int8 | int4(デフォルトは fp16)。 |
| kv_overhead | number | いいえ | KV キャッシュとアクティベーションの乗数です(デフォルトは 1.3。長いコンテキスト/高 QPS の場合は 1.5~2.0 に引き上げてください)。 |
| model_billions | any | いいえ | パラメーター数(単位:10 億、例:70)。`model` より優先されます。 |
詳細
VMware Private AI(NVIDIA搭載基盤)— GPUとモデル提供の運用
VMwareスキルファミリーにおけるGPU/AIインフラストラクチャの観点です。GPUホストとデバイスのインベントリ、vGPUの利用者、 ライブGPU使用率、vGPU/DirectPathプロファイルカタログ、vGPUの割り当て、および**Private AI Service(PAIS)**が提供するモデルとナレッジベースを、 vSphere 9.x/VCF 9.1 Web Services API(pyVmomi)とPAIS REST API経由で扱います。MCP サーバー+CLIです。
免責事項:これはコミュニティが保守するオープンソースプロジェクトであり、VMware, Inc.、Broadcom Inc.、NVIDIA Corporationとは提携しておらず、 これらの企業による承認や支援も受けていません。「VMware」「vSphere」および「VCF」はBroadcomの商標です。 「NVIDIA」および「vGPU」はNVIDIAの商標です。ソースコードは、MITライセンスの下、 github.com/vmware-skills/VMware-PrivateAIで監査できます。
ステータス:ベータ版。スキルファミリーの15番目のスキルで、独自のバージョン系列を持ちます。すべてのAPIパスは、使用前に公式の Broadcom/NVIDIAドキュメントと照合して検証されています(
tests/eval/spec/privateai_endpoints.pyを参照)。記憶に頼って作成したエンドポイントはありません。 GETレスポンスのフィールド名と正確なPAISパスは慎重に扱っており、実際の9.xハードウェアでの検証待ちです (ベータ版の注意事項についてはskills/vmware-privateai/SKILL.mdを参照)。ファミリーハーネス(監査+ポリシー+エラーの解説)が適用されます。読み取り/書き込みの 認可はvCenterサービスアカウントのRBACロールに委ねられています。
2.0へのアップグレード
2.0では、すべてのMCPツール名を動詞で始まる形式に変更しました(例:directpath_profile_list → list_directpath_profiles、gpu_consumer_list → list_gpu_consumers、gpu_device_list → list_gpu_devices)。旧名と新名の完全な対応表は
RELEASE_NOTES.mdにあります。それ以外に変更はありません。ツール、パラメーター、
セーフティゲート、CLIコマンドは従来どおりです。エージェントのプロンプト、スクリプト、または~/.vmware/rules.yamlでツール名を指定している場合は、更新してください。ただし、旧名で記述された拒否
ルールは、vmware-policy ≥ 1.18で引き続き動作します(vmware-audit policyで、名前変更により適用範囲が広がったルールを確認できます)。また、vmware-pilot ≥ 1.13では、保存済みワークフロー内の旧名が変換されます。
2.0より前のバージョンを使用していて、同じrules.yamlを共有する場合は、vmware-policy ≥ 1.18.2もインストールしてください。各ルールを
旧名と新名の両方と照合するため、1つのファイルで両方に対応できます。
機能(MCP ツール 18 種類 — 読み取り 17 種類/書き込み 1 種類)
| カテゴリ | ツール | 読み取り/書き込み |
|---|---|---|
| GPU インベントリ | ホスト一覧/詳細、デバイス一覧、vGPU 使用者一覧 | 読み取り 4 種類 |
| GPU 使用率 | vGPU VM ごとのリアルタイム使用率(GPU %、メモリ %、温度) | 読み取り 1 種類 |
| GPU 準備状況 | ホストごとの vGPU/PAIS 準備状況の判定とブロック理由 | 読み取り 1 種類 |
| プロファイルカタログ | vGPU プロファイル一覧、DirectPath プロファイル一覧 | 読み取り 2 種類 |
| プロファイル検証 | vGPU プロファイル変更前の読み取り専用事前チェック(電源状態と、ホストがそのプロファイルを提供しているかどうか) | 読み取り 1 種類 |
| vGPU 割り当て | VM の vGPU プロファイルを設定(VM の電源をオフにする必要があります) | 書き込み 1 種類 |
| プライベート AI サービス | 提供中のモデル、モデルカタログ、ナレッジベース、データソース | 読み取り 4 種類 |
| PAIS モニタリング | クラスターの GPU 概要(使用率/メモリ/温度、高負荷/アイドル、最も高負荷のもの) | 読み取り 1 種類 |
| サイジングとエアギャップ | LLM の GPU/ストレージサイジングアドバイザー、ローカルの pais.yml ミラーマニフェスト | 読み取り 2 種類 |
| アクセスのセルフチェック | サーバーが使用するアカウントと、各ツールに必要な vSphere 権限を持っているかどうか(ルートフォルダー) | 読み取り 1 種類 |
読み取り操作は厳密に非破壊です。唯一の書き込み操作(assign_vgpu)は、影響範囲を事前に表示し、電源がオンの
VM への操作を拒否し、それ自体で VM の電源をオフにすることはありません。CLI では二重確認を行い、
~/.vmware/audit.db に監査記録を残します。先に validate_vgpu_profile で事前チェックしてください。
assign_vgpu は confirm(デフォルトは false)を受け取ります。これを指定しない場合、呼び出しは
blast_radius(VM の名前と ID、現在および対象のプロファイル、vGPU デバイスを編集するか新規追加するか、
電源状態、blockers、unmeasured)を返し、何も変更しません。confirm=true は、電源オンまたは
サスペンド中の VM、複数の VM で共有されている名前、電源状態またはデバイスを読み取れない VM に対しては拒否されます。
get_pais_model_catalog/list_pais_data_sources は、未確認の PAIS コントロールプレーンパスを使用します(落とし穴 #36:404 が返された場合はベース URL に関するヒントが表示されますが、バグではありません)。advise_pais_sizing/verify_pais_bundle は接続不要です(純粋な計算/ローカルファイルの解析)。
クイックスタート
uv tool install vmware-privateai
vmware-privateai version
vmware-privateai gpu host-list # first read command — lists the hosts that have GPUs
設定は ~/.vmware-privateai/config.yaml(ターゲットと任意の pais: セクション)に保存されます。パスワードと
PAIS ベアラートークンは ~/.vmware-privateai/.env(chmod 600)に保存されます。詳しくは
skills/vmware-privateai/references/setup-guide.md を参照してください。
よく使うワークフロー
1. アイドル状態の GPU を見つけ、VM の vGPU プロファイルを変更する
vmware-privateai gpu device-list --vendor NVIDIA # vm_count 0 = idle
vmware-privateai gpu consumer-list # who holds a vGPU, with which profile
vmware-privateai vgpu profile-list --host esx-07 # profiles this host can assign
vmware-privateai gpu vgpu-assign fin-train-01 grid_a100-4c --dry-run # preview
# power the VM off with vmware-aiops first, then:
vmware-privateai gpu vgpu-assign fin-train-01 grid_a100-4c # double-confirm + audit
失敗時の対処: 「VM is powered on」と表示された場合は、まず vmware-aiops の power_off_vm で電源をオフにします(CLI:
vmware-aiops vm power-off fin-train-01)。ホストがそのプロファイルを提供していない場合、またはメモリが不足している場合は、
vmware-privateai gpu host-get <that host> で有効なプロファイルを確認してください。
2. フリート全体の GPU 使用率を一括確認する
vmware-privateai gpu utilization --top 10
失敗時の対処: metrics unavailable はエラーではありません。NVIDIA ホスト GPU ドライバーが、その VM の
カウンターを公開していないことを示します。より詳細な SM/MIG スライス単位のテレメトリは vSphere では提供されません(NVIDIA DCGM が必要です)。
3. PAIS が提供しているものを確認する
vmware-privateai pais model-list
vmware-privateai pais kb-list
失敗時の対処: HTTP 404 は通常、ベース URL の不一致を示します(/api/v1 プレフィックスはデプロイごとに異なり、ベータ版では未確認です)。pais.endpoint を確認してください。HTTP 401/403 は VMWARE_PRIVATEAI_PAIS_TOKEN の有効期限切れ、または権限不足を示します。新しいトークンを取得してください。
関連スキル
- vmware-aiops — AI ワークロードを支える vCenter VM(電源/スナップショット/クローン/移行)
- vmware-vks — GPU 対応 Tanzu Kubernetes
- vmware-monitor — 読み取り専用の vSphere ヘルスチェック
このスキルは、これら 3 つすべてを GPU の視点から扱います。
セキュリティ
リポジトリのルートにある SECURITY.md を参照してください。主なポイント:認証情報は .env にのみ保存(chmod 600、b64: による難読化);TLS 検証はデフォルトで有効;vSphere/PAIS のテキストはすべてプロンプトインジェクション対策として vmware_policy.sanitize() を通過;読み取り/書き込みの認可は vCenter RBAC に委ねられます;assign_vgpu は電源オフを条件とし、二重確認と監査記録を必須とします。
リモートアクセス(HTTPS)とツールの制限
デフォルトでは、vmware-privateai 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-privateai 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 の例です。ストリーミング可能な HTTP とカスタムヘッダーをサポートする MCP クライアントなら、どれでも使用できます)。
claude mcp add --transport http vmware-privateai https://mcp.example.com:8443/mcp \
--header "Authorization: Bearer $VMWARE_MCP_TOKEN"
{
"mcpServers": {
"vmware-privateai": {
"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 つのプラットフォームリクエストに関連する呼び出しを検索できます。 - このサーバー上のファイルを読み書きするツール(ここでは
verify_pais_bundleのマニフェスト)は、サーバーの設定、トークン、監査ログ、TLS キーにはアクセスしません。また、ネットワーク経由ではVMWARE_MCP_FILE_ROOTでツール用のディレクトリを指定しない限り無効です (vmware-policy ≥ 1.23.1)。 - 監査ログには、各呼び出し元が
token:<name>として記録されます。呼び出しは同時に実行でき、同じターゲットに対しても実行できます。サーバーはターゲットごとに最大VMWARE_MCP_POOL_SIZE(デフォルトは 2)個のセッションを保持し、各セッションはそのターゲットへのログインです。空きセッションができるまで、呼び出しは最大 300 秒待機します(vmware-policy ≥ 1.22.0)。 - エンドポイントに接続できるすべてのユーザーが、このサーバーのアカウント権限で操作します。 トークンは呼び出し元を識別しますが、プラットフォーム上の権限を付与するものではありません。権限レベルごとにエンドポイントを 1 つ実行してください。
vmware-privateai access-infoで、そのアカウントと実行可能な操作を確認できます。 - 1 つのエンドポイントを複数のユーザーやロールで共有する場合:
vmware-audit roles enableを 1 回実行してから、各トークンにロールを割り当てます(vmware-audit token create NAME --role reader、またはツールとターゲットを指定したroles.yaml内のロール。vmware-policy ≥ 1.24.0)。ロールによって、このエンドポイントでトークンが呼び出せるものを制限できますが、アカウントの権限を超える権限は付与できません。vmware-policy の README「Roles for network callers」を参照してください。
読み取りツールと、選択した書き込みツールのみを提供します:
vmware-privateai mcp --expose read --allow-write assign_vgpu
# or: VMWARE_PRIVATEAI_MCP_EXPOSE=read VMWARE_PRIVATEAI_MCP_ALLOW_WRITE=assign_vgpu vmware-privateai mcp
提供対象外のツールは、クライアントのツール一覧に表示されません。不正な値または不明な書き込みツールを指定すると、サーバーは停止します(exit 2)。これはクライアントに提供するツールを制限するものであり、認可ではありません。そのため、アカウント自体にも最小権限を適用してください。
詳細:skills/vmware-privateai/references/setup-guide.md(「Serving MCP over HTTPS」、「Limiting which tools are offered」)。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。