
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
概览
面向 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。
安装
在 SourceWeft 中
- 打开 控制台中的 VMware Private AI (GPU & Model Serving),将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
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 inskills/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)
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
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
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
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
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
- vmware-aiops — the vCenter VMs behind AI workloads (power/snapshot/clone/migrate)
- vmware-vks — GPU-enabled Tanzu Kubernetes
- vmware-monitor — read-only vSphere health
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:
Connect a client (Claude Code shown; any MCP client that supports streamable HTTP and custom headers works):
- 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.comand pass theAuthorizationheader through. - Behind a load balancer or gateway on another machine, keep
--transport https(a self-signed certificate is fine), list in--public-namethe host name the balancer sends asHost, and have it forwardAuthorization. Its health probe can useGET /healthz, which needs no token and returns only{"status": "ok"}(vmware-policy ≥ 1.23.0). - Send
traceparentorX-Request-IDwith each request to have it stored on the audit row;vmware-audit log --correlation-id IDthen finds the calls behind one platform request. - Tools that read or write files on this server (here:
verify_pais_bundlemanifests) never touch its configuration, tokens, audit log or TLS key, and over the network they are off unlessVMWARE_MCP_FILE_ROOTnames 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 toVMWARE_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-infoshows which account that is and what it may do. - Several people or roles on one endpoint: run
vmware-audit roles enableonce, then give each token a role (vmware-audit token create NAME --role reader, or a role inroles.yamlnaming 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:
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版本历史
10- v2.4.2最新Oct 19, 2026
- v2.4.0Oct 16, 2026
- v2.3.2Oct 16, 2026
- v2.3.1Oct 16, 2026
- v2.3.0Oct 15, 2026
- v2.1.0Oct 15, 2026
- v2.0.0Oct 14, 2026
- v1.4.0Sep 20, 2026
- v1.3.0Sep 19, 2026
- v1.2.3Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Model 集成

model.tools — Zero-Auth Agent Utilities
tools.model官方发布者
零认证远程工具服务器,为智能体提供一次性邮箱验证码读取、持久检查点、Webhook 收件箱、定时唤醒、任务回执与网页转 Markdown。
NLP.COM.AI Open Model Catalog
ai.com.nlp官方发布者
搜索精选的开放权重AI模型发布、许可证、架构和原始来源。AI 翻译

Hologram Model Hub
foundation.uor.hub官方发布者
一个远程 MCP 服务器,让助手搜索开放模型索引,并获取带 SHA-256 校验值的下载链接。

ModelLens
由 GitHub 账号 Greatbeing 发布
探测兼容 OpenAI 的模型网关,按实测延迟与成功率给模型排名,并推荐该用哪个模型。

Bedrock Multi-Model
由 GitHub 账号 Sagargupta16 发布
本地 MCP 服务器,把 AWS Bedrock 的文本、图像、视频和嵌入模型封装成九个工具,让助手可以提问、对比和评审模型。