VMware Private AI (GPU & Model Serving)

io.github.vmware-skills由 GitHub 帳號 vmware-skills 發布v2.4.2更新於 Nov 2, 2026

VMware Private AI (NVIDIA): GPU inventory, vGPU profiles, utilization, model serving — 18 tools

發布方自己的服務:model.tools — Zero-Auth Agent Utilities

概覽

AI 產生的概覽

以唯讀為主的 VMware Private AI MCP 伺服器與 CLI:檢視 GPU 主機、vGPU 設定檔與使用率,以及 Private AI Service 提供的模型。

可以做什麼
  • 列出 GPU 主機、GPU 裝置與 vGPU 使用方,並查看主機詳細資料
  • 查看即時 GPU 使用率、記憶體與溫度,以及各主機的 vGPU/PAIS 就緒狀態
  • 瀏覽 vGPU 與 DirectPath 設定檔目錄,並在變更前做唯讀預檢
  • 設定虛擬機的 vGPU 設定檔(唯一的寫入工具,需關機並寫入稽核紀錄)
  • 檢視 Private AI Service 的已服務模型、模型目錄、知識庫與資料來源
  • 提供 LLM 的 GPU/儲存容量建議,並驗證本機 PAIS 套件清單
適用情境
適合需要讓助理分析 vSphere/VCF 上 GPU 容量與 AI 基礎設施的情況:尋找閒置 GPU、查看誰佔用了 vGPU、掃描整體使用率,或了解 Private AI Service 正在提供哪些模型。也適用於不需連線的容量估算與離線套件驗證。
執行需求
以 Python 套件在本機執行,透過 uv tool install 安裝(uvx/stdio)。需要 vSphere 9.x / VCF 9.1 目標與 vCenter 服務帳號;設定寫在設定檔中,密碼與 PAIS bearer token 存放在本機 .env 檔案。選用的 HTTPS 傳輸需要 TLS 憑證與 bearer token。
安裝前請注意
唯一的寫入工具 assign_vgpu 會變更虛擬機的 vGPU 設定檔;預設只預覽影響範圍、拒絕已開機的虛擬機並寫入稽核,但仍會改動基礎設施。憑證與 PAIS token 保存在本機 .env。讀寫權限取決於 vCenter 帳號的 RBAC 角色,經 HTTPS 連線時所有呼叫者都以該帳號的權限行事。專案為 beta,部分 PAIS 路徑與欄位名稱尚未驗證。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 VMware Private AI (GPU & Model Serving),將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

VMware Private AI (Foundation with NVIDIA) — GPU & Model-Serving Ops

For a read-only check of this skill with your model and agent host, use the shared model-fit self-test in the marketplace root.

The GPU / AI-infrastructure lens of the VMware skill family — GPU host and device inventory, vGPU consumers, live GPU utilization, the vGPU / DirectPath profile catalog, vGPU assignment, and the models and knowledge bases served by Private AI Service (PAIS) — over the vSphere 9.x / VCF 9.1 Web Services API (pyVmomi) and the PAIS REST API. MCP server + CLI.

Disclaimer: This is a community-maintained open-source project and is not affiliated with, endorsed by, or sponsored by VMware, Inc., Broadcom Inc., or NVIDIA Corporation. "VMware", "vSphere", and "VCF" are trademarks of Broadcom; "NVIDIA" and "vGPU" are trademarks of NVIDIA. Source is auditable at github.com/vmware-skills/VMware-PrivateAI under the MIT license.

Status: beta. Skill #15 of the family, on its own version line. Every API path is verified against official Broadcom/NVIDIA docs before use (see tests/eval/spec/privateai_endpoints.py) — no endpoints written from memory. GET response field names and the exact PAIS paths are defensive and await validation on real 9.x hardware (see the beta caveats in skills/vmware-privateai/SKILL.md). Governed by the family harness (audit + policy + teaching errors); read/write authorization is left to the RBAC role of the vCenter service account.

Upgrading to 2.0

