Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VMWARE_VKS_CONFIGYesPath to the configuration YAML file (e.g., ~/.vmware-vks/config.yaml). This file should contain the vCenter host and username.
VMWARE_MY_VCENTER_PASSWORDYesThe 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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