kubernetes-mcp
20
Kubernetes MCP is an MCP server implemented in Go, designed to facilitate Kubernetes cluster operations through the MCP protocol. It supports a variety of API groups and transport methods, focusing on efficient resource management and interaction with Kubernetes environments.
Kubernetes MCP
✨ A Model Context Protocol (MCP) server implementation designed with Go for interacting with Kubernetes clusters. This server allows MCP-compatible clients to perform Kubernetes operations through defined tools.
📌 Core Features
- MCP Server: Implements the mcp-go library to provide MCP functionality
- Kubernetes Interaction: Uses controller-runtime client to interact with clusters
- Transport Methods: Supports Server-Sent Events (
sse
)
🛠️ Resource Management Tools
- Core API Group (v1): List, get, describe, create, update, delete operations
- Apps API Group (apps/v1): Full support for Deployment, ReplicaSet, etc.
- Batch API Group (batch/v1): Full support for Job, CronJob
- Networking API Group (networking.k8s.io/v1): Full support for Ingress, NetworkPolicy
- RBAC API Group (rbac.authorization.k8s.io/v1): Full support for Role, RoleBinding, etc.
- Storage API Group (storage.k8s.io/v1): Full support for StorageClass, VolumeAttachment
- Policy API Group (policy/v1beta1): Full support for PodSecurityPolicy, etc.
- API Extensions API Group (apiextensions.k8s.io/v1): Full support for CRDs
- Autoscaling API Group (autoscaling/v1): Full support for HorizontalPodAutoscaler
📋 Requirements
- Go 1.24
- Kubernetes cluster access
📦 Key Dependencies
- mcp-go, controller-runtime, client-go, etc.
🚀 Usage
- Starting the Server: Various options for server transport and base URL
⚙️ Command Structure
Hierarchical command structure supporting various operations like server start and version display.
🔄 Standard Resource Operations
Supports standard resource operations like listing, getting, describing, creating, updating, and deleting resources.