2.0 renamed every MCP tool it had so every name starts with a verb (e.g. directpath_profile_list → list_directpath_profiles, gpu_consumer_list → list_gpu_consumers, gpu_device_list → list_gpu_devices). The full old → new table is in RELEASE_NOTES.md. Nothing else changes: same tools, parameters, safety gates and CLI commands. If an agent prompt, script or ~/.vmware/rules.yaml names a tool, update it — though deny rules written with the old names keep working with vmware-policy ≥ 1.18 (vmware-audit policy lists any rule the renames widened), and vmware-pilot ≥ 1.13 translates old names in saved workflows. If an install older than 2.0 shares that rules.yaml, give it vmware-policy ≥ 1.18.2 too: it matches each rule against both the old and the new name, so one file serves both.

Capabilities (18 MCP tools — 17 read / 1 write)

CategoryToolsRead/Write
GPU inventoryhost list / detail, device list, vGPU consumer list4 read
GPU utilizationlive utilization per vGPU VM (GPU %, memory %, temperature)1 read
GPU readinessper-host vGPU/PAIS readiness verdict + blocking reasons1 read
Profile catalogvGPU profile list, DirectPath profile list2 read
Profile validationread-only pre-check before changing a vGPU profile (power state + whether the host offers it)1 read
vGPU assignmentset a VM's vGPU profile (the VM must be powered off)1 write
Private AI Serviceserved models, model catalog, knowledge bases, data sources4 read
PAIS monitoringcluster GPU summary (utilization/memory/temperature, hot/idle, busiest)1 read
Sizing & air-gapLLM GPU/storage sizing advisor, local pais.yml mirror manifest2 read
Access self-checkwhich account the server uses and whether it holds each tool's vSphere privileges (root folder)1 read

Reads are strictly non-destructive. The one write (assign_vgpu) previews its blast radius, refuses a powered-on VM, never powers a VM off itself, double-confirms on the CLI, and is audited to ~/.vmware/audit.db; pre-check with validate_vgpu_profile first. assign_vgpu takes confirm (default false). Without it the call returns blast_radius — the VM's name and id, current and target profile, whether its vGPU device is edited or a new one added, power state, blockers and unmeasured — and changes nothing. confirm=true is refused for a powered-on or suspended VM, a name shared by several VMs, and a VM whose power state or devices cannot be read. get_pais_model_catalog / list_pais_data_sources use unconfirmed PAIS control-plane paths (pitfall #36: a 404 returns a base-URL teaching hint and is not a bug); advise_pais_sizing / verify_pais_bundle need no connection (pure computation / local file parsing).

Quick Start

bash
uv tool install vmware-privateaivmware-privateai versionvmware-privateai gpu host-list        # first read command — lists the hosts that have GPUs

Configuration lives in ~/.vmware-privateai/config.yaml (targets + an optional pais: section); passwords and the PAIS bearer token live in ~/.vmware-privateai/.env (chmod 600). See skills/vmware-privateai/references/setup-guide.md.

Common Workflows

1. Find an idle GPU and change a VM's vGPU profile

bash
vmware-privateai gpu device-list --vendor NVIDIA   # vm_count 0 = idlevmware-privateai gpu consumer-list                 # who holds a vGPU, with which profilevmware-privateai vgpu profile-list --host esx-07   # profiles this host can assignvmware-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

Failure branch: on "VM is powered on", power it off first with vmware-aiops power_off_vm (CLI: vmware-aiops vm power-off fin-train-01); if the host does not offer the profile or memory is short, check the valid profiles with vmware-privateai gpu host-get <that host>.

2. Fleet-wide GPU utilization sweep

bash
vmware-privateai gpu utilization --top 10

Failure branch: metrics unavailable is not an error — the NVIDIA host GPU driver does not expose that VM's counters. Deeper per-SM / MIG-slice telemetry is not provided by vSphere (it needs NVIDIA DCGM).

3. See what PAIS is serving

bash
vmware-privateai pais model-listvmware-privateai pais kb-list

Failure branch: HTTP 404 is usually a base-URL mismatch (the /api/v1 prefix varies by deployment and is unconfirmed in beta) — check pais.endpoint; HTTP 401/403 means VMWARE_PRIVATEAI_PAIS_TOKEN expired or lacks permission — fetch a new token.

