使用说明(Markdown 格式)

  • 项目简介

    • poly-cloud-mcp 是一个通过 MCP(Model Context Protocol)风格的服务器实现,旨在向 LLM 客户端提供对多家云服务提供商的工具接口。服务器以 JSON-RPC 2.0 作为通信协议,通过标准输入输出(stdio)或其他传输方式提供能力,核心功能包括工具注册与执行、服务器初始化、工具清单查询等。
  • 主要功能点

    • 初始化与能力声明:向客户端提供协议版本、服务器信息以及可用工具的能力描述。
    • 工具注册与分发:聚合来自 AWS、GCP、Azure、DigitalOcean 等适配器的工具集合,统一对外暴露。
    • 工具执行:按名称路由调用到对应云提供商的适配器,执行实际云操作并返回结果。
    • JSON-RPC 通信:遵循 MCP 风格的请求/响应格式,支持 initialize、tools/list、tools/call 等基本接口。
    • 基本的多租户/会话支持(通过请求中的 id 进行跟踪与响应)。
  • 安装步骤

    • 该实现使用 Deno 运行环境,需具备 Deno 运行权限。
    • 下载仓库并进入项目目录后,执行服务器启动命令即可(示例在下方的配置字段中给出具体命令和参数)。
  • 服务器配置(MCP 客户端所需配置,客户端不需要此信息,但用于描述如何启动服务器)

    • 以下 JSON 配置用于说明服务器的启动命令与参数: { "server_name": "poly-cloud-mcp", "command": "deno", "args": ["run","--allow-run","--allow-read","--allow-env","main.js"] }
    • 说明:
      • server_name: 服务器的唯一标识名称,与 MCP 客户端对接时使用的服务器描述一致。
      • command: 启动服务器所使用的执行程序,在本实现中为 deno。
      • args: 启动参数,包含对运行时的权限开关以及要执行的主入口脚本(main.js)。
  • 基本使用方法

    • 启动服务器:在合适的终端执行上面的启动命令组合,例如 deno run --allow-run --allow-read --allow-env main.js。
    • 与客户端对接:MCP 客户端通过 JSON-RPC 与服务器进行通信,先发送 initialize 请求获取协议版本和服务器信息,然后请求 tools/list 获取可用工具列表,最后使用 tools/call 发送具体工具调用请求。
    • 调用流程示例(非代码块描述):
      1. 客户端发送 initialize,请求带有唯一 id,服务器返回 protocolVersion、serverInfo、capabilities。
      2. 客户端发送 tools/list,请求带有相同的 id,服务器返回工具列表,每个工具包含 name、description、inputSchema。
      3. 客户端选择某个工具,构造 tools/call 请求,包含 tool name 与参数(arguments),服务器将参数分发到相应云提供商的适配器并返回执行结果。
    • 运行与维护要点:
      • 服务器将依赖底层云提供商的命令行工具(如 AWS CLI、gcloud、az、doctl)可用且正确配置。
      • 需要对环境变量、权限、API 配额等进行妥善管理,避免在生产环境中产生安全风险。
  • 备注

    • 该实现聚焦于 Tools 的暴露与执行能力,未显示完整的 Resources(资源数据存取)、Prompts(模板渲染)等 MCP 其他核心部分的完整实现,但已具备标准 MCP 服务端的核心请求/响应与工具路由能力,适合作为多云环境下的对话式自动化后端。

信息

分类

AI与计算