MCP Directory

Kom (Kubernetes Operations Manager)

Multi-cluster Kubernetes MCP server with 59 tools for resources, pods, nodes, deployments and YAML.

Unverified
stdio (local)
No auth
Go

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
go build main.go

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "kom-kubernetes-operations-manager": {
      "command": "path/to/kom",
      "args": []
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • A Kubernetes cluster and a kubeconfig (KUBECONFIG env var, defaults to ~/.kube/config)
  • Go toolchain to build the binary (go build main.go), or the embedded mcp.RunMCPServer call in a Go app
  • For SSE mode: network reachability to the server's :9096/sse endpoint

About Kom (Kubernetes Operations Manager)

kom is a Go library/SDK for Kubernetes operations that also embeds an MCP server. As an MCP server it exposes 59 tools for multi-cluster Kubernetes management: listing clusters; getting/describing/deleting/listing/labeling/annotating/patching any resource including CRDs; pod operations (run command, logs, list/delete/upload files, linked services/ingress/endpoints/env, top, describe); node operations (taint/untaint, cordon/uncordon, drain, IP usage, top, resource usage, pod counts); deployment lifecycle (scale, restart, stop/restore, image-tag update, rollout history/undo/pause/resume/status, HPA list, events); StorageClass/IngressClass defaults and PVC/PV counts; cluster events; and YAML apply/delete. Two transports are supported: stdio (run the compiled binary) and SSE at http://IP:9096/sse for private multi-user deployments. The example consumer app is k8m.

Tools & capabilities (59)

list_k8s_clusters

List all registered Kubernetes clusters.

restart_k8s_daemonset

Restart a DaemonSet by cluster, namespace and name.

scale_k8s_deployment

Scale a Deployment's replica count by cluster, namespace and name.

restart_k8s_deployment

Restart a Deployment by cluster, namespace and name.

stop_k8s_deployment

Stop a Deployment (set replicas to 0).

restore_k8s_deployment

Restore a Deployment's replica count.

update_k8s_deployment_image_tag

Update the container image tag of a Deployment.

get_k8s_deployment_rollout_history

Query a Deployment's rollout/upgrade history.

undo_k8s_deployment_rollout

Roll back a Deployment.

pause_k8s_deployment_rollout

Pause a Deployment rollout.

resume_k8s_deployment_rollout

Resume a Deployment rollout.

get_k8s_deployment_rollout_status

Query a Deployment's rollout status.

get_k8s_deployment_hpa_list

List the HPAs associated with a Deployment.

list_k8s_deploy_event

List events related to a Deployment.

get_k8s_resource

Get details of a Kubernetes resource by cluster, namespace and name.

describe_k8s_resource

Describe a Kubernetes resource by cluster, namespace and name.

delete_k8s_resource

Delete a Kubernetes resource by cluster, namespace and name.

list_k8s_resource

List Kubernetes resources by cluster and resource type.

annotate_k8s_resource

Add or remove annotations on a Kubernetes resource.

label_k8s_resource

Add or remove labels on a Kubernetes resource.

patch_k8s_resource

Patch/update a Kubernetes resource by cluster, namespace and name.

GetDynamicResource

Get a dynamic resource (including CRDs).

taint_k8s_node

Add a taint to a node.

untaint_k8s_node

Remove a taint from a node.

cordon_k8s_node

Mark a node as unschedulable (cordon).

uncordon_k8s_node

Mark a node as schedulable (uncordon).

drain_k8s_node

Drain pods from a node and prevent new pod scheduling.

get_k8s_node_ip_usage

Query a node's IP resource usage.

list_k8s_node

List nodes.

get_k8s_top_node

Get a CPU/memory usage ranking of nodes.

get_k8s_pod_count_running_on_node

Count pods running on a given node.

get_k8s_node_resource_usage

Query a node's resource usage statistics.

TaintNodeTool

Add a taint to a node.

list_k8s_event

List Kubernetes events by cluster and namespace.

set_default_k8s_ingressclass

Set an IngressClass as the default.

run_command_in_k8s_pod

Execute a command inside a pod.

list_k8s_pod_event

List events related to a pod.

list_files_in_k8s_pod

List files at a given path inside a pod.

list_pod_all_files

List all files (including subdirectories) at a given path inside a pod.

delete_k8s_pod

Delete a pod.

delete_pod_file

Delete a specified file inside a pod.

get_k8s_pod_linked_env

Get a pod's runtime environment variables.

get_pod_linked_env_from_yaml

Get environment variables from a pod's YAML definition.

get_k8s_pod_linked_services

Get Services associated with a pod.

get_pod_linked_ingresses

Get Ingresses associated with a pod.

get_pod_linked_endpoints

Get Endpoints associated with a pod.

list_k8s_pod

List pods.

get_k8s_top_pod

Get a CPU/memory usage ranking of pods.

ListPodFilesTool

List files inside a pod.

ListAllPodFilesTool

List all files inside a pod.

DeletePodFileTool

Delete a file inside a pod.

UploadPodFileTool

Upload a file into a pod.

GetPodLogsTool

Get pod logs.

describe_k8s_pod

Describe a pod.

set_k8s_default_storageclass

Set a StorageClass as the default.

get_k8s_storageclass_pvc_count

Get the number of PVCs under a StorageClass.

get_k8s_storageclass_pv_count

Get the number of PVs under a StorageClass.

apply_k8s_yaml

Create or update Kubernetes resources from YAML.

delete_k8s_yaml

Delete Kubernetes resources from YAML.

What this server can do

Kom (Kubernetes Operations Manager) provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Let an AI assistant inspect and operate multiple Kubernetes clusters (including AWS EKS) from Claude Desktop, Cursor, Windsurf, or Cherry Studio
  • Troubleshoot pods by reading logs, exec-ing commands, listing/uploading files, and tracing linked Services/Ingresses/Endpoints
  • Manage deployment rollouts: scale, restart, update image tags, view history, and roll back
  • Perform node maintenance: cordon/drain nodes, manage taints, and inspect IP/CPU/memory usage
  • Apply or delete arbitrary YAML and manage CRDs through a single MCP interface

Security notes

These tools perform privileged, destructive cluster operations (delete resources, drain/cordon nodes, exec arbitrary commands in pods, apply/delete YAML, scale and roll back deployments). The server manages the cluster via the KUBECONFIG env var (defaults to ~/.kube/config) and has no built-in auth on the MCP layer. The SSE mode (http://IP:9096/sse) exposes these tools over the network with no authentication described in the README; restrict network access and run only against clusters you intend the AI client to control. AWS EKS credentials, when used, are held only in memory and cleared on restart.

Kom (Kubernetes Operations Manager) FAQ

Which transports does the MCP server support?

Both stdio and SSE. The compiled binary acts as a stdio server; running it also serves SSE at http://IP:9096/sse for private, multi-user deployments. Claude Desktop supports stdio only.

How many tools does it expose?

The README documents 59 MCP tools spanning cluster listing, dynamic resource CRUD (incl. CRDs), pod operations, node management, deployment lifecycle, storage/ingress classes, events, and YAML apply/delete.

How does it authenticate to Kubernetes?

It uses the KUBECONFIG environment variable (defaulting to ~/.kube/config) and supports registering multiple clusters, including AWS EKS via access key/secret/region. The MCP layer itself has no authentication described in the README.

How do I start the server?

Either embed it in a Go app with mcp.RunMCPServer(name, version, port), or build the binary with `go build main.go` and run `./kom`.

Alternatives to Kom (Kubernetes Operations Manager)

Compare all alternatives →

GitHub's official server for repos, issues, PRs, and Actions — local Docker or hosted remote.

Featured
Verified
stdio (local)
API key
Go
7 tools
Updated 7 days agoRepo

Official AWS Labs server that lets agents call any AWS API via the AWS CLI surface.

Verified
stdio (local)
API key
Python
3 tools
Updated 9 days agoRepo

Bulk Kubernetes port forwarding with an MCP server that lets AI assistants forward services, inspect pods, and monitor traffic.

Unverified
stdio (local)
No auth
Go
28 tools
Updated 1 day agoRepo

Compare Kom (Kubernetes Operations Manager) with: