Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VMWARE_VKS_CONFIG | Yes | Path to the configuration YAML file (e.g., ~/.vmware-vks/config.yaml). This file should contain the vCenter host and username. | |
| VMWARE_MY_VCENTER_PASSWORD | Yes | The vCenter password environment variable. According to the documentation, passwords must be provided via environment variables rather than the configuration file. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_vks_compatibility | Check if this vCenter supports VKS (requires vSphere 8.x+). Returns: compatible (bool), vcenter_version, wcp_enabled_clusters, hint. Call this first before any VKS operations. |
| get_supervisor_status | Get Supervisor Cluster status. Args: cluster_id: Compute cluster MoRef ID (e.g. 'domain-c1'). target: vCenter target name (uses default if not specified). Returns: config_status, kubernetes_status, api_server_endpoint, k8s_version. |
| list_supervisor_storage_policies | List storage policies available for Supervisor Namespaces. Returns list of storage policies with compatible cluster IDs. Use this to find valid storage_policy values before creating namespaces. |
| list_namespaces | List all vSphere Namespaces with status. |
| get_namespace | Get detailed information for a single vSphere Namespace. Args: name: Namespace name (e.g. 'dev', 'production'). target: vCenter target name (uses default if not specified). |
| create_namespace | Create a vSphere Namespace on a Supervisor Cluster. IMPORTANT: dry_run=True by default — set dry_run=False to actually create. Args: name: Namespace name (lowercase, no spaces). cluster_id: Supervisor cluster MoRef (use get_supervisor_status to find). storage_policy: Storage policy name (use list_supervisor_storage_policies). cpu_limit: CPU limit in MHz (optional). memory_limit_mib: Memory limit in MiB (optional). dry_run: Preview without creating (default: True). |
| update_namespace | Update vSphere Namespace resource quotas or storage policy. Args: name: Namespace name. cpu_limit: New CPU limit in MHz (optional). memory_limit_mib: New memory limit in MiB (optional). storage_policy: New storage policy name (optional). |
| delete_namespace | Delete a vSphere Namespace. SAFETY: Rejects if TKC clusters exist inside. Delete TKC clusters first. IMPORTANT: dry_run=True by default — set dry_run=False AND confirmed=True to delete. Args: name: Namespace name to delete. confirmed: Must be True to proceed (safety gate). dry_run: Preview without deleting (default: True). |
| list_vm_classes | List available VM classes for TKC node sizing. Returns list with id, cpu_count, memory_mib per VM class. Use the 'id' field when creating TKC clusters. |
| list_tkc_clusters | List TanzuKubernetesCluster (TKC) clusters. Args: namespace: vSphere Namespace to filter by (lists all if not specified). target: vCenter target name. Returns: total count and list of clusters with status and K8s version. |
| get_tkc_cluster | Get detailed info for a single TKC cluster. Args: name: TKC cluster name. namespace: vSphere Namespace containing the cluster. target: vCenter target name. |
| get_tkc_available_versions | List K8s versions available for new TKC clusters. Args: namespace: vSphere Namespace (used to connect to Supervisor). target: vCenter target name. |
| create_tkc_cluster | Create a TanzuKubernetesCluster. IMPORTANT: dry_run=True by default — returns YAML plan. Set dry_run=False to apply. Workflow: call get_tkc_available_versions first to find valid k8s_version, call list_vm_classes to find valid vm_class. Args: name: Cluster name. namespace: vSphere Namespace. k8s_version: K8s version (e.g. 'v1.28.4+vmware.1'). vm_class: VM class for nodes (e.g. 'best-effort-large'). control_plane_count: 1 or 3. worker_count: Number of worker nodes (>= 1). storage_class: Storage class name. dry_run: Return YAML plan without applying (default: True). |
| scale_tkc_cluster | Scale TKC cluster worker node count. Args: name: TKC cluster name. namespace: vSphere Namespace. worker_count: New worker node count (>= 1). |
| upgrade_tkc_cluster | Upgrade TKC cluster to a new K8s version. Args: name: TKC cluster name. namespace: vSphere Namespace. k8s_version: Target K8s version (use get_tkc_available_versions to list). |
| delete_tkc_cluster | Delete a TKC cluster. SAFETY: Rejects if Deployments/StatefulSets are running (unless force=True). IMPORTANT: dry_run=True by default — set dry_run=False AND confirmed=True to delete. Args: name: TKC cluster name. namespace: vSphere Namespace. confirmed: Must be True to proceed (safety gate). dry_run: Preview without deleting (default: True). force: Skip workload check (dangerous). |
| get_supervisor_kubeconfig | Get kubeconfig for the Supervisor K8s API endpoint. Args: namespace: vSphere Namespace (context for the kubeconfig). target: vCenter target name. Returns: kubeconfig YAML string. |
| get_tkc_kubeconfig | Get kubeconfig for a TKC cluster. Args: name: TKC cluster name. namespace: vSphere Namespace. output_path: Write to file if provided (e.g. '~/.kube/my-cluster.yaml'). Returns kubeconfig string if not specified. |
| get_harbor_info | Get embedded Harbor registry info (URL, storage usage, status). Returns registry URL, storage used, and health status. Returns error hint if Harbor is not enabled on this Supervisor. |
| list_namespace_storage_usage | List PVCs and storage usage for a vSphere Namespace. Args: namespace: vSphere Namespace name. target: vCenter target name. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |