使用说明(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 运行时。
- 步骤
- 克隆或下载该仓库到本地。
- 确保 main.js 及相关适配器文件在同一目录结构下(默认路径如下:main.js、lib/es6/src/adapters/...)。
- 使用命令启动服务器: deno run --allow-run --allow-read --allow-env --allow-write main.js
- 服务器启动后将通过 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 访问的相应二进制文件,以及具备必要的权限。
- 客户端连接与初始化
信息
分类
开发者工具