Kubernetes MCP Server 是面向 Kubernetes 与 OpenShift 的 Model Context Protocol(MCP)服务器实现,用于让 AI 工具通过标准化协议操作集群资源。
用途:该服务器为 AI 助手(如 Claude Desktop、VS Code、Cursor、Goose 等客户端)提供访问 Kubernetes 与 OpenShift 集群的能力。与常见的仅封装 kubectl 或 helm 命令行的实现不同,它基于 Go 原生实现,直接与 Kubernetes API 服务器交互,无需外部依赖或工具,也不要求系统安装 Node 或 Python。
主要能力:
- 配置管理:自动检测 Kubernetes 配置变化并更新 MCP 服务器,可查看与管理当前的 .kube/config 或集群内配置。
- 通用资源操作:对任意 Kubernetes 或 OpenShift 资源执行 CRUD 操作,包括创建或更新、获取、列表、删除。
- Pod 操作:列出所有命名空间或指定命名空间中的 Pod;按名称从指定命名空间获取 Pod;按名称删除 Pod;查看 Pod 日志;获取所有 Pod 或指定 Pod 的资源使用指标;进入 Pod 执行命令;在 Pod 中运行容器镜像并可选择暴露。
- 命名空间:列出 Kubernetes 命名空间,可通过 field selector 过滤。
- 事件:查看所有命名空间或指定命名空间中的 Kubernetes 事件,支持 field selector 过滤。
- OpenShift 项目:列出当前集群中的 OpenShift 项目。
- Helm:在当前或指定命名空间中安装 Helm chart;列出所有命名空间或指定命名空间中的 Helm release;卸载 release。
- Tekton:Pipeline 可通过创建 PipelineRun 启动;PipelineRun 可重启、取消、排查并获取日志;Task 可通过创建 TaskRun 启动;TaskRun 可使用相同 spec 重启,并通过 Pod 解析获取日志。
- 节点相关工具:获取节点日志(kubelet、kube-proxy 或其他系统日志);通过 kubelet 的 Summary API 获取节点详细资源使用统计,涵盖 CPU、内存、文件系统与网络,在 cgroup v2 与 kernel 4.20+ 系统上还包含 PSI 压力指标。
- 可观测性:可选 OpenTelemetry 分布式追踪与指标,支持自定义采样率,并提供 /stats 端点用于实时统计。
使用方式:服务器支持通过命令行参数、TOML 配置文件与环境变量进行配置。可通过 npx、uvx 运行 CLI 可执行文件,或下载最新发布二进制。客户端集成方面,文档提供了 Claude Desktop、VS Code / VS Code Insiders、Cursor、Goose 等配置方式,例如在 claude_desktop_config.json 中添加 mcpServers 列表,在 VS Code 中安装 Kubernetes MCP server 扩展,在 Cursor 中编辑 mcp.json,或在 goose config.yaml 中添加 mcpServers。工具集(toolsets)配置选项可启用或禁用特定工具、资源与提示,以控制可用功能并减少上下文大小、提升 LLM 工具选择准确性。
适用场景:适用于需要通过 AI 客户端对 Kubernetes 或 OpenShift 集群执行资源管理、Pod 调试、日志查看、事件排查、Helm 部署以及 Tekton 流水线操作的场景;也适用于多集群环境,可同时与多个集群交互(依据 kubeconfig 定义),在多集群支持启用时相关工具会包含额外的 context 参数以指定集群。
限制与说明:资料未提供具体的收费、价格或商业授权信息。运行时设置采用 TOML 或既有环境变量名称,而非 CLI 标志,存在标志到 TOML 的映射说明。支持通过 denied resources 限制对敏感资源类型的访问,支持 OAuth/OIDC 认证用于 HTTP 模式(Keycloak、Microsoft Entra ID)。服务器支持 MCP 日志能力,Kubernetes API 错误会自动分类并以适当严重级别记录给客户端,敏感数据(令牌、密钥、密码、云凭证)在发送给客户端前会自动脱敏。