使用说明

项目简介

Cloudflare MCP Server 是一个实现了 Model Context Protocol (MCP) 的后端服务器,旨在为 LLM 客户端提供访问和管理 Cloudflare 服务的统一接口。通过此服务器,LLM 可以安全地与 Cloudflare KV 存储、Workers 和 Analytics 等服务进行交互,扩展 LLM 的能力边界。

主要功能点

  • Cloudflare KV 存储操作: 支持 LLM 客户端通过 'kv_get', 'kv_put', 'kv_delete', 'kv_list' 等工具操作 Cloudflare KV 存储,实现数据的读取、存储、删除和列表查询,方便 LLM 应用进行数据持久化和检索。
  • Cloudflare Workers 管理: 允许 LLM 客户端使用 'worker_list', 'worker_get', 'worker_put', 'worker_delete' 等工具管理 Cloudflare Workers,包括列出 Worker、获取 Worker 脚本代码、创建或更新 Worker 脚本以及删除 Worker 脚本,使 LLM 能够动态部署和管理 Cloudflare Workers。
  • Cloudflare Analytics 数据获取: 提供 'analytics_get' 工具,使 LLM 客户端能够获取 Cloudflare Analytics 数据,例如网站请求量、带宽使用情况、安全威胁和页面浏览量等关键指标,并支持按日期范围过滤,帮助 LLM 理解和分析网站性能和安全状况。

安装步骤

  1. 克隆仓库
    git clone https://github.com/dinasaur404/mcp-cloudflare.git
  2. 进入项目目录
    cd mcp-cloudflare
  3. 配置环境变量
    • 复制 '.env.example' 文件并重命名为 '.env':
      cp .env.example .env
    • 编辑 '.env' 文件,根据注释填入您的 Cloudflare 账户 ID、API 令牌和 KV 命名空间 ID。
      CLOUDFLARE_ACCOUNT_ID=your_account_id_here
      CLOUDFLARE_API_TOKEN=your_api_token_here
      CLOUDFLARE_KV_NAMESPACE_ID=your_namespace_id_here
    请务必确保 Cloudflare API 令牌具有操作 KV 存储、Workers 和 Analytics 的相应权限。
  4. 安装依赖
    npm install

服务器配置

以下 JSON 配置信息用于 MCP 客户端连接 Cloudflare MCP Server。客户端需要配置 'serverName', 'command', 'args' 和 'transport' 字段。

{
  "serverName": "cloudflare-mcp-server",
  "command": "./start-cloudflare.sh",
  "args": [],
  "transport": "stdio"
}

配置说明:

  • 'serverName': 自定义服务器名称,用于在 MCP 客户端中标识该服务器连接。
  • 'command': 启动 Cloudflare MCP Server 的命令。这里配置为仓库中提供的 'start-cloudflare.sh' 脚本,该脚本会执行 'index.ts' 文件启动服务器。请确保您在克隆仓库的根目录下执行此命令。
  • 'args': 启动命令的参数。本服务器启动脚本无需额外参数,因此配置为空数组 '[]'。
  • 'transport': MCP 服务器使用的传输协议。本服务器使用标准输入输出 (stdio) 进行通信,因此配置为 '"stdio"'。

基本使用方法

  1. 启动服务器:在项目根目录下,运行 'start-cloudflare.sh' 脚本启动 Cloudflare MCP Server。

    ./start-cloudflare.sh

    服务器成功启动后,将通过标准错误输出 (stderr) 打印日志信息。

  2. 客户端调用工具:配置好 MCP 客户端并连接到 Cloudflare MCP Server 后,您可以通过客户端向服务器发送符合 MCP 协议的 JSON-RPC 请求,调用预定义的工具,例如:

    • 调用 'kv_get' 工具获取 KV 存储中的值,需要提供 'key' 参数。
    • 调用 'worker_list' 工具列出 Cloudflare Workers,无需参数。
    • 调用 'analytics_get' 工具获取 Analytics 数据,需要提供 'zoneId' (Zone ID) 和可选的 'since' (起始日期) 和 'until' (结束日期) 参数。

    具体的工具调用方法和参数,请参考仓库 'README.md' 文件中的 "Usage Examples" 部分,以及 'index.ts' 文件中定义的 'Tool' 结构和 'setRequestHandler' 中的工具调用处理逻辑。

    注意: 所有工具的调用都将通过标准输入 (stdin) 发送到 Cloudflare MCP Server,服务器处理请求后,将通过标准输出 (stdout) 返回 JSON-RPC 响应。

信息

分类

开发者工具