mcp-k8s

mcp-k8s

site icon
2025.04.17 48
GoKubernetes 资源管理自动化操作开发支持教育培训开发效率数据库
mcp-k8s 是一个基于 Kubernetes 的 MCP(Model Control Protocol)服务器,允许通过 MCP 工具与 Kubernetes 集群进行交互。它提供了查询 Kubernetes 资源类型、执行 CRUD 操作等功能,并支持通过自然语言与 LLM 交互进行资源管理。
View on GitHub

Overview

基本能力

产品定位

mcp-k8s 是一个 Kubernetes 资源管理工具,通过 MCP 协议与 Kubernetes 集群交互,简化了资源管理的复杂性。

核心功能

  • 查询支持的 Kubernetes 资源类型(包括内置资源和 CRDs)
  • 对 Kubernetes 资源执行 CRUD 操作
  • 可配置的写操作(创建/更新/删除可以独立启用/禁用)
  • 使用 kubeconfig 连接到 Kubernetes 集群

适用场景

  1. Kubernetes 资源管理通过 LLM
  2. 交互式资源管理
  3. 批量操作
  4. 资源状态查询
  5. 自动化操作场景
  6. 智能运维助手
  7. 问题诊断
  8. 配置审查
  9. 开发和测试支持
  10. 快速原型验证
  11. 环境管理
  12. 配置生成
  13. 教育和培训场景
  14. 交互式学习
  15. 最佳实践指导
  16. 错误解释

工具列表

资源类型查询工具

  • get_api_resources: 获取集群中所有支持的 API 资源类型

资源操作工具

  • get_resource: 获取特定资源的详细信息
  • list_resources: 列出资源类型的所有实例
  • create_resource: 创建新资源(可禁用)
  • update_resource: 更新现有资源(可禁用)
  • delete_resource: 删除资源(可禁用)

常见问题解答

  • 安全性考虑
  • 写操作通过独立配置开关严格控制
  • 使用 RBAC 确保 K8s 客户端仅具有必要权限
  • 验证所有用户输入以防止注入攻击

使用教程

使用依赖

  • 需要安装 Go 和 Kubernetes 客户端库

安装教程

  1. 克隆仓库:
git clone https://github.com/silenceper/mcp-k8s.git
cd mcp-k8s
  1. 构建项目:
go build -o bin/mcp-k8s cmd/server/main.go

运行

默认模式(只读操作):

./bin/mcp-k8s --kubeconfig=/path/to/kubeconfig

启用写操作:

./bin/mcp-k8s --kubeconfig=/path/to/kubeconfig --enable-create --enable-update --enable-delete

调试方式

  • 使用 --kubeconfig 指定 Kubernetes 配置文件路径
  • 使用 --enable-create--enable-update--enable-delete 启用相应的写操作

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。