项目简介
mcp-server-kubernetes 是一个基于 Model Context Protocol (MCP) 构建的服务器,它充当 LLM 客户端和 Kubernetes 集群之间的桥梁。通过此服务器,LLM 可以安全地与 Kubernetes 集群交互,执行诸如查询资源信息、创建和删除 Pod 等操作。
主要功能点
- 连接 Kubernetes 集群: 自动连接到当前 'kubectl' 上下文配置的 Kubernetes 集群。
- 资源查询: 支持列出 Kubernetes 集群中的 Pod、Service、Deployment 和 Namespace 等资源信息。
- Pod 管理: 支持创建和删除 Kubernetes Pod。
- 工具集成: 通过 MCP 协议向 LLM 客户端暴露 Kubernetes 管理工具,允许 LLM 通过工具调用执行集群操作。
安装步骤
-
克隆仓库
git clone https://github.com/MCP-Mirror/Flux159_mcp-server-kubernetes.git cd Flux159_mcp-server-kubernetes -
安装依赖
确保你已安装 Bun,然后运行:
bun install
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接到 mcp-server-kubernetes 服务器。例如,在 Claude Desktop 中配置:
{ "mcpServers": { "kubernetes": { // 服务器名称,可以自定义 "command": "npx", // 启动命令,这里使用 npx 来执行本地安装的 npm 包 "args": ["mcp-server-kubernetes"] // 启动参数,这里指定执行 mcp-server-kubernetes } } }
配置说明:
- 'server name': 'kubernetes' (用户可以自定义服务器名称)
- 'command': 'npx' (Node Package Execute,用于执行本地 npm 包)
- 'args': '["mcp-server-kubernetes"]' (执行 'mcp-server-kubernetes' 包,即启动 MCP 服务器)
前提条件:
- 确保已安装 'kubectl' 并已添加到系统 PATH 环境变量中。
- 确保已配置有效的 'kubeconfig' 文件,并且 'kubectl' 可以连接到 Kubernetes 集群 (例如 minikube, Rancher Desktop, GKE 等)。
- 可以通过在终端执行 'kubectl get pods' 命令来验证 'kubectl' 是否能正常连接到集群。
基本使用方法
-
启动 MCP 服务器: 在安装步骤完成后,当 MCP 客户端(如 Claude Desktop)尝试连接配置的服务器时,服务器将自动启动。
-
通过 LLM 客户端与 Kubernetes 交互: 在 LLM 客户端中,你可以指示 LLM 使用 Kubernetes 服务器提供的工具来管理集群。例如,你可以询问:
- "列出我 Kubernetes 集群中的所有 Pod"
- "在 default namespace 中创建一个 Nginx Pod"
- "删除名为 test-pod 的 Pod"
- "列出所有 Kubernetes Namespace"
LLM 客户端会根据你的指令调用相应的 MCP 工具,并返回 Kubernetes 集群的信息或执行操作结果。
注意: 该服务器目前仅支持通过当前 'kubectl' 上下文连接的 Kubernetes 集群,并且功能还在持续完善中。
信息
分类
开发者工具