基本能力
产品定位
mcp-k8s 是一个 Kubernetes 资源管理工具,通过 MCP 协议与 Kubernetes 集群交互,简化了资源管理的复杂性。
核心功能
- 查询支持的 Kubernetes 资源类型(包括内置资源和 CRDs)
- 对 Kubernetes 资源执行 CRUD 操作
- 可配置的写操作(创建/更新/删除可以独立启用/禁用)
- 使用 kubeconfig 连接到 Kubernetes 集群
适用场景
- Kubernetes 资源管理通过 LLM
- 交互式资源管理
- 批量操作
- 资源状态查询
- 自动化操作场景
- 智能运维助手
- 问题诊断
- 配置审查
- 开发和测试支持
- 快速原型验证
- 环境管理
- 配置生成
- 教育和培训场景
- 交互式学习
- 最佳实践指导
- 错误解释
工具列表
资源类型查询工具
get_api_resources
: 获取集群中所有支持的 API 资源类型
资源操作工具
get_resource
: 获取特定资源的详细信息list_resources
: 列出资源类型的所有实例create_resource
: 创建新资源(可禁用)update_resource
: 更新现有资源(可禁用)delete_resource
: 删除资源(可禁用)
常见问题解答
- 安全性考虑
- 写操作通过独立配置开关严格控制
- 使用 RBAC 确保 K8s 客户端仅具有必要权限
- 验证所有用户输入以防止注入攻击
使用教程
使用依赖
- 需要安装 Go 和 Kubernetes 客户端库
安装教程
- 克隆仓库:
bash
git clone https://github.com/silenceper/mcp-k8s.git
cd mcp-k8s - 构建项目:
bash
go build -o bin/mcp-k8s cmd/server/main.go
运行
默认模式(只读操作):
bash
./bin/mcp-k8s --kubeconfig=/path/to/kubeconfig
启用写操作:
bash
./bin/mcp-k8s --kubeconfig=/path/to/kubeconfig --enable-create --enable-update --enable-delete
调试方式
- 使用
--kubeconfig
指定 Kubernetes 配置文件路径 - 使用
--enable-create
、--enable-update
、--enable-delete
启用相应的写操作