Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

VMware Private AI (GPU & Model Serving)

PYPI · VMWARE-PRIVATEAI

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

Available components

+15 this week 70 Trust /100

Last scanned (22 hours ago)

Scores higher than 65% of PyPI servers

Category Cloud Infrastructure

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 3 of 40 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 16 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability68
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3365 tokens (~186/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability check failed: the tool surface changed between 1.4.0 and 2.4.2: 17 tool removals, 0 breaking changes, 18 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Nov 26 +15
    • Malware scan: unverified → pass ▲ security
  • 1 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
    • Package version: 2.0.0 → 2.4.2 functional
  • 31 Oct 26 0
    • Provenance: unverified → fail ▼ security
  • 30 Oct 26 0
    • Provenance: fail → unverified ▼ security
    • Package version: 2.0.0 → 2.4.2 functional
  • 29 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 28 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
    • Package version: 2.0.0 → 2.4.2 functional
  • 26 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 20 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed pypi/vmware-privateai@2.4.2

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 40 packages
Packages resolved 40
Stale 3
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 18 exposed · ~3,139 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
advise_pais_sizing ~262

[READ] Estimate GPU memory / GPU count / storage to serve an LLM of a given size. A transparent PLANNING heuristic (no connection): give a model name containing the size ("llama-70b") or model_billions (70). Returns weights_gib, serving_vram_gib, a per-GPU-model count table (L4/A100/L40S/H100/H200), model-on-disk GiB, and — importantly — that LLM inference is compute/HBM-bound so random IOPS is the wrong axis for the weights. Not authoritative; confirm against the model card and a real vLLM benchmark.

NameTypeReqDescription
kv_overheadnumber–Multiplier for KV cache + activations (default 1.3; raise to 1.5-2.0 for long context / high QPS).
model––Model name containing the size, e.g. "llama-3-70b" or "27B".
model_billions––Parameter count in billions (e.g. 70). Overrides `model`.
precisionstring–fp16 | bf16 | fp8 | int8 | int4 (default fp16).

No output schema declared.

No examples provided.

assign_vgpu ~274

[WRITE] Set a VM's vGPU profile (e.g. "grid_a100-4c"). Requires the VM to be powered OFF. A bare 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, other passthrough devices left untouched, power state, blockers, unmeasured — and changes nothing. confirm=True applies it, but refuses a running or suspended VM (power it off via vmware-aiops first), a name shared by several VMs, and a VM whose power state or devices cannot be read. This tool never powers the VM off itself. Show blast_radius to the user and wait for their decision. Do not set confirm=True on your own because the user asked for this earlier: they have not seen the blast radius yet. Audited.

NameTypeReqDescription
confirmboolean–False (default) returns the blast radius and changes nothing. True applies it (the VM must be powered off).
profilestringyesThe target vGPU profile name (from get_gpu_host).
target––vCenter/ESXi target from config.yaml; omit to use the default.
vm_namestringyesThe VM to reconfigure (from list_gpu_consumers).

No output schema declared.

No examples provided.

check_gpu_host_readiness ~202

[READ] Report whether each GPU host is actually configured to serve vGPU / PAIS. Each item has host, vgpu_ready (verdict), gpu_count, vendors, total_gpu_memory_mb, default_graphics_type (must be 'sharedDirect' for vGPU), vgpu_profiles_offered, active_vgpu_vms, and blocking_reasons explaining any "not ready". The NVIDIA driver / MFT VIB version and MIG geometry are NOT in the vSphere API — every item carries a driver_note pointing to nvidia-smi / esxcli. Only hosts that have a GPU are returned. Paginated.

NameTypeReqDescription
host––Substring-match the host name (scopes the per-host profile query).
limitinteger–Page size (default 50).
offsetinteger–Page offset.
target––vCenter/ESXi target from config.yaml; omit to use the default.

No output schema declared.

No examples provided.

get_access_info ~253

[READ] Which account this server uses, and whether it holds each tool's vSphere privileges. Use this when a tool fails with NoPermission, or before assign_vgpu, to check what the configured account may do. Asks vCenter/ESXi about the current session (needs only System.View, so any account can ask about itself). Returns target, account, the privilege states, and for one tool its requires/verdict/meaning; without tool, every tool grouped by verdict. Gotchas: privileges are checked on the root folder only, and not_granted_at_root is NOT "no access" — it may be granted on a specific cluster, host or VM. undetermined means vCenter did not answer; never read it as granted. PAIS tools use a bearer token, not vSphere, so they show as needing no vSphere privilege; assign_vgpu's entry includes the device-change and resource-change privileges it needs.

NameTypeReqDescription
target––vCenter/ESXi target from config.yaml; omit to use the default.
tool––One tool name on this server, e.g. "assign_vgpu". Omit to summarize every tool.

No output schema declared.

No examples provided.

get_gpu_host ~100

[READ] Full GPU detail for one host by name — every GPU's device, type, memory, consumers. A wrong host name returns a teaching error listing hosts that do have GPUs, not a traceback. Use list_gpu_hosts to discover host names.

NameTypeReqDescription
host_namestringyesThe ESXi host name (from list_gpu_hosts).
target––vCenter/ESXi target from config.yaml; omit to use the default.

No output schema declared.

No examples provided.

get_gpu_utilization ~172

[READ] Real-time GPU utilization per vGPU VM (busiest first) — gpu_pct, mem_pct, temp_c. Each item has vm, profile, gpu_pct, mem_pct, mem_used_kb, temp_c, metrics_available, idle. Requires the NVIDIA host GPU driver — a VM with no samples shows metrics_available=false (not an error). Deep per-SM/MIG-slice metrics are not available via vSphere (need DCGM).

NameTypeReqDescription
limitinteger–Page size (default 50).
offsetinteger–Page offset.
target––vCenter/ESXi target from config.yaml; omit to use the default.
top––Keep only the N busiest VMs by GPU utilization.
vm––Substring-match the VM name.

No output schema declared.

No examples provided.

get_pais_model_catalog ~155

[READ] List the PAIS model CATALOG — models available/approved to deploy (not the served set). Answers "which models are approved / what can I install in-house" (the air-gapped model question). Each item has id, name, status, source. Distinct from list_pais_models (which lists what is already SERVED). Path is INFERRED — a 404 returns a base-URL teaching message, not a bug. Needs the PAIS endpoint + VMWARE_PRIVATEAI_PAIS_TOKEN.

NameTypeReqDescription
limitinteger–Page size (default 50).
name––Substring-match the model id/name.
offsetinteger–Page offset.

No output schema declared.

No examples provided.

get_pais_monitoring_summary ~211

[READ] Fleet GPU monitoring rollup for VCF Ops dashboards — utilisation, hot/idle, busiest. Aggregates the per-VM vGPU perf counters into one estate summary: vgpu_vms, reporting_vms, idle_vms, hot_vms, gpu_pct/mem_pct avg+max, temp_c_max, a per-profile tally, and the busiest `top` VMs. This is the vCenter-perf-counter view (not PAIS REST) — deep per-SM/MIG/power telemetry needs NVIDIA DCGM and is out of scope (scope_note says so). Requires a vCenter connection and the NVIDIA host driver.

NameTypeReqDescription
hot_pctnumber–gpu_pct at/above which a VM is counted "hot" (default 90).
target––vCenter/ESXi target from config.yaml; omit to use the default.
topinteger–How many busiest VMs to include (default 5).

No output schema declared.

No examples provided.

list_directpath_profiles ~155

[READ] List vCenter-level DirectPath (dynamic passthrough) profiles. vSphere 9.0+. Each item has id, name, vendor, description. On a vCenter older than 9.0 (no DirectPathProfileManager) this returns a teaching error routing you to list_vgpu_profiles, rather than an empty list that would read as "no profiles". Paginated envelope.

NameTypeReqDescription
limitinteger–Page size (default 50).
name––Substring-match the profile name.
offsetinteger–Page offset.
target––vCenter target from config.yaml; omit to use the default.
vendor––Substring-match the vendor name.

No output schema declared.

No examples provided.

list_gpu_consumers ~147

[READ] List VMs consuming a vGPU and the profile each holds (e.g. "grid_a100-4c"). Each item has vm and profile. This is the "who holds the GPU" view — pair it with vmware-aiops to power a VM off, or with a future vgpu assignment tool. Paginated.

NameTypeReqDescription
limitinteger–Page size (default 50).
offsetinteger–Page offset.
profile––Substring-match the vGPU profile name.
target––vCenter/ESXi target from config.yaml; omit to use the default.
vm––Substring-match the VM name.

No output schema declared.

No examples provided.

list_gpu_devices ~139

[READ] List physical GPU devices across all hosts (flattened), filtered by host / vendor. Each item has host, device, type, vendor, pci_id, memory_mb, vm_count. Use this to find idle GPUs (vm_count 0) or to inventory a model across the estate. Paginated envelope.

NameTypeReqDescription
host––Substring-match the host name.
limitinteger–Page size (default 50).
offsetinteger–Page offset.
target––vCenter/ESXi target from config.yaml; omit to use the default.
vendor––Substring-match the GPU vendor.

No output schema declared.

No examples provided.

list_gpu_hosts ~168

[READ] List ESXi hosts that have at least one GPU, filtered by host name / GPU vendor. Returns a {items, returned, limit, total, truncated, hint} envelope; each item has host, gpu_count, vendors, vgpu_vms (VMs currently backed by a vGPU on that host). Use get_gpu_host for full per-GPU detail of one host. Requires a valid vCenter connection.

NameTypeReqDescription
limitinteger–Page size (default 50).
name––Substring-match the host name.
offsetinteger–Page offset.
target––vCenter/ESXi target from config.yaml; omit to use the default.
vendor––Substring-match the GPU vendor (e.g. "NVIDIA").

No output schema declared.

No examples provided.

list_pais_data_sources ~128

[READ] List PAIS RAG data sources (ingest connectors that feed knowledge bases). Each item has id, name, type, status. Pair with list_pais_knowledge_bases to see the RAG pipeline. Path is INFERRED — a 404 prompts a base-URL check, not a bug. Needs the PAIS endpoint + VMWARE_PRIVATEAI_PAIS_TOKEN.

NameTypeReqDescription
limitinteger–Page size (default 50).
name––Substring-match the data-source name/id.
offsetinteger–Page offset.

No output schema declared.

No examples provided.

list_pais_knowledge_bases ~116

[READ] List Private AI Service knowledge bases (RAG vector stores). Each item has id, name, status, description. Same PAIS endpoint + bearer token as list_pais_models. Paginated envelope; an empty items with truncated=false means the endpoint has no knowledge bases (checked-and-none), not a failure.

NameTypeReqDescription
limitinteger–Page size (default 50).
name––Substring-match the knowledge-base name or id.
offsetinteger–Page offset.

No output schema declared.

No examples provided.

list_pais_models ~122

[READ] List models served by Private AI Service (OpenAI-compatible /models). Returns a {items, returned, limit, total, truncated, hint} envelope; each item has id, owned_by, created. Needs a 'pais:' endpoint in config.yaml and a bearer token in VMWARE_PRIVATEAI_PAIS_TOKEN — a missing one returns a teaching error, not a traceback.

NameTypeReqDescription
limitinteger–Page size (default 50).
name––Substring-match the model id.
offsetinteger–Page offset.

No output schema declared.

No examples provided.

list_vgpu_profiles ~197

[READ] List the available vGPU profile catalog (what profiles a host can hand a VM). Returns a {items, returned, limit, total, truncated, hint} envelope; each item is a distinct profile with framebuffer_gib, profile_class, sharing, vendor_id, and the hosts that offer it (hosts / host_count). Pair with assign_vgpu to set a VM's profile. Scope to one host with `host` — this polls QueryConfigTarget per host. Requires a valid vCenter connection.

NameTypeReqDescription
host––Substring-match the host name (also scopes the per-host polling).
limitinteger–Page size (default 50).
model––Substring-match the profile / model name (e.g. "a100").
offsetinteger–Page offset.
target––vCenter/ESXi target from config.yaml; omit to use the default.

No output schema declared.

No examples provided.

validate_vgpu_profile ~185

[READ] Pre-flight a vGPU profile change: would setting vm_name to target_profile succeed? Read-only companion to assign_vgpu (no reconfigure). Returns can_apply plus blocking_reasons, the current→target profile, power_state (must be off), and whether the VM's OWN host offers the target profile (with its framebuffer). Use this before assign_vgpu to see exactly what would block the change — the two ReconfigVM failure modes are "VM powered on" and "host does not offer this profile".

NameTypeReqDescription
target––vCenter/ESXi target from config.yaml; omit to use the default.
target_profilestringyesThe profile you intend to set (from list_vgpu_profiles / get_gpu_host).
vm_namestringyesThe VM whose vGPU profile would change (from list_gpu_consumers).

No output schema declared.

No examples provided.

verify_pais_bundle ~153

[READ] Parse a LOCAL pais.yml / bundle manifest and list the images to mirror for air-gap. Reads the file you point it at (no network, no registry pull), enumerates every container image reference, and flags the two things that break an air-gapped install: images on PUBLIC registries (must be mirrored inside the enclave) and images with a mutable tag / no digest. Returns images (registry/repository/tag/digest), registries_to_mirror, and warnings. A wrong path returns a teaching error. It does NOT verify the images are actually pullable.

NameTypeReqDescription
manifest_pathstringyesPath to a local pais.yml / bundle manifest (from the Broadcom portal).

No output schema declared.

No examples provided.

Install

How do I install the VMware Private AI (GPU & Model Serving) MCP server?

VMware Private AI (GPU & Model Serving) runs locally as a PyPI package, launched with uvx vmware-privateai. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · vmware-privateai

# add to Claude Code
claude mcp add vmware-skills-vmware-privateai -- uvx vmware-privateai
Common questions

What is the VMware Private AI (GPU & Model Serving) MCP server?

VMware Private AI (GPU & Model Serving) is an MCP server listed in the public MCP registry as io.github.vmware-skills/vmware-privateai. VMware Private AI (NVIDIA): GPU inventory, vGPU profiles, utilization, model serving, 18 tools. This page covers its PyPI package (vmware-privateai).

Is the VMware Private AI (GPU & Model Serving) MCP server safe to use?

VMware Private AI (GPU & Model Serving) scores 70 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the VMware Private AI (GPU & Model Serving) MCP server expose?

VMware Private AI (GPU & Model Serving) exposes 18 tools: get_access_info, advise_pais_sizing, verify_pais_bundle, list_gpu_hosts, get_gpu_host, and 13 more. Their descriptions and schemas cost roughly 3,139 tokens of context every time the server is loaded.

Is the VMware Private AI (GPU & Model Serving) MCP server still maintained?

VMware Private AI (GPU & Model Serving) is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the VMware Private AI (GPU & Model Serving) MCP server under?

VMware Private AI (GPU & Model Serving) declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.