使用说明(Markdown 格式)

  • 项目简介

    • poly-k8s-mcp 是一个基于 MCP(Model Context Protocol)标准的服务器实现,使用 Deno 运行,聚合了 kubectl、helm、kustomize 等 Kubernetes 相关工具,提供统一的工具列表、执行与结果输出能力,通过 MCP 的 JSON-RPC 方式与客户端通信。
    • 服务器通过标准输入输出(stdio)进行 JSON-RPC 的消息传输,便于与各种 MCP 客户端集成。
  • 主要功能点

    • MCP 基础协议实现:支持初始化(initialize)、获取工具列表(tools/list)以及执行工具调用(tools/call)的请求/响应流程。
    • 适配器集合:将 kubectl、helm、kustomize 三类工具的调用统一路由与执行,内部实现了相应工具的参数解析与执行。
    • JSON-RPC 传输:通过 Content-Length 头部的消息边界来接收和发送 MCP JSON-RPC 请求与响应。
    • 会话与能力声明:在初始化阶段返回服务器信息、协议版本以及能力声明,便于客户端了解可用工具。
    • 安全与运行环境:以 Den o 运行时为基础,提供所需的运行权限(执行外部命令、读写文件等),可在受控环境中使用。
  • 安装步骤

    • 前提条件:已安装 Deno 运行时。
    • 步骤
      1. 克隆或下载该仓库到本地。
      2. 确保 main.js 及相关适配器文件在同一目录结构下(默认路径如下:main.js、lib/es6/src/adapters/...)。
      3. 使用命令启动服务器: deno run --allow-run --allow-read --allow-env --allow-write main.js
      4. 服务器启动后将通过 stdio 进行 MCP 客户端的通信。
  • 服务器配置(JSON 形式,供 MCP 客户端了解如何连接) 说明:客户端实际无需直接依赖这段配置,但用于描述服务器的启动命令与参数,便于运维与集成文档理解。 { "serverName": "poly-k8s-mcp", "command": "deno", "args": [ "run", "--allow-run", "--allow-read", "--allow-env", "--allow-write", "main.js" ] }

  • 基本使用方法

    • 客户端连接与初始化
      • 向 MCP 服务器发送 initialize 请求,获取协议版本、服务器信息以及能力声明。
    • 获取工具列表
      • 发送 tools/list 请求,获得可用工具的名称、描述和输入模式(inputSchema)。
    • 调用工具
      • 通过 tools/call 请求指定要执行的工具名称(如 kubectl_get、helm_install、kustomize_build 等)以及参数(arguments)。
      • 服务器将执行相应的外部工具并返回输出内容或错误信息,输出内容以文本形式呈现,便于 LLM 客户端进行展示或进一步处理。
    • 典型工作流
      • 初始化 -> 获取工具列表 -> 选择需要的工具 -> 传入参数执行 -> 读取执行结果
    • 运行环境注意
      • 由于服务器需要执行外部命令(kubectl, helm, kustomize),请确保宿主环境中已正确安装并可被Den o 访问的相应二进制文件,以及具备必要的权限。

信息

分类

开发者工具