使用说明

项目简介

Kubernetes MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在为大型语言模型 (LLM) 提供与 Kubernetes 集群交互的能力。通过标准化的 MCP 协议,LLM 可以调用服务器提供的工具,安全、便捷地获取 Kubernetes 集群的资源信息和执行管理操作。

主要功能点

  • API 资源发现: 允许 LLM 获取 Kubernetes 集群中所有可用的 API 资源类型,例如 Pod、Deployment、Service 等。
  • 资源列表: 支持 LLM 查询指定类型的 Kubernetes 资源列表,并可以根据命名空间和标签进行过滤,精确获取所需信息。
  • 标准化接口: 采用 MCP 协议作为通信标准,确保与各种 MCP 客户端的兼容性和互操作性。
  • 灵活配置: 支持连接不同的 Kubernetes 集群环境,适应不同的资源访问范围和权限需求。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/reza-gholizade/k8s-mcp-server.git
    cd k8s-mcp-server
  2. 安装依赖:

    go mod download
  3. 构建服务器:

    go build -o k8s-mcp-server main.go

服务器配置

MCP 客户端需要以下配置信息来连接 Kubernetes MCP Server。请将以下 JSON 配置添加到您的 MCP 客户端配置中:

{
  "serverName": "Kubernetes MCP Server",  // 服务器名称,用于在客户端中标识
  "command": "./k8s-mcp-server",         // 启动服务器的命令,假设 k8s-mcp-server 可执行文件在当前目录下
  "args": []                             // 启动命令参数,此服务器无需额外参数
}

配置说明:

  • 'serverName': 自定义的服务器名称,方便在 MCP 客户端界面中识别和管理不同的 MCP 服务器连接。
  • 'command': 启动 Kubernetes MCP Server 的可执行文件路径。在完成安装步骤后,'k8s-mcp-server' 可执行文件应位于仓库根目录下。
  • 'args': 启动命令的参数列表。此 Kubernetes MCP Server 默认监听标准输入/输出,无需额外的启动参数。

基本使用方法

Kubernetes MCP Server 通过标准输入 (stdin) 接收来自 MCP 客户端的 JSON-RPC 请求,并通过标准输出 (stdout) 返回 JSON-RPC 响应。

示例请求:

  1. 获取 API 资源列表:

    发送以下 JSON 请求到服务器的标准输入,以获取 Kubernetes 集群中所有可用的 API 资源:

    {
      "tool": "getAPIResources",
      "params": {
        "includeNamespaceScoped": true,
        "includeClusterScoped": true
      }
    }

    服务器将返回包含 API 资源列表的 JSON 响应到标准输出。

  2. 列出 Pod 资源:

    发送以下 JSON 请求以列出 'default' 命名空间下标签为 'app=myapp' 的 Pod 资源:

    {
      "tool": "listResources",
      "params": {
        "Kind": "Pod",
        "namespace": "default",
        "labelSelector": "app=myapp"
      }
    }

    服务器将返回包含 Pod 资源列表的 JSON 响应。

请参考仓库 'README.md' 文件和代码示例,了解更多可用工具和参数信息。

信息

分类

开发者工具