一种通过自然语言命令启用大型语言模型(LLMs)管理 Kubernetes 集群的服务器,它将 kubectl 操作封装起来,为常见的 Kubernetes 任务提供简化的接口。
628 查看 · 2026-07-07 更新
简介
一种通过自然语言命令启用大型语言模型(LLMs)管理 Kubernetes 集群的服务器,它将 kubectl 操作封装起来,为常见的 Kubernetes 任务提供简化的接口。
简介
一种通过自然语言命令启用大型语言模型(LLMs)管理 Kubernetes 集群的服务器,它将 kubectl 操作封装起来,为常见的 Kubernetes 任务提供简化的接口。
MCP Kubernetes 服务器
这是一个用于 Kubernetes 的 MCP(模型上下文协议)服务器,通过与大语言模型 (LLMs) 的交互来控制 Kubernetes 集群。
概述
此客户端允许您通过 MCP 工具执行常见的 Kubernetes 操作。它封装了 kubectl 命令,提供了一个简单的界面来管理 Kubernetes 资源。模型上下文协议 (MCP) 使语言模型与 Kubernetes 操作之间的无缝交互成为可能。
什么是 MCP?
模型上下文协议 (MCP) 是一个框架,使语言模型能够以结构化的方式与外部工具和服务进行交互。它提供了:
- 向语言模型暴露功能的标准方式
- 操作的上下文管理
- 工具发现和文档
- 模型与工具之间类型安全的交互
使用示例
- 在 production 命名空间中为我创建一个名为 nginx-app、镜像为 nginx:latest 的新部署,并设置 3 个副本。
- 将 production 命名空间中的 nginx-app 部署更新到版本 1.19。
- 将 production 命名空间中的 nginx-app 部署扩展到 5 个副本。
- 获取 production 命名空间中的所有 pod。
- 获取集群中的所有命名空间。
- 获取集群中的所有节点。
- 获取集群中的所有服务。
- 获取集群中的所有部署。
- 获取集群中的所有作业。
- 获取集群中的所有定时任务。
- 获取集群中的所有有状态集。
- 获取集群中的所有守护进程集。
- 当前上下文是什么。
- 列出所有上下文。
- 切换到上下文
。 - 获取 production 命名空间中
的日志。 - 获取 production 命名空间中的事件。
- 在 production 命名空间中将 key1=value1 注解添加到
。 - 从 production 命名空间中的
移除注解 key1。 - 在 production 命名空间中将标签 key1=value1 添加到
。 - 从 production 命名空间中的
移除标签 key1。 - 在 production 命名空间中将 nginx-app 部署暴露在端口 80 上。
- 将 production 命名空间中名为
的 pod、deployment 或 service 端口转发到本地端口 8080。 - 删除 production 命名空间中的 pod、deployment、service、job、cronjob、statefulset 或 daemonset 名为
的资源。
即将推出的功能
- 创建集群角色。
- 删除集群角色。
- 创建集群角色绑定。
- 删除集群角色绑定。
- 创建命名空间。
- 删除命名空间。
- 创建服务账户。
- 删除服务账户。
- 创建角色。
- 删除角色。
- 创建角色绑定。
- 删除角色绑定。
大语言模型集成
此 MCP 客户端旨在与大语言模型 (LLMs) 无缝协作。这些函数使用 @mcp.tool() 进行装饰,使其可以通过模型上下文协议框架被 LLMs 访问。
示例 LLM 提示
LLM可以通过自然语言与您的Kubernetes集群进行交互。以下是一些示例提示:
- "在生产命名空间中创建一个具有3个副本的新nginx部署"
- "将nginx-app部署扩展到5个副本"
- "将nginx-app的镜像更新到1.19版本"
LLM会解释这些自然语言请求,并使用正确的参数调用相应的MCP函数。
LLM集成的好处
- 自然语言界面:使用对话语言管理Kubernetes资源
- 减少命令复杂性:无需记住确切的kubectl语法
- 防止错误:LLM可以验证输入并提供有用的错误消息
- 上下文感知:LLM可以在多个操作中保持上下文
- 结构化交互:MCP确保LLM与工具之间的类型安全和文档化的交互
要求
- 通过
kubectl配置的Kubernetes集群访问 - Python 3.x
- 已安装并配置好的MCP框架
安全注意事项
当使用此客户端与LLM一起工作时,请确保:
- 您的Kubernetes集群有适当的访问控制
- MCP服务器运行在一个安全环境中
- API访问已正确认证和授权
与Claude Desktop一起使用
{ "mcpServers": { "Kubernetes": { "command": "uv", "args": [ "--directory", "~/mcp/mcp-k8s-server", "run", "kubernetes.py" ] } } }
贡献
我们欢迎对MCP Kubernetes Server的贡献!如果您想贡献:
- 分叉仓库
- 为您的功能创建一个新的分支(
git checkout -b feature/amazing-feature) - 进行更改
- 根据需要编写或更新测试
- 提交您的更改(
git commit -m 'Add some amazing feature') - 将您的分支推送到远程仓库(
git push origin feature/amazing-feature) - 打开一个拉取请求
对于重大更改,请先打开一个问题来讨论您想要做的变更。
通过Smithery安装
要通过Smithery自动安装适用于Claude Desktop的Kubernetes Server:
npx -y @smithery/cli install @abhijeetka/mcp-k8s-server --client claude
服务配置
[{'mcpServers': {'Kubernetes': {'args': ['--directory', '~/mcp/mcp-k8s-server', 'run', 'kubernetes.py'], 'command': 'uv'}}}]
来源
- 来源:github
- 链接:https://github.com/abhijeetka/mcp-k8s-server