Kubernetes MCP服务器
这是一个模型上下文协议(MCP)服务器,通过MCP Python SDK提供全面的Kubernetes功能。它允许您通过MCP客户端使用自然语言与Kubernetes集群进行交互。
特性
服务器提供了一系列组织成逻辑模块的Kubernetes操作:
吊舱操作
- 获取带有过滤和输出格式选项的Pod
- 描述特定吊舱
- 使用各种选项获取pod日志
- 在Pod中执行命令
- 获取pod指标
部署操作
- 使用筛选和输出格式选项获取部署
- 描述具体部署
- 扩展部署
- 管理部署卷展(状态、历史记录、重新启动、撤消)
- 获取部署指标
服务操作
- 获取具有过滤和输出格式选项的服务
- 描述具体服务
- 将部署作为服务公开
- 港口转发服务
命名空间操作
- 通过筛选获取命名空间
- 描述特定命名空间
- 创建和删除命名空间
- 获取命名空间资源配额
集群操作
- 获取集群信息
- 获取并描述节点
- 管理节点调度(警戒/解除警戒)
- 维护排水节点
- 获取集群指标
先决条件
- Python 3.7+
- kubectl已安装并配置
- 访问Kubernetes集群
- MCP客户端(如克劳德桌面)
安装
- 克隆此存储库
- 安装依赖项:
pip install -r requirements.txt用法
运行服务器
- MCP Inspector开发模式:
python -m mcp.inspector src/k8s_mcp_server.py- 在Claude Desktop中安装:
python -m mcp.install src/k8s_mcp_server.py- 直接运行:
python src/k8s_mcp_server.py使用工具
一旦通过MCP客户端连接,您就可以使用自然语言与Kubernetes集群进行交互。例如:
- “获取默认命名空间中的所有Pod”
- “描述'web'命名空间中名为'nginx'的部署”
- “从‘生产’命名空间中的‘前端’pod获取日志”
- “将‘后端’部署扩展到3个副本”
- “创建一个名为“staging”的新命名空间,标签为environment=tstaging”
项目结构
src/
├── k8s_mcp_server.py # Main server entry point
├── k8s_tools/ # Tool modules
│ ├── __init__.py
│ ├── pod_tools.py # Pod-related tools
│ ├── deployment_tools.py # Deployment-related tools
│ ├── service_tools.py # Service-related tools
│ ├── namespace_tools.py # Namespace-related tools
│ └── cluster_tools.py # Cluster-related tools
└── requirements.txt # Project dependencies贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