Companion Skills

This skill is the GPU lens over all three.

Security

See SECURITY.md at the repo root. Highlights: credentials only in .env (chmod 600, b64: obfuscation); TLS verification on by default; all vSphere/PAIS text passes vmware_policy.sanitize() against prompt injection; read/write authorization is left to vCenter RBAC; assign_vgpu is power-off gated + double-confirmed + audited.

Remote access (HTTPS) and limiting tools

By default vmware-privateai mcp speaks stdio to one local client and offers every tool. Two options change that (vmware-policy ≥ 1.21.0).

Serve over HTTPS so clients on other machines can connect. Every caller needs a bearer token:

bash
vmware-audit token create alice          # prints the token once; give it to alicevmware-audit token list                  # names onlyvmware-audit token revoke alice          # refused from its next request, no restartvmware-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

Connect a client (Claude Code shown; any MCP client that supports streamable HTTP and custom headers works):

bash
claude mcp add --transport http vmware-privateai https://mcp.example.com:8443/mcp \    --header "Authorization: Bearer $VMWARE_MCP_TOKEN"
json
{  "mcpServers": {    "vmware-privateai": {      "type": "http",      "url": "https://mcp.example.com:8443/mcp",      "headers": { "Authorization": "Bearer ${VMWARE_MCP_TOKEN}" }    }  }}
  • The server will not start without a token, refuses Host/Origin values outside --public-name, and checks before it binds that unauthenticated requests get 401. Use a certificate your clients trust for those names.
  • Behind a TLS-terminating reverse proxy on the same machine use --transport http --host 127.0.0.1 --public-name mcp.example.com and pass the Authorization header through.
  • Behind a load balancer or gateway on another machine, keep --transport https (a self-signed certificate is fine), list in --public-name the host name the balancer sends as Host, and have it forward Authorization. Its health probe can use GET /healthz, which needs no token and returns only {"status": "ok"} (vmware-policy ≥ 1.23.0).
  • Send traceparent or X-Request-ID with each request to have it stored on the audit row; vmware-audit log --correlation-id ID then finds the calls behind one platform request.
  • Tools that read or write files on this server (here: verify_pais_bundle manifests) never touch its configuration, tokens, audit log or TLS key, and over the network they are off unless VMWARE_MCP_FILE_ROOT names a directory for them (vmware-policy ≥ 1.23.1).
  • The audit log records each caller as token:<name>. Calls run side by side, also on the same target: the server keeps up to VMWARE_MCP_POOL_SIZE (default 2) sessions per target, each one a login on that target, and a call waits at most 300 s for a free session (vmware-policy ≥ 1.22.0).
  • Everyone who can reach the endpoint acts with this server's account. Tokens identify callers; they grant nothing on the platform. Run one endpoint per privilege level. vmware-privateai access-info shows which account that is and what it may do.
  • Several people or roles on one endpoint: run vmware-audit roles enable once, then give each token a role (vmware-audit token create NAME --role reader, or a role in roles.yaml naming tools and targets; vmware-policy ≥ 1.24.0). A role limits what the token may call on this endpoint; it cannot grant more than the account has. See vmware-policy's README, "Roles for network callers".

Offer only read tools, plus the writes you choose:

bash
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

Tools not offered do not appear in the client's tool list. A bad value or an unknown write tool stops the server (exit 2). This limits what clients are offered; it is not authorization, so the account itself should be least-privilege.

Details: skills/vmware-privateai/references/setup-guide.md ("Serving MCP over HTTPS", "Limiting which tools are offered").

License

MIT

來源:README.md,提交 5c74639

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

10
  1. v2.4.2最新Oct 19, 2026
  2. v2.4.0Oct 16, 2026
  3. v2.3.2Oct 16, 2026
  4. v2.3.1Oct 16, 2026
  5. v2.3.0Oct 15, 2026
  6. v2.1.0Oct 15, 2026
  7. v2.0.0Oct 14, 2026
  8. v1.4.0Sep 20, 2026
  9. v1.3.0Sep 19, 2026
  10. v1.2.3Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Model 整合