MCP 服务器 Kubernetes
MCP 服务器可以连接到 Kubernetes 集群并对其进行管理。
https://github.com/user-attachments/assets/f25f8f4e-4d04-479b-9ae0-5dac452dd2ed
与 Claude Desktop 一起使用
服务器将自动连接到您当前的 kubectl 上下文。请确保您已:
- kubectl 已安装并位于您的 PATH 中
- 已配置上下文的有效 kubeconfig 文件
- 访问为 kubectl 配置的 Kubernetes 集群(例如 minikube、Rancher Desktop、GKE 等)
- 已安装 Helm v3 并将其添加到您的 PATH 中(无需 Tiller)。如果您不打算使用 Helm,则此步骤可选。
您可以通过要求 Claude 列出您的 pod 或创建测试部署来验证您的连接。
如果出现错误,请打开标准终端并运行kubectl get pods
以查看是否可以连接到集群而没有凭据问题。
与 mcp-chat 一起使用
mcp-chat是 MCP 服务器的 CLI 聊天客户端。您可以使用它与 Kubernetes 服务器进行交互。
或者,将您现有的 Claude Desktop 配置文件从上面传递给它(Linux 应该将正确的路径传递给配置):
苹果:
视窗:
特征
- [x] 连接到 Kubernetes 集群
- [x] 列出所有 pod、服务、部署
- [x] 列出、描述节点
- [x] 创建、描述、删除 Pod
- [x] 列出所有命名空间,创建命名空间
- [x] 创建自定义 pod 和部署配置,更新部署副本
- [x] 创建、描述、删除、更新服务
- [x] 创建、获取、更新、删除 ConfigMap
- [x] 从 pod 获取日志以进行调试(支持 pod、部署、作业和标签选择器)
- [x] 支持 Helm v3 安装图表
- 安装具有自定义值的图表
- 卸载版本
- 升级现有版本
- 支持命名空间
- 支持版本规范
- 支持自定义存储库
- [x] kubectl explain 和 kubectl api-resources 支持
- [x] 从集群获取 Kubernetes 事件
- [x] 端口转发到 Pod 或服务
- [x] 创建、列出和描述 cronjobs
- [x] 用于读取和仅创建/更新集群访问的非破坏性模式
本地开发
确保已安装 bun 。克隆 repo 并安装依赖项:
开发工作流程
- 以开发模式启动服务器(监视文件更改):
- 运行单元测试:
- 构建项目:
- 使用Inspector进行本地测试
- 使用 Claude Desktop 进行本地测试
- 使用mcp-chat进行本地测试
贡献
有关详细信息,请参阅CONTRIBUTING.md文件。
先进的
其他高级功能
有关更多高级信息,例如使用 SSE 传输、带有ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS
的非破坏性模式,请参阅ADVANCED_README.md 。
建筑学
请参阅此DeepWiki 链接,了解 Devin 创建的更深入的架构概述。
本节介绍 MCP Kubernetes 服务器的高层架构。
请求流程
下面的序列图说明了请求如何流经系统:
发布新版本
前往发布页面,点击“草稿新版本”,点击“选择标签”,并使用“v{major}.{minor}.{patch}”语义版本格式输入新版本号,创建一个新标签。然后,输入发布标题“Release v{major}.{minor}.{patch}”,并根据需要添加描述/更新日志,然后点击“发布版本”。
这将创建一个新标签,并通过 cd.yml 工作流触发新的版本构建。成功后,新版本将发布到npm 。请注意,无需手动更新 package.json 版本,因为工作流会自动更新 package.json 文件中的版本号并将提交推送到主分支。
未计划
身份验证/向 kubectx 添加集群。
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
TypeScript 实现 Kubernetes 集群中针对 pod、部署、服务的操作。
Related MCP Servers
- -securityAlicense-qualityA server for task orchestration and coordination, facilitating task management with dependencies, multi-instance collaboration, and persistent task tracking.Last updated -717JavaScriptMIT License
- -securityFlicense-qualityA server that enables LLMs to manage Kubernetes clusters through natural language commands, wrapping kubectl operations to provide a simplified interface for common Kubernetes tasks.Last updated -3Python
- -securityAlicense-qualityProvides MCP multi-cluster Kubernetes management and operations, featuring a management interface, logging, and nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.Last updated -484GoMIT License
- -securityAlicense-qualityProvides MCP multi-cluster Kubernetes management and operations. It can be integrated as an SDK into your own project and includes nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.Last updated -115GoMIT License