Cloudflare Backup MCP Server 使用说明

项目简介

Cloudflare Backup MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在帮助用户将 Cloudflare 项目的配置信息备份到 GitHub 仓库中,并提供恢复功能。它通过 MCP 协议与客户端通信,提供工具供 LLM 应用调用,实现 Cloudflare 项目的自动化备份和管理。

主要功能点

  • Cloudflare 项目备份: 将 Cloudflare 项目的 DNS 记录、页面规则、Worker 脚本、自定义页面、SSL/TLS 设置、防火墙规则、访问规则和速率限制规则等配置信息备份到 GitHub 仓库。备份内容以 JSON 文件形式存储,并按时间戳组织,方便版本管理和回溯。
  • Cloudflare 项目恢复 (部分实现): 支持从 GitHub 仓库中恢复 Cloudflare 项目的配置信息。目前恢复功能为部分实现,可能需要用户自行完善。
  • 备份列表查询: 允许查询指定 Cloudflare 项目在 GitHub 仓库中的备份记录,方便用户了解备份状态和选择特定版本进行恢复。

安装步骤

  1. 克隆仓库: 使用 'git clone https://github.com/DynamicEndpoints/cloudflare-github-backup-mcp' 命令将仓库克隆到本地。
  2. 进入目录: 使用 'cd cloudflare-github-backup-mcp' 命令进入项目目录。
  3. 安装依赖: 运行 'npm install' 命令安装项目依赖。
  4. 构建项目: 运行 'npm run build' 命令构建项目,生成可执行的 JavaScript 代码。

服务器配置

MCP 客户端需要配置 'cline_mcp_settings.json' 文件来启动和连接 Cloudflare Backup MCP Server。以下是配置示例,请根据实际情况修改:

{
  "mcpServers": {
    "cloudflare-backup": {
      "command": "node",
      "args": ["/path/to/cloudflare-github-backup-mcp/build/index.js"],
      "env": {
        "CLOUDFLARE_API_TOKEN": "YOUR_CLOUDFLARE_API_TOKEN",  // 您的 Cloudflare API 令牌,需要具备读取项目信息的权限
        "GITHUB_ACCESS_TOKEN": "YOUR_GITHUB_ACCESS_TOKEN",     // 您的 GitHub 个人访问令牌,需要具备 "repo" 权限
        "GITHUB_REPO_NAME": "YOUR_GITHUB_REPO_NAME",        // 用于存储备份的 GitHub 仓库名称
        "GITHUB_USERNAME": "YOUR_GITHUB_USERNAME"           // 您的 GitHub 用户名
      }
    }
  }
}

配置参数说明:

  • '"command": "node"': 指定启动服务器的命令为 'node',确保您的环境中已安装 Node.js。
  • '"args": ["/path/to/cloudflare-github-backup-mcp/build/index.js"]': 指定服务器启动参数,指向构建后的 'index.js' 文件路径。请将 '/path/to/cloudflare-github-backup-mcp' 替换为实际的项目本地路径。
  • '"env"': 环境变量配置,用于传递 Cloudflare API 令牌、GitHub 访问令牌、仓库名称和用户名等敏感信息,请务必替换为您的真实信息

基本使用方法

  1. 启动 MCP 服务器: 配置完成后,重启您的 MCP 客户端 (例如 VS Code 扩展) 以启动 Cloudflare Backup MCP Server。

  2. 调用工具: 在 MCP 客户端中使用 '<use_mcp_tool>' 标签调用服务器提供的工具。

    • 备份所有 Cloudflare 项目:

      <use_mcp_tool>
        <server_name>cloudflare-backup</server_name>
        <tool_name>backup_projects</tool_name>
        <arguments>{}</arguments>
      </use_mcp_tool>
    • 列出指定 Cloudflare 项目的备份: (假设您已知项目 ID 为 'your_project_id')

      <use_mcp_tool>
        <server_name>cloudflare-backup</server_name>
        <tool_name>list_backups</tool_name>
        <arguments>
          {"projectId": "your_project_id"}
        </arguments>
      </use_mcp_tool>
    • 恢复指定 Cloudflare 项目: (假设您已知项目 ID 为 'your_project_id',可选择指定 'timestamp' 参数恢复特定备份,不指定则恢复最新备份)

      <use_mcp_tool>
        <server_name>cloudflare-backup</server_name>
        <tool_name>restore_project</tool_name>
        <arguments>
          {"projectId": "your_project_id"}
        </arguments>
      </use_mcp_tool>

请注意,首次备份可能需要一些时间,具体取决于您的 Cloudflare 项目数量和配置复杂程度。备份和恢复进度将在服务器控制台输出。

信息

分类

开发者工具