使用说明

项目简介

Kube-MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为LLM(大型语言模型)客户端提供与 Kubernetes 集群交互的能力。它通过注册一系列工具,允许LLM客户端安全、可控地执行 Kubernetes 集群的常见操作,例如查询 Pod、Deployment、Namespace 等信息。

主要功能点

  • 工具化 Kubernetes 操作: 提供了一系列预定义的工具,用于执行常见的 Kubernetes 集群信息查询操作。
  • 基于 MCP 协议: 遵循 MCP 协议标准,易于与任何兼容 MCP 协议的 LLM 客户端集成。
  • 安全可控: 通过工具的形式封装 Kubernetes 操作,LLM 客户端只能调用预先注册的工具,保证了集群操作的安全性和可控性。
  • 易于扩展: 工具的定义和处理逻辑分离,可以方便地扩展新的 Kubernetes 工具或集成其他类型的功能。
  • 支持 Stdio 传输协议: 通过标准输入输出流与客户端通信,部署和使用简单。

安装步骤

  1. 安装 Go 环境: 确保您的机器上已安装 Go 语言环境(版本需满足项目要求)。
  2. 安装 kube-mcp: 打开终端,执行以下命令安装 kube-mcp 可执行文件:
    go install github.com/orvice/kube-mcp/cmd/kubemcp@latest
    安装成功后,'kubemcp' 可执行文件通常会安装在 '$GOPATH/bin' 目录下,请确保该目录已添加到您的 'PATH' 环境变量中。

服务器配置

MCP 客户端需要配置以下 JSON 信息来连接 Kube-MCP Server。以下是一个基础配置示例,假设 'kubemcp' 可执行文件已在 PATH 环境变量中:

{
  "serverName": "kube-mcp",  // 服务器名称,可以自定义
  "command": "kubemcp",      // 启动服务器的命令,这里假设 kubemcp 可执行文件已在 PATH 中
  "args": []                 // 启动参数,当前 kube-mcp 不需要额外的启动参数
}

配置说明:

  • 'serverName': MCP 服务器的名称,客户端可以用来标识不同的服务器连接。
  • 'command': 启动 MCP 服务器的可执行文件命令。
  • 'args': 传递给服务器可执行文件的命令行参数,当前 'kube-mcp' 不需要额外的参数。

基本使用方法

  1. 启动 Kube-MCP Server: 在安装完成后,MCP 服务器会在客户端连接时自动启动(通常由 MCP 客户端负责启动和管理 MCP 服务器进程)。无需手动启动服务器,MCP 客户端会根据配置信息自动处理。

  2. 客户端调用工具: LLM 客户端需要根据 MCP 协议规范,向 Kube-MCP Server 发送 'CallTool' 请求,以调用预定义的 Kubernetes 工具。

    例如,要使用 'k8s_list_pods' 工具列出 'default' 命名空间下的 Pod,客户端需要构造如下的 JSON-RPC 请求:

    {
      "jsonrpc": "2.0",
      "method": "CallTool",
      "params": {
        "tool_name": "k8s_list_pods",
        "arguments": {
          "namespace": "default"
        }
      },
      "id": "1"
    }

    Kube-MCP Server 接收到请求后,会执行 'k8s_list_pods' 工具,并返回包含 Pod 列表的 JSON-RPC 响应。响应格式通常为:

    {
      "jsonrpc": "2.0",
      "result": {
        "tool_call_id": "1",
        "content_type": "text",
        "content": "Pods in namespace default:\n- pod-example-1 (Running)\n- pod-example-2 (Pending)\n..."
      },
      "id": "1"
    }

    客户端解析 'content' 字段即可获取工具执行结果。 可用工具及参数请参考 主要功能点 或项目仓库 README 文档。

注意:

  • Kube-MCP Server 没有实现 Prompt 模板功能,仅提供了资源和工具功能。
  • 客户端需要确保已配置 Kubernetes 访问权限(例如通过 kubeconfig 文件或 ServiceAccount),以便 Kube-MCP Server 能够成功连接到 Kubernetes 集群。

信息

分类

开发者工具