MCP Skill + CLI for managing vSphere with Tanzu (VKS) — Supervisor, Namespaces, and TanzuKubernetesCluster lifecycle
Project description
VMware VKS
MCP Skill + CLI for managing vSphere with Tanzu (VKS) — Supervisor clusters, vSphere Namespaces, and TanzuKubernetesCluster lifecycle.
Part of the VMware MCP Skills family:
Skill Scope Tools vmware-monitor (read-only) Inventory, health, alarms, events 8 vmware-aiops (full ops) VM lifecycle, deployment, guest ops, plans 33 vmware-storage Datastores, iSCSI, vSAN 11 vmware-vks (this) Supervisor, Namespaces, TKC lifecycle 20
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 with Tanzu (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 --apply
Tool Reference (20 tools)
Supervisor
| Tool | Description | Type |
|---|---|---|
check_vks_compatibility |
vCenter version check + WCP status | Read |
get_supervisor_status |
Supervisor cluster status and K8s API endpoint | Read |
list_supervisor_storage_policies |
Available storage policies for Namespaces | Read |
Namespace
| Tool | Description | Type |
|---|---|---|
list_namespaces |
All vSphere Namespaces with status | Read |
get_namespace |
Namespace detail (quotas, storage, roles) | Read |
create_namespace |
Create Namespace with dry-run preview | Write |
update_namespace |
Modify quotas and storage policy | Write |
delete_namespace |
Delete with TKC guard (rejects if clusters exist) | Write |
list_vm_classes |
Available VM classes for TKC sizing | Read |
TKC
| Tool | Description | Type |
|---|---|---|
list_tkc_clusters |
TanzuKubernetesCluster list with status | Read |
get_tkc_cluster |
Cluster detail (nodes, health, conditions) | Read |
get_tkc_available_versions |
Supported K8s versions on Supervisor | Read |
create_tkc_cluster |
Create TKC with YAML plan + dry-run default | Write |
scale_tkc_cluster |
Scale worker node count | Write |
upgrade_tkc_cluster |
Upgrade K8s version | Write |
delete_tkc_cluster |
Delete with workload guard | Write |
Access
| Tool | Description | Type |
|---|---|---|
get_supervisor_kubeconfig |
Supervisor kubeconfig YAML | Read |
get_tkc_kubeconfig |
TKC kubeconfig (stdout or file) | Read |
get_harbor_info |
Embedded Harbor registry info | Read |
list_namespace_storage_usage |
PVC list and capacity stats | Read |
CLI 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
# TKC
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
# Run directly
vmware-vks-mcp
# Or via module
python -m mcp_server
Agent Configuration
Add to your AI agent's MCP config:
{
"mcpServers": {
"vmware-vks": {
"command": "vmware-vks-mcp",
"env": {
"VMWARE_VKS_CONFIG": "~/.vmware-vks/config.yaml"
}
}
}
}
Safety
| Feature | Description |
|---|---|
| Read-heavy | 12/20 tools are read-only |
| Dry-run default | create_namespace, create_tkc_cluster, delete_namespace, delete_tkc_cluster all default to dry_run=True |
| TKC guard | delete_namespace rejects if TKC clusters exist inside |
| Workload guard | delete_tkc_cluster rejects if Deployments/StatefulSets are running |
| Credential safety | Passwords only from environment variables (.env file), never in config.yaml |
| Audit logging | All write operations logged to ~/.vmware-vks/audit.log |
| stdio transport | No network listener; MCP runs over stdio only |
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 |
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vmware_vks-1.2.1.tar.gz.
File metadata
- Download URL: vmware_vks-1.2.1.tar.gz
- Upload date:
- Size: 97.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fdbd2cd322f29b6033c6ef7c270b96116a0b6bc2e1d147d693c917fbdae5fb6
|
|
| MD5 |
4b4f623d106a4156413bfd4965b8c3d0
|
|
| BLAKE2b-256 |
b5b025c24b15e1307c4b668dbbe6133dce6c44078f02899ff1916397980ab5f7
|
File details
Details for the file vmware_vks-1.2.1-py3-none-any.whl.
File metadata
- Download URL: vmware_vks-1.2.1-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1781ad4ac9beb0f8775fafe5fe055ac89249fd0785d292abf994a8e13e9f289e
|
|
| MD5 |
70df073a618e16d8d8dcfc00f44a2a1c
|
|
| BLAKE2b-256 |
113b29178f7242920264093084401474973262e74249132dab49e99b58bdb915
|