使用说明

项目简介

这是一个基于 Model Context Protocol (MCP) 实现的服务器,旨在作为大型语言模型 (LLM) 客户端与阿里云边缘安全加速 (ESA) 服务之间的桥梁。它将 ESA 的各种管理 API 封装为标准的 MCP 工具,允许 LLM 通过 MCP 协议调用这些工具,实现对 ESA 资源的自动化管理和操作,例如创建、删除、部署和管理边缘例程 (Edge Routines) 以及相关的域名记录和站点配置。

主要功能点

  • 暴露 ESA API 为工具: 将阿里云 ESA 服务的 API 接口转换为遵循 MCP Tool 规范的工具集合,供 LLM 客户端调用。
  • 边缘例程 (Routine) 管理: 提供创建、删除、列出、获取例程详情、提交例程代码至暂存环境以及部署例程代码至指定环境(生产/预发/金丝雀)的能力。
  • 例程路由 (Route) 管理: 支持创建、更新、删除、获取路由详情以及列出例程或站点的路由信息,用于控制流量如何匹配并转发到边缘例程。
  • 站点 (Site) 与记录管理: 能够列出账号下的活跃站点,查找与用户输入匹配的站点,以及在站点下创建 A 记录和 CNAME 记录,并列出站点的所有记录。
  • 记录 (Record) 管理: 提供创建、删除和列出例程相关的记录的能力。
  • 通过 Stdio 通信: 服务器通过标准输入输出 (Stdio) 协议与 MCP 客户端进行交互。

安装步骤

该服务器通常作为 MCP 生态系统的一部分,以 npm 包的形式发布。用户无需手动在系统上全局安装。标准的 MCP 客户端(例如 'cline' 或支持 MCP 的其他应用)会根据其配置文件自动下载并运行该服务器。您只需确保您的系统具备运行 Node.js 应用的环境即可。

服务器配置

该 MCP 服务器的配置需要在您使用的 MCP 客户端的配置文件中完成。通常,您需要在客户端配置文件的 'mcpServers' 字段中添加一个条目来描述如何启动和连接到此服务器。以下是一个典型的配置示例(以 JSON 格式表示):

{
  "mcpServers": {
    "esa-mcp-server": { // 您为该服务器在客户端中指定的唯一名称
      "command": "npx", // 用于启动服务器进程的命令
      "args": ["-y", "mcp-server-esa"], // 传递给 command 的参数,"-y mcp-server-esa" 表示使用 npx 直接运行 mcp-server-esa 包
      "env": { // 启动服务器进程时需要设置的环境变量,用于阿里云认证
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "此处填写您阿里云账号的Access Key ID",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "此处填写您阿里云账号的Access Key Secret",
        "ALIBABA_CLOUD_SECURITY_TOKEN": "此处填写STS Token (如果使用STS临时凭证则必需,否则可留空或省略此行)"
      }
    }
    // 如果有其他MCP服务器,可以在此处继续添加配置...
  },
  // 客户端的其他配置项...
}

配置完成后,当您启动配置了上述信息的 MCP 客户端时,客户端会自动尝试启动并连接到 'esa-mcp-server'。

基本使用方法

在 MCP 客户端成功连接到 'esa-mcp-server' 后,客户端会通过 MCP 协议发现该服务器提供的所有工具(如 'routine_create', 'site_active_list' 等)及其详细的输入参数定义 ('inputSchema') 和描述。之后,LLM 就可以利用这些信息,通过客户端发起 Tool Calling 的请求,调用相应的 ESA 管理工具来执行具体任务。具体的交互方式取决于您的 MCP 客户端如何集成 Tool Calling 功能。LLM 会根据用户的指令和工具的描述,生成符合工具 'inputSchema' 格式的参数,并通过客户端发送给 'esa-mcp-server' 执行。服务器执行完成后,会将结果返回给客户端,进而呈现给 LLM 或用户。

信息

分类

AI与计算