mcp-server-kubernetes
Language:
JavaScript
Stars:
373
Forks:
48
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.
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
- Port forward to a pod
- Get logs from a pod for debugging (supports pods, deployments, jobs, and label selectors)
- Choose namespace for next commands (memory)
- Support Helm for installing charts
In Progress
Local Development
git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes
bun install
Development Workflow
- Start the server in development mode (watches for file changes):
bun run dev
- Run unit tests:
bun run test
- Build the project:
bun run build
- Local Testing with Inspector
npx @modelcontextprotocol/inspector node build/index.js
# Follow further instructions on terminal for Inspector link
Project Structure
src/
├── index.ts # Main server implementation
├── types.ts # TypeScript type definitions
└── unit.test.ts # Unit tests
Contributing
- 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 Response
Not planned
Authentication / adding clusters to kubectx.
Publisher info
Suyog Sonwalkar
AI developer, Python, Javascript / React
More MCP servers built with JavaScript
MCP Server Semgrep is a [Model Context Protocol](https://modelcontextprotocol.io) compliant server that integrates the powerful Semgrep static analysis tool with AI assistants like Anthropic Claude. It enables advanced code analysis, security vulnerability detection, and code quality improvements directly through a conversational interface.
This MCP server provides email sending functionality using Protonmail's SMTP service. It allows both Claude Desktop and Cline VSCode extension to send emails on your behalf using your Protonmail credentials.
Model Context Protocol server that integrates AgentQL's data extraction capabilities.