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
 uvpackage 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.