Kubernetes MCP 服务器使用说明
项目简介
本项目 'mcp-server-kubernetes' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为LLM客户端提供 Kubernetes 集群的管理能力。通过此服务器,LLM应用可以安全、可扩展地与 Kubernetes 集群交互,执行诸如查询资源信息、管理 Pod 等操作。
主要功能点
- 连接 Kubernetes 集群: 自动连接到当前 'kubectl' 上下文配置的 Kubernetes 集群。
- 资源管理: 提供对 Kubernetes 核心资源 (如 Pod, Deployment, Service, Namespace) 的查询能力。
- 工具集成: 内置多种工具,允许 LLM 客户端执行 Kubernetes 操作,例如:
- 查看资源列表: 列出 Pod, Deployment, Service, Namespace 等资源。
- Pod 管理: 创建、删除、描述 Pod。
- 资源清理: 清理由该服务器创建的 Kubernetes 资源。
安装步骤
- 前提条件:
- 确保已安装 'kubectl' 命令行工具,并已配置可以访问 Kubernetes 集群的 'kubeconfig' 文件。
- 确保已安装 Node.js 环境和包管理器 npm 或 bun。推荐使用 bun,参考 https://bun.sh/。
- 克隆仓库:
git clone https://github.com/Flux159/mcp-server-kubernetes.git cd mcp-server-kubernetes - 安装依赖:
使用 bun:
或使用 npm:bun installnpm install - 启动服务器:
使用 bun (开发模式,监听文件更改):
或使用 bun (生产模式):bun run dev
或使用 npm (生产模式):bun run build bun run startnpm run build npm run start
服务器配置 (MCP 客户端配置)
在 MCP 客户端 (如 Claude Desktop) 的配置文件中,添加以下 JSON 配置以连接到此 MCP 服务器。
{ "mcpServers": { "kubernetes": { // 服务器名称,可以自定义,用于在客户端中标识该服务器 "command": "npx", // 启动服务器的命令,通常为 npx 或 node,取决于你的环境和包管理器 "args": ["mcp-server-kubernetes"] // 启动命令的参数,指向服务器的可执行文件或入口脚本 } } }
配置说明:
- '"kubernetes"': 服务器名称,您可以自定义此名称,用于在 MCP 客户端中引用和管理此 Kubernetes 服务器连接。
- '"command": "npx"': 指定用于启动服务器的命令。 'npx' 用于执行本地安装的 npm 包的可执行文件。如果全局安装了 'mcp-server-kubernetes',或者您希望直接使用 'node' 运行构建后的 JavaScript 文件,请相应地调整此命令。
- '"args": ["mcp-server-kubernetes"]': 'npx' 命令的参数。 '"mcp-server-kubernetes"' 会指向 'package.json' 中 'bin' 字段定义的可执行文件,通常在 'node_modules/.bin' 目录下。 如果您选择直接运行构建后的 JavaScript 文件,例如使用 'node build/index.js',则需要将 'args' 修改为 '["build/index.js"]'。
确保 'kubectl' 已正确配置: 服务器运行时会依赖您当前的 'kubectl' 配置 (通常位于 '~/.kube/config') 来连接 Kubernetes 集群。请确保 'kubectl' 可以正常访问您的目标 Kubernetes 集群。
基本使用方法
- 启动 MCP 服务器: 按照上述安装步骤启动 'mcp-server-kubernetes' 服务器。
- 配置 MCP 客户端: 将上述服务器配置 JSON 添加到您的 MCP 客户端配置文件中。
- 在 LLM 中使用: 在支持 MCP 协议的 LLM 应用中,您应该能够选择配置的 "kubernetes" 服务器。之后,您可以指示 LLM 使用 Kubernetes 工具来查询集群信息或执行管理操作。例如,您可以询问 LLM "列出 default 命名空间下的所有 Pod" 或 "创建一个名为 test-pod 的 Nginx Pod"。 LLM 客户端会通过 MCP 协议与此服务器通信,执行相应的 Kubernetes 操作,并将结果返回给您。
注意: 首次使用前,请确保您对 Kubernetes 集群的操作有足够的权限,并仔细阅读代码和相关文档,了解各个工具的具体功能和潜在风险。
信息
分类
开发者工具