mcpField
V
VMware Private AI (GPU & Model Serving)

VMware Private AI (GPU & Model Serving)

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

VMware Private AI (GPU & Model Serving) について

vSphere 9.x / VCF 9.1 と Private AI Service の GPU 基盤およびモデル提供を運用する、ベータ版 MCP サーバーと CLI です。GPU リソース、vGPU 割り当て、利用状況、PAIS モデルを管理するチーム向けで、唯一の書き込み操作には安全策があります。

主な機能

  1. 01GPU ホスト、デバイス、利用者の一覧
  2. 02利用状況と準備状態の確認
  3. 03vGPU と DirectPath プロファイルの参照
  4. 04安全策付きの vGPU プロファイル割り当て
  5. 05PAIS のモデルとナレッジベースの照会
  6. 06LLM の GPU・ストレージ要件の推定

活用シーン

  1. 01空き GPU と利用者を確認
  2. 02ホストの準備状態とプロファイル候補を確認
  3. 03停止中の VM の vGPU プロファイルを変更
  4. 04PAIS が提供するモデルとデータソースを確認

MCP 対応

GPU と PAIS の運用向けに18個のツールを公開します。内訳は読み取り専用が17個、保護された vGPU 割り当ての書き込みツールが1個です。ローカルの stdio 接続と認証付き HTTPS に対応し、公開するツールを制限できます。

設定

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

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

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

パッケージ
pypivmware-privateai2.4.2

ツール

17

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

パラメーター型必須説明
modelanyいいえサイズを含むモデル名です。例:“llama-3-70b” または “27B”。
precisionstringいいえfp16 | bf16 | fp8 | int8 | int4(デフォルトは fp16)。
kv_overheadnumberいいえKV キャッシュとアクティベーションの乗数です(デフォルトは 1.3。長いコンテキスト/高 QPS の場合は 1.5~2.0 に引き上げてください)。
model_billionsanyいいえパラメーター数(単位: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

コメント

MCP は初めてですか?

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

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