Skip to main content
Glama
mmpyro

vcluster-mcp

by mmpyro

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
vcluster_listA

List all vclusters in the current Kubernetes context.

This function retrieves all vclusters managed by the vcluster platform in the current Kubernetes context. It sets up the Kubernetes client internally and returns the list of vclusters as serialized JSON on success, or an error object if the command failed.

Args: kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[Dict, List, str]: List of vclusters on success, or error object if failed.

vcluster_describeA

Describe a specific vcluster in detail.

This function retrieves detailed information about a specific vcluster, including its status, resources, and configuration. The information is returned as serialized JSON on success, or an error object if the command failed.

Args: name: The name of the vcluster to describe. namespace: Optional namespace where the vcluster is located. If not provided, defaults to the vcluster name. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[Dict, str]: Detailed vcluster information on success, or error object if failed.

vcluster_pauseA

Pause a running vcluster.

This function pauses a running vcluster, which stops the virtual cluster without deleting it. This is useful for temporarily suspending workloads while preserving the cluster state.

Args: name: The name of the vcluster to pause. namespace: Optional namespace where the vcluster is located. If not provided, defaults to the vcluster name. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[CommandResult, str]: CommandResult on success, or error object if failed.

vcluster_resumeA

Resume a paused vcluster.

This function resumes a previously paused vcluster, restoring its operation and allowing workloads to run again.

Args: name: The name of the vcluster to resume. namespace: Optional namespace where the vcluster is located. If not provided, defaults to the vcluster name. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[CommandResult, str]: CommandResult on success, or error object if failed.

vcluster_deleteA

Delete a vcluster.

This function deletes a vcluster and optionally its namespace. This action is irreversible - the cluster and all its resources will be permanently removed.

Args: name: The name of the vcluster to delete. namespace: Optional namespace where the vcluster is located. If not provided, defaults to the vcluster name. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[CommandResult, str]: CommandResult on success, or error object if failed.

vcluster_createA

Create a new vcluster.

This function creates a new vcluster with the specified name. Optionally, you can provide a values file to customize the vcluster configuration during creation. If the upgrade parameter is set to True, the cluster will be upgraded if it was created before.

Args: name: The name for the new vcluster. values: Optional path to a values file for vcluster configuration. upgrade: Optional flag to upgrade the cluster if it was created before. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[CommandResult, str]: CommandResult on success, or error object if failed.

vcluster_callA

Execute a command inside a vcluster.

This function connects to a running vcluster and executes the given command within the virtual cluster context. It uses vcluster connect with the server-side flag to establish the connection and run the command.

Args: name: The name of the vcluster to connect to and execute the command in. command: The command string to execute inside the vcluster. Supports standard shell quoting (e.g. "kubectl get pods -n default"). namespace: Optional namespace where the vcluster is located. If not provided, defaults to vcluster-<name>. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[CommandResult, Dict[str, str], str]: CommandResult with exit code and output on success, or error object if failed.

vcluster_disconnectC

Disconnect from a vcluster.

Returns: Union[CommandResult, str]: CommandResult on success, or error object if failed.

get_namespace_labelsA

Get labels for a specific namespace.

This function retrieves all labels associated with a Kubernetes namespace. Labels are key-value pairs that can be used to organize and select resources.

Args: namespace: The name of the namespace to get labels from. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[Dict[str, str], str]: Dictionary of labels on success, or error object if failed.

set_namespace_labelA

Create or update a label on a namespace.

This function creates a new label or updates an existing label on a Kubernetes namespace. Labels are key-value pairs used for organizing and selecting resources.

Args: namespace: The name of the namespace to label. key: The label key to set. value: The label value to assign. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[bool, str]: True on success, or error object if failed.

delete_namespace_labelA

Delete a label from a namespace.

This function removes a label from a Kubernetes namespace. If the label doesn't exist, the operation is considered successful.

Args: namespace: The name of the namespace to remove the label from. key: The label key to delete. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[bool, str]: True on success (or if label didn't exist), or error object if failed.

get_namespace_annotationsA

Get annotations for a specific namespace.

This function retrieves all annotations associated with a Kubernetes namespace. Annotations are similar to labels but are typically used for storing non-identifying metadata.

Args: namespace: The name of the namespace to get annotations from. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[Dict[str, str], str]: Dictionary of annotations on success, or error object if failed.

set_namespace_annotationA

Create or update an annotation on a namespace.

This function creates a new annotation or updates an existing annotation on a Kubernetes namespace. Annotations are key-value pairs used for storing non-identifying metadata such as descriptions, links, or configuration data.

Args: namespace: The name of the namespace to annotate. key: The annotation key to set. value: The annotation value to assign. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[bool, str]: True on success, or error object if failed.

delete_namespace_annotationA

Delete an annotation from a namespace.

This function removes an annotation from a Kubernetes namespace. If the annotation doesn't exist, the operation is considered successful.

Args: namespace: The name of the namespace to remove the annotation from. key: The annotation key to delete. kubeconfig_path: Optional path to a kubeconfig file. If not provided, the default kubeconfig from the environment will be used.

Returns: Union[bool, str]: True on success (or if annotation didn't exist), or error object if failed.

Prompts

Interactive templates invoked by user choice

NameDescription
vcluster_management_assistantCreate a prompt to assist with managing vclusters. This prompt helps users work with vcluster operations by providing context and guidance on how to use the available vcluster management tools. Args: kubeconfig_path: Optional path to kubeconfig file. If empty, uses default from environment Returns: A formatted prompt string to guide the assistant in managing vclusters
vcluster_lifecycle_assistantCreate a prompt to assist with vcluster lifecycle operations. This prompt focuses on creating, deleting, pausing, and resuming vclusters. Args: operation: The lifecycle operation (create, delete, pause, resume, describe) vcluster_name: Name of the vcluster to operate on kubeconfig_path: Optional path to kubeconfig file Returns: A formatted prompt string to guide the assistant in vcluster lifecycle operations
namespace_metadata_assistantCreate a prompt to assist with namespace metadata management. This prompt helps users work with namespace labels and annotations. Args: namespace: The namespace to manage metadata for metadata_type: Type of metadata (labels or annotations) kubeconfig_path: Optional path to kubeconfig file Returns: A formatted prompt string to guide the assistant in namespace metadata operations
vcluster_troubleshooting_assistantCreate a prompt to assist with troubleshooting vcluster issues. This prompt helps users diagnose and resolve vcluster-related problems. Args: issue_description: Description of the issue being experienced kubeconfig_path: Optional path to kubeconfig file Returns: A formatted prompt string to guide the assistant in troubleshooting

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/mmpyro/vcluster-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server