mcp-server-kubernetes
Connects to and manages a Kubernetes cluster, including listing pods, services, deployments, nodes, and namespaces; creating, deleting, and describing pods; and retrieving logs from pods, deployments, jobs, or label selectors.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-kubernetes list all pods in my cluster"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server-kubernetes
MCP Server that can connect to a Kubernetes cluster and manage it.
https://github.com/user-attachments/assets/f25f8f4e-4d04-479b-9ae0-5dac452dd2ed
Usage with Claude Desktop
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}The server will automatically connect to your current kubectl context. Make sure you have:
kubectl installed and in your PATH
A valid kubeconfig file with contexts configured
Access to a Kubernetes cluster configured for kubectl (e.g. minikube, Rancher Desktop, GKE, etc.)
You can verify your connection by asking Claude to list your pods or create a test deployment.
If you have errors, open up a standard terminal and run kubectl get pods to see if you can connect to your cluster without credentials issues.
Related MCP server: Kube MCP
Features
Connect to a Kubernetes cluster
List all pods
List all services
List all deployments
List all nodes
Create a pod
Delete a pod
Describe a pod
List all namespaces
Get logs from a pod for debugging (supports pods, deployments, jobs, and label selectors)
Port forward to a pod
Choose namespace for next commands (memory)
Support Helm for installing charts
Local Development
git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes
bun installDevelopment Workflow
Start the server in development mode (watches for file changes):
bun run devRun unit tests:
bun run testBuild the project:
bun run buildLocal Testing with Inspector
npx @modelcontextprotocol/inspector node build/index.js
# Follow further instructions on terminal for Inspector linkProject Structure
src/
├── index.ts # Main server implementation
├── types.ts # TypeScript type definitions
└── unit.test.ts # Unit testsContributing
Fork the repository
Create a feature branch
Make your changes
Add tests for new functionality
Ensure all tests pass
Submit a pull request
For bigger changes, please open an issue first to discuss the proposed changes.
Architecture
This section describes the high-level architecture of the MCP Kubernetes server.
Request Flow
The sequence diagram below illustrates how requests flow through the system:
sequenceDiagram
participant Client
participant Transport as StdioTransport
participant Server as MCP Server
participant Handler as Request Handler
participant K8sManager as KubernetesManager
participant K8s as Kubernetes API
Client->>Transport: Send Request via STDIO
Transport->>Server: Forward Request
alt Tools Request
Server->>Handler: Route to tools handler
Handler->>K8sManager: Execute tool operation
K8sManager->>K8s: Make API call
K8s-->>K8sManager: Return result
K8sManager-->>Handler: Process response
Handler-->>Server: Return tool result
else Resource Request
Server->>Handler: Route to resource handler
Handler->>K8sManager: Get resource data
K8sManager->>K8s: Query API
K8s-->>K8sManager: Return data
K8sManager-->>Handler: Format response
Handler-->>Server: Return resource data
end
Server-->>Transport: Send Response
Transport-->>Client: Return Final ResponseNot planned
Authentication / adding clusters to kubectx.
Available Tools
11 toolscleanupC
Cleanup all managed resources
Inputs: no named parameters.
create_deploymentC
Create a new Kubernetes deployment
Inputs: name (required), template (required), namespace (required), ports, +1 more.
create_podC
Create a new Kubernetes pod
Inputs: name (required), template (required), namespace (required), command.
delete_podC
Delete a Kubernetes pod
Inputs: name (required), namespace (required), ignoreNotFound.
describe_podB
Describe a Kubernetes pod (read details like status, containers, etc.)
Inputs: name (required), namespace (required).
get_logsC
Get logs from pods, deployments, jobs, or resources matching a label selector
Inputs: resourceType (required), name, tail, since, +4 more.
list_deploymentsC
List deployments in a namespace
Inputs: namespace (required).
list_namespacesB
List all namespaces
Inputs: no named parameters.
list_nodesB
List all nodes in the cluster
Inputs: no named parameters.
list_podsC
List pods in a namespace
Inputs: namespace (required).
list_servicesB
List services in a namespace
Inputs: namespace (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Most tools target a clearly distinct resource and action (list_pods vs list_deployments vs describe_pod vs get_logs). The only mild overlaps are `cleanup` versus `delete_pod` and `get_logs` being much broader than the pod-specific read tools, but descriptions help distinguish them.
The set follows a consistent snake_case verb_noun pattern such as list_pods, create_deployment, delete_pod, and describe_pod. `cleanup` is the only noticeable deviation as a verb-only name.
Eleven tools is well-scoped for a Kubernetes MCP server, covering common read and write operations without feeling bloated. Each listed tool has a plausible place in typical cluster workflows.
Read coverage is decent for pods, deployments, services, namespaces, and nodes, but write coverage is thin: deployments and services have no delete/update/scale operations, and pods lack update/exec. These gaps would likely force agents to fall back to raw kubectl or fail on common lifecycle tasks.
Maintenance
Related MCP Connectors
Manage Rackspace Spot Kubernetes Cloudspaces, node pools, and VMs from your AI assistant.
Deploy and run apps, workers, jobs, Postgres, and Valkey on Ownkube from your coding agent.
Read and write KukGit repositories, files, issues and pull requests from an AI assistant.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables managing Kubernetes clusters through natural language by providing tools to list resources, view logs, port-forward services, scale deployments, and execute kubectl operations via AI assistants.81MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with and manage Kubernetes clusters, supporting operations on pods, deployments, services, configmaps, secrets, namespaces, metrics, and events with built-in safety features for destructive actions.97 npm1MIT
- FlicenseAqualityDmaintenanceConnects Claude Desktop to any Kubernetes cluster, enabling natural language queries for diagnostics and operations such as listing pods, viewing logs, scaling deployments, and more.8-
- AlicenseBqualityDmaintenanceEnables connecting to a Kubernetes cluster to manage it, including listing pods, services, deployments, nodes, and namespaces, creating and deleting pods, describing pods, and retrieving logs for debugging.1121,598 npmMIT