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 资源。

安装步骤

  1. 前提条件:
    • 确保已安装 'kubectl' 命令行工具,并已配置可以访问 Kubernetes 集群的 'kubeconfig' 文件。
    • 确保已安装 Node.js 环境和包管理器 npm 或 bun。推荐使用 bun,参考 https://bun.sh/
  2. 克隆仓库:
    git clone https://github.com/Flux159/mcp-server-kubernetes.git
    cd mcp-server-kubernetes
  3. 安装依赖: 使用 bun:
    bun install
    或使用 npm:
    npm install
  4. 启动服务器: 使用 bun (开发模式,监听文件更改):
    bun run dev
    或使用 bun (生产模式):
    bun run build
    bun run start
    或使用 npm (生产模式):
    npm 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 集群。

基本使用方法

  1. 启动 MCP 服务器: 按照上述安装步骤启动 'mcp-server-kubernetes' 服务器。
  2. 配置 MCP 客户端: 将上述服务器配置 JSON 添加到您的 MCP 客户端配置文件中。
  3. 在 LLM 中使用: 在支持 MCP 协议的 LLM 应用中,您应该能够选择配置的 "kubernetes" 服务器。之后,您可以指示 LLM 使用 Kubernetes 工具来查询集群信息或执行管理操作。例如,您可以询问 LLM "列出 default 命名空间下的所有 Pod" 或 "创建一个名为 test-pod 的 Nginx Pod"。 LLM 客户端会通过 MCP 协议与此服务器通信,执行相应的 Kubernetes 操作,并将结果返回给您。

注意: 首次使用前,请确保您对 Kubernetes 集群的操作有足够的权限,并仔细阅读代码和相关文档,了解各个工具的具体功能和潜在风险。

信息

分类

开发者工具