关于 Kubernetes MCP Server
Kubernetes MCP Server 是面向 AI 聊天界面的实验性服务,可用于检查和管理 Kubernetes 集群。它通过单个工具执行 kubectl 命令,并使用已配置的 kubeconfig 和权限。
主要功能
- 01通过单个工具运行 kubectl 命令
- 02发现并描述集群资源
- 03检查日志和资源状态
- 04创建或修改 Kubernetes 资源
- 05检查集群配置中的安全问题
适用场景
- 01列出命名空间中的 Pod
- 02根据日志和状态排查集群问题
- 03获取资源变更方面的协助
- 04检查集群配置中的潜在安全问题
MCP 相关
该 MCP 服务向 MCP 客户端提供单个 `kubectl` 工具,用于在已配置的 Kubernetes 集群上执行 kubectl 命令。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Kubernetes MCP 服务
一个实验性的模型上下文协议(MCP)服务,通过 kubectl 向 AI 聊天界面提供 Kubernetes 功能。本项目展示了如何将 Kubernetes 与 AI 助手集成,让它们使用熟悉的 kubectl 命令帮助分析和管理集群资源。
概述
本项目基于出色的 mcpr 项目构建,该项目由 @conikeec 开发,为 AI 助手与外部工具和服务交互提供了协议。
该服务提供了一个 kubectl 工具,可执行任意 kubectl 命令,让 AI 助手能够充分使用 Kubernetes 集群的功能。
使用场景
- 资源发现:让 AI 助手使用 kubectl 命令列出和描述资源
- 故障排查:让 AI 帮助使用 kubectl 分析日志和资源状态
- 资源管理:获取 AI 在创建或修改资源方面的帮助
- 文档:让 AI 解释集群中特定资源的作用
- 安全分析:让 AI 帮助识别集群配置中潜在的安全问题
交互示例
User: Can you show me all pods in the default namespace?
AI: I'll check that for you...
[Uses the kubectl tool with command "get pods -n default"]
Here are the pods in the default namespace:
NAME READY STATUS RESTARTS AGE
nginx-7c658794b9-2j4k5 1/1 Running 0 2d
未来可能性
当前实现为许多强大的交互奠定了基础:
- 使用多个 kubectl 命令处理复杂的故障排查场景
- 自动化资源分析和建议
- 交互式调试会话
- 安全扫描和建议
- 性能优化建议
安装
- 克隆仓库:
git clone https://github.com/yourusername/mcp-kubernetes.git
cd mcp-kubernetes
- 构建项目:
cargo build --release
- 配置 AI 助手以使用该服务(具体说明取决于你的 AI 平台)
要求
- Rust 1.70 或更高版本
- 已安装并配置 kubectl
- 具有适当权限的 Kubernetes 集群
- 已为集群配置 kubeconfig
配置
该服务使用默认的 kubeconfig 和 kubectl 安装。请确保你拥有执行所需命令的必要权限。
安全注意事项
由于该服务允许执行任意 kubectl 命令,因此务必:
- 使用适当的 RBAC 权限运行
- 考虑实施命令验证或白名单
- 监控并审计命令执行情况
- 在受控环境中使用
致谢
本项目基于 @conikeec 的 mcpr 项目构建。非常感谢作者创建了这一出色的协议和实现。
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。