mcp-server-kubernetes
Connects to a Kubernetes cluster and provides tools for managing it, including listing pods, services, deployments, nodes, and namespaces; creating, deleting, and describing pods; and retrieving pod logs for debugging.
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 my pods and show logs for any that are crashing"
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: mcp-server-kubernetes
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
Each tool targets a distinct resource+action combination (list vs create vs delete vs describe on separate resources). get_logs overlaps conceptually with list/describe since it spans multiple resource types, but its purpose is clear enough to avoid misselection.
Strong verb_noun pattern (list_pods, create_pod, delete_pod, describe_pod, list_nodes). The lone outlier is 'cleanup', which lacks a verb_noun structure and is vaguer than the rest, and get_logs uses 'get' rather than the dominant 'list'.
Eleven tools is well-scoped for a Kubernetes management server, covering listing, creation, deletion, inspection, logs, and cleanup without bloat.
Coverage is asymmetric: deployments can be created but not deleted, and there's no describe for deployments or services despite describe_pod existing. Pods have full list/create/delete/describe/logs lifecycle, but the broader surface has notable gaps that could cause agent dead ends.
Maintenance
Related MCP Connectors
Provides read access to your GKE and Kubernetes resources.
Deploy applications and manage governed Kubernetes preview spaces and capacity.
Deploy and operate Kubernetes: clusters, stacks, apps, logs, metrics and security, with OAuth.
Manage Kubernetes clusters, deployments, databases, secrets and observability on Mengi Cloud.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables connecting to a Kubernetes cluster to manage resources and troubleshoot workloads with kubectl and Helm operations, including logs, scaling, port forwarding, and non-destructive mode.2216,349 npmMIT
- 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.1116,349 npmMIT
- AlicenseBqualityDmaintenanceConnects to a Kubernetes cluster through the current kubectl context and enables listing, creating, deleting, and describing pods, services, deployments, nodes, and namespaces, plus retrieving logs for debugging.1116,349 npmMIT
- AlicenseBqualityDmaintenanceConnects to a Kubernetes cluster using your current kubectl context, letting an assistant list pods, services, deployments, nodes, and namespaces, create, delete, and describe pods, and pull logs for debugging. It turns everyday cluster management into natural-language tool calls.1116,349 npmMIT