About K8s Mcp Server
K8s Mcp Server is an MCP server for Kubernetes operations, aimed at users managing cluster resources. It provides tools for deployments, pods, services, and more, and can run directly with Python or in Docker.
Key features
- 01Manage deployments, pods, and services
- 02Run directly with Python
- 03Optional Docker deployment
Use cases
- 01Operate Kubernetes resources through an MCP client
- 02Run the server in a Docker container
MCP support
Exposes Kubernetes operation tools to MCP clients, including GitHub Copilot and Claude Desktop.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEK8s MCP Server
This project is a Model Control Protocol (MCP) server for Kubernetes operations. It provides tools for managing deployments, pods, services, and more.
Prerequisites
- Python 3.12 or higher
uvpackage manager- Minikube (for local Kubernetes development)
- Docker (optional, for containerized deployment)
Running the MCP Server
Primary Method: Running Directly
-
Create a virtual environment:
uv venv .venv -
Activate the virtual environment:
- On macOS/Linux:
source .venv/bin/activate - On Windows:
.venv\Scripts\activate
- On macOS/Linux:
-
Install dependencies:
uv pip install -e . -
Run the server:
python src/main.py
Alternative Method: Using Docker (Optional)
-
Pull the Docker image:
docker pull chinnareddy578/k8s-mcp-server -
Run the Docker container:
docker run -it \ -v ${HOME}/.kube:/root/.kube:ro \ -v ${HOME}/.minikube:/root/.minikube:ro \ chinnareddy578/k8s-mcp-server
Using the MCP Server with MCP Clients
GitHub Copilot
-
Configure GitHub Copilot:
- Open your GitHub Copilot settings.
- Add the following configuration:
{ "servers": { "k8s-mcp-server": { "command": "python", "args": [ "src/main.py" ] } } }Alternatively, if you prefer using Docker:
{ "servers": { "k8s-mcp-server": { "command": "docker", "args": [ "run", "-i", "--rm", "--init", "-e", "PYTHONUNBUFFERED=1", "-v", "${HOME}/.kube:/root/.kube:ro", "-v", "${HOME}/.minikube:/root/.minikube:ro", "chinnareddy578/k8s-mcp-server" ] } } } -
Use GitHub Copilot:
- GitHub Copilot will now use the MCP server for code suggestions and completions.
Claude Desktop
-
Configure Claude Desktop:
- Open Claude Desktop settings.
- Add the following configuration:
{ "mcpServers": { "k8s-mcp-server": { "command": "python", "args": [ "src/main.py" ] } } }Alternatively, if you prefer using Docker:
{ "mcpServers": { "k8s-mcp-server": { "command": "docker", "args": [ "run", "-i", "--rm", "--init", "-e", "PYTHONUNBUFFERED=1", "-v", "${HOME}/.kube:/root/.kube:ro", "-v", "${HOME}/.minikube:/root/.minikube:ro", "chinnareddy578/k8s-mcp-server" ] } } } -
Use Claude Desktop:
- Claude Desktop will now use the MCP server for code suggestions and completions.
Troubleshooting
-
Kubernetes Configuration: Make sure Minikube is running and your kubeconfig is properly set up:
minikube status minikube kubectl -- get pods -
Connection Issues: If using Docker, ensure the container is running and has access to your Kubernetes configuration:
docker ps -
Tool Not Found: Verify that the tool is registered in your MCP server and the name matches exactly.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.