vmware-vks
The vmware-vks server manages VMware vSphere Kubernetes Service (VKS) via 20 tools, covering Supervisor clusters, vSphere Namespaces, and Tanzu Kubernetes Cluster (TKC) lifecycle operations.
Supervisor Management
Check VKS compatibility (vSphere 8.x+) and Workload Management status
Get Supervisor cluster status, API endpoint, and Kubernetes version
List available storage policies
vSphere Namespace Management
List, get, create, update (CPU/memory quotas), and delete namespaces
Deletion is guarded against namespaces containing TKC clusters
List available VM classes for TKC node sizing
TKC Lifecycle
List, get, create, scale (worker nodes), upgrade (K8s version), and delete TKC clusters
Get supported Kubernetes versions for new clusters
Deletion is guarded against running Deployments/StatefulSets
Access & Storage
Retrieve kubeconfig for the Supervisor API endpoint or a specific TKC cluster
Get embedded Harbor registry URL, storage usage, and health status
List PVCs and storage usage per namespace
Safety: Most write operations default to dry-run mode, and destructive operations include guards to prevent accidental data loss.
Retrieves information about the embedded Harbor container registry integrated within the VMware vSphere environment.
Interacts with the Supervisor Kubernetes API to manage Tanzu Kubernetes Clusters (TKC), including creating, scaling, upgrading, and retrieving kubeconfigs for workload clusters.
Provides management tools for VMware vSphere with Tanzu (VKS), enabling control over Supervisor clusters, vSphere Namespaces, and TanzuKubernetesCluster lifecycle operations.
VMware VKS
Author: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com This is a community-driven project by a VMware engineer, not an official VMware product. For official VMware developer tools see developer.broadcom.com.
MCP Skill + CLI for VMware vSphere Kubernetes Service (VKS) management — Supervisor clusters, vSphere Namespaces, and VKS Cluster lifecycle. 20 MCP tools.
Companion Skills
Part of the VMware MCP Skills family. Each skill handles a distinct domain — install only what you need.
Skill | Scope | Tools | Install |
vmware-aiops ⭐ entry point | VM lifecycle, deployment, guest ops, clusters | 31 |
|
Read-only monitoring, alarms, events, VM info | 8 |
| |
Datastores, iSCSI, vSAN | 11 |
| |
NSX networking: segments, gateways, NAT, IPAM | 31 |
| |
DFW microsegmentation, security groups, Traceflow | 20 |
| |
Aria Ops metrics, alerts, capacity planning | 18 |
|
Prerequisites
vSphere 8.0+ — Workload Management (Supervisor) APIs require vSphere 8.x
Workload Management enabled — WCP must be enabled on at least one compute cluster
License — vSphere Kubernetes Service (Enterprise Plus or VMware Cloud Foundation)
Run vmware-vks check after setup to verify all requirements are met.
Quick Start
# Install
uv tool install vmware-vks
# Configure
mkdir -p ~/.vmware-vks
cp config.example.yaml ~/.vmware-vks/config.yaml
# Edit config.yaml with your vCenter host and username
echo "VMWARE_MY_VCENTER_PASSWORD=your_password" > ~/.vmware-vks/.env
chmod 600 ~/.vmware-vks/.env
# Verify
vmware-vks check
# Common operations
vmware-vks supervisor status domain-c1
vmware-vks namespace list
vmware-vks tkc list
vmware-vks tkc create my-cluster -n dev --version v1.28.4+vmware.1 --vm-class best-effort-large
vmware-vks tkc create my-cluster -n dev --applyCommon Workflows
Deploy a New TKC Cluster
Check compatibility →
vmware-vks checkList available K8s versions →
vmware-vks tkc versions -n devCreate namespace (if needed) →
vmware-vks namespace create dev --cluster domain-c1 --storage-policy vSAN --cpu 16000 --memory 32768 --applyCreate TKC cluster →
vmware-vks tkc create dev-cluster -n dev --version v1.28.4+vmware.1 --control-plane 1 --workers 3 --vm-class best-effort-large --applyGet kubeconfig →
vmware-vks kubeconfig get dev-cluster -n dev
Scale Workers for Load Testing
Check current state →
vmware-vks tkc get dev-cluster -n devScale up →
vmware-vks tkc scale dev-cluster -n dev --workers 6Monitor progress →
vmware-vks tkc get dev-cluster -n dev(watch phase)Scale back down after test
Namespace Resource Management
List namespaces →
vmware-vks namespace listCheck usage →
vmware-vks storage -n devUpdate quota →
vmware-vks namespace update dev --cpu 32000 --memory 65536
Tool Reference (20 tools)
Supervisor
Tool | Description | Type |
| vCenter version check + WCP status | Read |
| Supervisor cluster status and K8s API endpoint | Read |
| Available storage policies for Namespaces | Read |
Namespace
Tool | Description | Type |
| All vSphere Namespaces with status | Read |
| Namespace detail (quotas, storage, roles) | Read |
| Create Namespace with dry-run preview | Write |
| Modify quotas and storage policy | Write |
| Delete with TKC guard (rejects if clusters exist) | Write |
| Available VM classes for TKC sizing | Read |
TKC
Tool | Description | Type |
| TanzuKubernetesCluster list with status | Read |
| Cluster detail (nodes, health, conditions) | Read |
| Supported K8s versions on Supervisor | Read |
| Create TKC with YAML plan + dry-run default | Write |
| Scale worker node count | Write |
| Upgrade K8s version | Write |
| Delete with workload guard | Write |
Access
Tool | Description | Type |
| Supervisor kubeconfig YAML | Read |
| TKC kubeconfig (stdout or file) | Read |
| Embedded Harbor registry info | Read |
| PVC list and capacity stats | Read |
Architecture
User (Natural Language)
↓
AI Agent (Claude Code / Goose / Cursor)
↓ reads SKILL.md
↓
vmware-vks CLI ─── or ─── vmware-vks MCP Server (stdio)
│
├─ Layer 1: pyVmomi → vCenter REST API
│ Supervisor status, storage policies, Namespace CRUD, VM classes, Harbor
│
└─ Layer 2: kubernetes client → Supervisor K8s API endpoint
TKC CR apply / get / delete (cluster.x-k8s.io/v1beta1)
Kubeconfig built from Layer 1 session token
↓
vCenter Server 8.x+ (Workload Management enabled)
↓
Supervisor Cluster → vSphere Namespaces → TanzuKubernetesClusterCLI Reference
# Pre-flight diagnostics
vmware-vks check
# Supervisor
vmware-vks supervisor status <cluster-id>
vmware-vks supervisor storage-policies
# Namespace
vmware-vks namespace list
vmware-vks namespace get <name>
vmware-vks namespace create <name> --cluster <id> --storage-policy <policy>
vmware-vks namespace create <name> --cluster <id> --storage-policy <policy> --apply
vmware-vks namespace update <name> [--cpu <mhz>] [--memory <mib>]
vmware-vks namespace delete <name>
vmware-vks namespace vm-classes
# VKS Cluster
vmware-vks tkc list [-n <namespace>]
vmware-vks tkc get <name> -n <namespace>
vmware-vks tkc versions -n <namespace>
vmware-vks tkc create <name> -n <namespace> [--version <v>] [--vm-class <c>]
vmware-vks tkc create <name> -n <namespace> --apply
vmware-vks tkc scale <name> -n <namespace> --workers <n>
vmware-vks tkc upgrade <name> -n <namespace> --version <v>
vmware-vks tkc delete <name> -n <namespace>
# Kubeconfig
vmware-vks kubeconfig supervisor -n <namespace>
vmware-vks kubeconfig get <cluster-name> -n <namespace> [-o <path>]
# Harbor & Storage
vmware-vks harbor
vmware-vks storage -n <namespace>MCP Server
After uv tool install vmware-vks, start the MCP server with one command (v1.5.15+):
# Recommended — single command, no network re-resolve
vmware-vks mcp
# With a custom config path
VMWARE_VKS_CONFIG=/path/to/config.yaml vmware-vks mcpAgent Configuration
Add to your AI agent's MCP config:
{
"mcpServers": {
"vmware-vks": {
"command": "vmware-vks",
"args": ["mcp"],
"env": {
"VMWARE_VKS_CONFIG": "~/.vmware-vks/config.yaml"
}
}
}
}# Run without installing (requires PyPI access each launch)
uvx --from vmware-vks vmware-vks mcp
# Legacy entry point (still works, kept for backward compatibility)
vmware-vks-mcpBehind a corporate TLS proxy? uvx may fail with
invalid peer certificate: UnknownIssuer. Use the recommendedvmware-vks mcpform above (no network needed), or setUV_NATIVE_TLS=true.
Safety
Feature | Description |
Read-heavy | 12/20 tools are read-only |
Dry-run default |
|
TKC guard |
|
Workload guard |
|
Credential safety | Passwords only from environment variables ( |
Audit logging | All write operations logged to |
stdio transport | No network listener; MCP runs over stdio only |
Troubleshooting
"VKS not compatible" error
Workload Management must be enabled in vCenter. Check: vCenter UI -> Workload Management. Requires vSphere 8.x+ with Enterprise Plus or VCF license.
Namespace creation fails with "storage policy not found"
List available policies first: vmware-vks supervisor storage-policies. Policy names are case-sensitive.
TKC cluster stuck in "Creating" phase
Check Supervisor events in vCenter. Common causes: insufficient resources on ESXi hosts, network issues with NSX-T, or storage policy not available on target datastore.
Kubeconfig retrieval fails
Supervisor API endpoint must be reachable from the machine running vmware-vks. Check firewall rules for port 6443.
Scale operation has no effect
Verify the cluster is in "Running" phase before scaling. Clusters in "Creating" or "Updating" phase reject scale operations.
Delete namespace rejected unexpectedly
The namespace delete guard prevents deletion when TKC clusters exist inside. Delete all TKC clusters in the namespace first, then retry.
Version Compatibility
vSphere | Support | Notes |
8.0+ | Full | Workload Management APIs available |
7.x | Not supported | WCP API surface is different; use vSphere 8.x |
Related Projects
Skill | Scope | Tools | Install |
vmware-aiops ⭐ entry point | VM lifecycle, deployment, guest ops, clusters | 31 |
|
Read-only monitoring, alarms, events, VM info | 8 |
| |
Datastores, iSCSI, vSAN | 11 |
| |
NSX networking: segments, gateways, NAT, IPAM | 31 |
| |
DFW microsegmentation, security groups, Traceflow | 20 |
| |
Aria Ops metrics, alerts, capacity planning | 18 |
|
License
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zw008/VMware-VKS'
If you have feedback or need assistance with the MCP directory API, please join our Discord server