Skip to main content
Glama
razvanmacovei

Multi Cluster Kubernetes MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KUBECONFIG_DIRNoDirectory containing kubeconfig files. Each file can contain one or more contexts.~/.kube

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
k8s_get_contextsA

List all available Kubernetes contexts from all kubeconfig files. Returns context names that can be used with other tools. Supports partial context name matching in all other commands.

k8s_get_namespacesB

List all namespaces in a Kubernetes cluster. Use this to discover available namespaces before querying resources.

k8s_create_nsC

Create a new Kubernetes namespace. Optionally attach labels and annotations at creation time.

k8s_delete_nsA

Delete a Kubernetes namespace and all resources within it. Protected namespaces (default, kube-system, kube-public, kube-node-lease) cannot be deleted.

k8s_get_nodesC

List all nodes in a Kubernetes cluster with status, roles, capacity, and version info.

k8s_cluster_infoA

Get a comprehensive health summary of the entire Kubernetes cluster. Checks node status, pod health across all namespaces, deployment availability, resource pressure, and recent warning events. Returns an overall health status (healthy/degraded/unhealthy) with detailed breakdowns.

k8s_get_resourcesA

List Kubernetes resources of a specified kind (e.g., Pod, Deployment, Service, Ingress). Common kinds auto-detect their API group. For custom resources, specify group and version. Omit namespace to query across all namespaces.

k8s_get_resourceC

Get the complete definition of a single Kubernetes resource. Returns the full resource spec, status, and metadata as a dictionary.

k8s_get_pod_logsA

Get logs from a Kubernetes pod. For multi-container pods, logs from the first container are returned by default. Use sinceDuration to filter (e.g., '5m', '1h', '2d'). Set previousContainer=True to get logs from the previously terminated container.

k8s_get_eventsB

List Kubernetes events in a namespace, sorted by most recent first. Events show scheduling decisions, image pulls, container crashes, and other cluster activity.

k8s_describeA

Show detailed information about a resource, similar to 'kubectl describe'. Can describe a single resource by name, or multiple resources using a label selector. Set all_namespaces=True to search across all namespaces.

k8s_apisA

List all available API groups and resources in the Kubernetes cluster. Useful for discovering what resource types are available, including CRD-based APIs.

k8s_crdsA

List all Custom Resource Definitions (CRDs) installed in the cluster. Shows CRD names, groups, versions, scope, and status conditions.

k8s_top_nodesB

Display CPU and memory usage of all nodes in the cluster. Requires metrics-server to be installed. Shows usage alongside capacity.

k8s_top_podsA

Display CPU and memory usage of pods, broken down by container. Requires metrics-server to be installed. Omit namespace for all namespaces.

k8s_diagnose_applicationA

Diagnose issues with a Kubernetes application by checking resource status, pod health, events, and container logs. Automatically detects common problems like CrashLoopBackOff, OOMKilled, ImagePullBackOff, permission errors, and connection issues. Returns a structured report with issues, severity, and recommendations.

k8s_rollout_statusB

Get the rollout status of a deployment, daemonset, or statefulset. Shows replica counts, conditions, and whether the rollout is complete.

k8s_rollout_historyA

Get the revision history of a deployment, daemonset, or statefulset. Shows past revisions that can be used with rollout_undo.

k8s_rollout_undoA

Roll back a deployment, daemonset, or statefulset to a previous revision. Omit to_revision to roll back to the immediately previous revision, or specify a revision number from rollout_history.

k8s_rollout_restartC

Trigger a rolling restart of a deployment, daemonset, or statefulset. All pods will be recreated in a rolling fashion.

k8s_rollout_pauseA

Pause an in-progress rollout for a deployment, daemonset, or statefulset. Useful for canary-style deployments where you want to inspect before continuing.

k8s_rollout_resumeC

Resume a previously paused rollout for a deployment, daemonset, or statefulset.

k8s_scale_resourceB

Scale a deployment, statefulset, or replicaset to the specified number of replicas. Set replicas=0 to scale down completely.

k8s_autoscale_resourceB

Configure a Horizontal Pod Autoscaler (HPA) for a deployment, statefulset, or replicaset. Creates or updates an HPA that scales between min and max replicas based on CPU utilization.

k8s_update_resourcesB

Update CPU/memory requests and limits for a specific container in a deployment, statefulset, or daemonset. Values use Kubernetes notation (e.g., '128Mi', '500m', '1Gi', '2').

k8s_create_resourceC

Create a Kubernetes resource from YAML or JSON content. The content must include apiVersion, kind, and metadata. Optionally override the namespace.

k8s_apply_resourceB

