License
About
A lightweight, centralized control plane for managing multiple Kubernetes clusters using kubeconfig or in-cluster configuration.
Details
- Author
- bourbonkk
- Downloads
- 315
- Categories
- Cloud Service, Infrastructure
Jump to
- Multi-cluster context switching and management
- CRUD operations on most common Kubernetes resources
- Namespace creation, deletion, and resource listing
- Node management: view, cordon, uncordon, label, taint
- Context-aware operations and seamless cluster switching
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
LicenseCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Clone the repository, install uv (Python 3.13+ package manager), then launch the server with uv run --with mcp[cli] mcp run k8s_pilot.py. For Claude Desktop, add the provided MCP server configuration to your Claude Desktop settings, replacing <path-to-cloned-repo> with your actual repository path.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"license": {
"k8s-pilot": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"k8s_pilot.py"
]
}
}
}
}
McpServers
{
"k8s-pilot": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"k8s_pilot.py"
]
}
}
The Central Pilot for Your Kubernetes Fleets ✈️✈️
k8s_pilotis a lightweight, centralized control plane server for managingmultiple Kubernetes clustersat once.
With powerful tools and intuitive APIs, you can observe and control all your clusters from one cockpit.
- 🔄 Supportsmulti-cluster context switching
- 🔧 EnablesCRUD operationson most common Kubernetes resources
- 🔒Readonly modefor safe cluster inspection
- ⚙️ Powered byMCPfor Claude AI and beyond
- 🌐Streamable HTTPtransport support for remote access
- 🤖MCP Promptsfor guided operations
- 📝Context-aware loggingfor write operations
- Python3.13or higher
- uvpackage manager
- Access to Kubernetes clusters (~/.kube/configor in-cluster config)
# Install uv (if not installed) # For MacOS brew install uv # For Linux curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone the repository git clone https://github.com/bourbonkk/k8s-pilot.git cd k8s-pilot # Launch with uv + MCP uv run --with "mcp[cli]>=1.28.0,<2" python k8s_pilot.py
- Streamable HTTP Transport: Remote cluster management via HTTP (in addition to stdio)
- MCP Prompts: Built-in prompt templates for common K8s operations
- Context-aware Logging: Write operations now report progress via MCP context
- Bug Fixes: Fixed missing API clients for Ingress and RBAC resources
- Security: Added readonly checks for node modification operations
- Dockerfile: Modernized withuvpackage manager for faster builds
# Start with full read/write access uv run --with "mcp[cli]>=1.28.0,<2" python k8s_pilot.py
# Start in readonly mode - only read operations allowed uv run --with "mcp[cli]>=1.28.0,<2" python k8s_pilot.py --readonly
# Start with Streamable HTTP transport for remote access uv run --with "mcp[cli]>=1.28.0,<2" python k8s_pilot.py --transport streamable-http
# Show help uv run --with "mcp[cli]>=1.28.0,<2" python k8s_pilot.py --help
You can run k8s-pilot directly using the published Docker image without installinguvlocally. Make sure to mount your~/.kube/configso the container can access your clusters.
docker run -i --rm \ -v ~/.kube/config:/root/.kube/config \ ghcr.io/bourbonkk/k8s-pilot:latest
The--readonlyflag enables a safety mode that prevents any write operations to your Kubernetes clusters. This is perfect for:
- Cluster inspectionwithout risk of accidental changes
- Audit scenarioswhere you need to view but not modify
- Learning environmentswhere you want to explore safely
- Production monitoringwith zero risk of modifications
Protected Operations (Blocked in Readonly Mode)
- pod_create,pod_update,pod_delete
- deployment_create,deployment_update,deployment_delete
- service_create,service_update,service_delete
- configmap_create,configmap_update,configmap_delete
- secret_create,secret_update,secret_delete
- namespace_create,namespace_delete
- All other create/update/delete operations
- pod_list,pod_detail,pod_logs
- deployment_list,deployment_get
- service_list,service_get
- configmap_list,configmap_get
- secret_list,secret_get
- namespace_list,namespace_get
- All other list/get operations
k8s-pilot includes built-in prompt templates for common operations:
Use this config to run k8s_pilot MCP server from within Claude:
{ "mcpServers": { "k8s_pilot": { "command": "uv", "args": [ "--directory", "<path-to-cloned-repo>/k8s-pilot", "run", "--with", "mcp[cli]>=1.28.0,<2", "python", "k8s_pilot.py" ] } } }
For readonly mode, use this configuration:
{ "mcpServers": { "k8s_pilot_readonly": { "command": "uv", "args": [ "--directory", "<path-to-cloned-repo>/k8s-pilot", "run", "--with", "mcp[cli]>=1.28.0,<2", "python", "k8s_pilot.py", "--readonly" ] } } }
For Docker, use this configuration (replaceYOUR_USERNAMEwith your actual Mac user name):
{ "mcpServers": { "k8s_pilot_docker": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/Users/YOUR_USERNAME/.kube/config:/root/.kube/config", "ghcr.io/bourbonkk/k8s-pilot:latest" ] } } }
Replace<path-to-cloned-repo>with the actual directory where you cloned the repo.
Create a Deployment using the nginx:latest image in the pypy namespace, and also create a Service that connects to it.
- Seamlessly interact with multiple Kubernetes clusters
- Perform context-aware operations
- Easily switch between clusters via MCP prompts
- View, create, update, delete:
- Deployments, Services, Pods
- ConfigMaps, Secrets, Ingresses
- StatefulSets, DaemonSets
- Roles, ClusterRoles
- PersistentVolumes & Claims
- Create/delete namespaces
- List all resources in a namespace
- Manage labels and resource quotas
- View node details and conditions
- Cordon/uncordon, label/taint nodes
- List pods per node
This project is licensed under the MIT License. See theLICENSEfile for details.
Navigate your Aiven projects and interact with the PostgreSQL®, Apache Kafka®, ClickHouse® and OpenSearch® services
Yunxiao MCP Server provides AI assistants with the ability to interact with the Yunxiao platform.
Get prescriptive CDK advice, explain CDK Nag rules, check suppressions, generate Bedrock Agent schemas, and discover AWS Solutions Constructs patterns.
This AWS Labs Model Context Protocol (MCP) server for CloudTrail enables your AI agents to query AWS account activity for security investigations, compliance auditing, and operational troubleshooting.
Core AWS MCP server providing prompt understanding and server management capabilities.
Analyze CDK projects to identify AWS services used and get pricing information from AWS pricing webpages and API.
Query and analyze your Axiom logs, traces, and all other event data in natural language
Manage and interact with Microsoft Azure services.
Bastion: External Attack Surface Monitoring
Ask your AI assistant about your attack surface: run scans, catch expiring certificates and domains, triage findings, and generate reports.
Agent-ready global image CDN that AI agents can install and operate through MCP.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.

