使用说明

项目简介

Kom MCP Server 是一个基于 Kom Kubernetes 操作库构建的 MCP 服务器,旨在为大型语言模型(LLM)客户端提供 Kubernetes 集群的上下文信息和操作能力。它将 Kom 强大的 Kubernetes 资源管理功能通过标准化的 Model Context Protocol (MCP) 暴露出来,使得 LLM 应用能够安全、便捷地与 Kubernetes 集群进行交互。

主要功能点

  • 资源管理工具: 提供了一系列 MCP 工具,允许 LLM 客户端查询、获取和操作 Kubernetes 资源,例如 Pod、Deployment、Service 等。
  • 动态资源支持: 支持 Kubernetes 内置资源以及自定义资源 (CRD) 的操作,提供灵活的资源访问能力。
  • 多种操作类型: 支持资源的创建、读取、更新、删除 (CRUD) 以及 Describe 等详细信息查询操作。
  • SSE 协议支持: 通过 Server-Sent Events (SSE) 协议与 MCP 客户端进行通信,实现实时的上下文信息推送和交互。

安装步骤

Kom MCP Server 本身是一个 Go 应用程序,无需传统意义上的 "安装" 步骤。您只需确保已安装 Go 语言环境,并按照以下步骤运行服务器:

  1. 下载仓库: 从 GitHub 仓库 https://github.com/weibaohui/kom 克隆或下载源代码。
  2. 编译程序: 在仓库根目录下,使用 'go build -o kom-mcp-server ./mcp/server.go ./mcp/tools/dynamic/.go ./mcp/tools/pod/.go ./mcp/tools/metadata/.go ./mcp/.go ./callbacks/.go ./kom/.go ./utils/.go ./describe/.go ./example/*.go ./main.go' 命令编译生成可执行文件 'kom-mcp-server'(或根据您的系统环境进行调整)。
  3. 运行服务器: 执行 './kom-mcp-server --port 9096' 命令启动 MCP 服务器,默认端口为 '9096'。您可以通过 '--port' 参数自定义端口。

服务器配置

MCP 客户端需要配置以下 JSON 格式的服务器信息以连接 Kom MCP Server:

{
  "serverName": "kom-mcp-server",
  "command": "./kom-mcp-server",
  "args": [
    "--port", "9096"
  ],
  "description": "启动 Kom MCP Server,监听 9096 端口。"
}
  • 'serverName': MCP 服务器的名称,可以自定义。
  • 'command': 启动 MCP 服务器的可执行文件路径,根据您的实际情况填写。
  • 'args': 启动参数数组,例如指定端口号。
    • '--port': 指定 Kom MCP Server 监听的端口号,默认为 '9096'。
  • 'description': 服务器描述信息,方便客户端识别和管理。

基本使用方法

  1. 启动 Kom MCP Server: 在 Kubernetes 集群可以访问的环境中运行编译生成的可执行文件 'kom-mcp-server'。
  2. 配置 MCP 客户端: 在 LLM 应用或 MCP 客户端中,配置上述 JSON 格式的服务器信息,指定连接 Kom MCP Server。
  3. 调用 MCP 工具: 客户端通过 JSON-RPC 协议向 Kom MCP Server 发送请求,调用预定义的 MCP 工具,例如:
    • 'get_k8s_resource': 获取指定 Kubernetes 资源的详细信息。
    • 'list_k8s_resource': 列出 Kubernetes 资源列表。
    • 'describe_k8s_resource': 获取 Kubernetes 资源的 Describe 信息。
    • 'delete_k8s_resource': 删除 Kubernetes 资源。
    • 'get-pod': 获取 Pod 资源的详细信息。
  4. 接收响应: Kom MCP Server 处理请求后,将 Kubernetes 资源信息以 JSON 格式通过 SSE 响应返回给客户端。LLM 客户端可以解析这些信息,用于理解 Kubernetes 集群状态或执行进一步的操作。

注意: Kom MCP Server 依赖于 Kubernetes 集群的访问配置 (kubeconfig),请确保运行服务器的环境可以正确连接到目标 Kubernetes 集群。

信息

分类

AI与计算