This project is a Model Control Protocol (MCP) server for Kubernetes operations. It provides tools for managing deployments, pods, services, and more.
- Python 3.12 or higher
uv
package manager- Minikube (for local Kubernetes development)
- Docker (optional, for containerized deployment)
-
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
-
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
-
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.
-
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.
-
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.
This project is licensed under the MIT License - see the LICENSE file for details.