Apply a configuration to a resource (create if it doesn't exist, update if it does). Similar to 'kubectl apply'. The content must include apiVersion, kind, and metadata with name.

k8s_delete_resourceA

Delete a Kubernetes resource. Supports all common resource types (pod, deployment, service, configmap, secret, statefulset, daemonset, job, cronjob, ingress, pvc, pv, namespace, serviceaccount, networkpolicy, hpa). Set force=True for immediate deletion (grace_period=0).

k8s_patch_resourceB

Update specific fields of a resource using a strategic merge patch. Supports pod, deployment, service, configmap, secret, and custom resources.

k8s_label_resourceB

Add or update labels on a Kubernetes resource. Labels are key-value pairs used for organizing and selecting resources.

k8s_annotate_resourceC

Add or update annotations on a Kubernetes resource. Annotations store non-identifying metadata for tools and libraries.

k8s_expose_resourceC

Expose a deployment or pod as a new Kubernetes Service. Creates a Service that routes traffic to the target resource. Specify type='LoadBalancer' for external access or type='NodePort' for node-level access.

k8s_run_podA

Create and run a pod with the specified container image. Useful for running one-off tasks, debugging, or testing. Set restart='Never' for one-shot jobs.

k8s_set_resources_for_containerB

Set resource limits and requests for containers in a deployment, statefulset, or daemonset. Example: limits={'cpu': '500m', 'memory': '256Mi'}, requests={'cpu': '100m', 'memory': '128Mi'}.

k8s_cordon_nodeA

Mark a node as unschedulable. Existing pods continue running but no new pods will be scheduled on this node.

k8s_uncordon_nodeA

Mark a previously cordoned node as schedulable again. New pods can be scheduled on this node after uncordoning.

k8s_drain_nodeA

Drain a node by evicting all pods, preparing it for maintenance. Automatically cordons the node first. Set ignore_daemonsets=True to skip DaemonSet pods. Set force=True to evict pods not managed by a controller.

k8s_taint_nodeC

Add a taint to a node. Taints prevent pods without matching tolerations from being scheduled. Effects: NoSchedule (hard), PreferNoSchedule (soft), NoExecute (evict existing pods too).

k8s_untaint_nodeB

Remove a taint from a node. Omit effect to remove all taints with the given key.

k8s_pod_execB

Execute a command inside a running container. Supports quoted arguments (e.g., 'ls -la "/my dir"'). Specify container for multi-container pods. Defaults to the 'default' namespace if not specified.

k8s_list_secretA

List Kubernetes Secrets with metadata (keys only, values hidden for security). Use label_selector to filter (e.g., 'app=myapp'). Omit namespace for all namespaces.

k8s_get_secret_detailA

Get a Kubernetes Secret. By default shows only key names for security. Set decode=True to include the actual decoded values. Use with caution - decoded secrets may contain sensitive credentials.

k8s_create_secret_resourceB

Create a new Kubernetes Secret. Values in data will be automatically base64-encoded. Common types: Opaque (default), kubernetes.io/tls, kubernetes.io/dockerconfigjson.

k8s_list_configmapA

List Kubernetes ConfigMaps with their key names. Use label_selector to filter. Omit namespace for all namespaces.

k8s_get_configmap_detailA

Get a Kubernetes ConfigMap with its full data contents.

k8s_create_configmap_resourceC

Create a new Kubernetes ConfigMap with the specified key-value data pairs.

k8s_get_rolesA

List RBAC Roles with their permission rules. Roles grant permissions within a specific namespace. Omit namespace to list roles across all namespaces.

k8s_get_clusterrolesB

List RBAC ClusterRoles with their permission rules. ClusterRoles grant cluster-wide permissions or can be bound per-namespace.

k8s_get_rolebindingsA

List RBAC RoleBindings showing which subjects (users, groups, service accounts) are bound to which roles. Omit namespace for all namespaces.

k8s_get_clusterrolebindingsB

List RBAC ClusterRoleBindings showing cluster-wide role assignments.

k8s_get_service_accountsB

List Kubernetes ServiceAccounts. ServiceAccounts provide pod-level identity for RBAC authorization. Omit namespace for all namespaces.

k8s_get_pvcsB

List PersistentVolumeClaims (PVCs) with status, capacity, access modes, and storage class. Omit namespace for all namespaces.

k8s_get_pvsB

List PersistentVolumes (PVs) in the cluster with capacity, access modes, reclaim policy, and bound claim information.

k8s_get_storage_classesA

List StorageClasses in the cluster with provisioner, reclaim policy, volume binding mode, and whether each is the default class.

k8s_get_network_policiesB

List NetworkPolicies that control pod-to-pod and pod-to-external traffic. Shows pod selectors, policy types (Ingress/Egress), and rule counts.

k8s_get_jobsB

List Kubernetes Jobs with completion status, active/succeeded/failed counts, and timing information. Omit namespace for all namespaces.

k8s_get_cronjobsB

List Kubernetes CronJobs with schedule, suspension status, active jobs, and last schedule/success times. Omit namespace for all namespaces.

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/razvanmacovei/k8s-multicluster-mcp'

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