Enables GitHub Copilot to use the MCP server for Kubernetes-related code suggestions and completions
Provides tools for managing Kubernetes resources including deployments, pods, services, and other Kubernetes operations
K8s 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 managerMinikube (for local Kubernetes development)
Docker (optional, for containerized deployment)
Related MCP server: MCP Toolkit
Running the MCP Server
Primary Method: Running Directly
Create a virtual environment:
uv venv .venvActivate the virtual environment:
On macOS/Linux:
source .venv/bin/activateOn Windows:
.venv\Scripts\activate
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-serverRun 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 podsConnection Issues: If using Docker, ensure the container is running and has access to your Kubernetes configuration:
docker psTool 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.