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 仓库中的备份记录,方便用户了解备份状态和选择特定版本进行恢复。
安装步骤
- 克隆仓库: 使用 'git clone https://github.com/DynamicEndpoints/cloudflare-github-backup-mcp' 命令将仓库克隆到本地。
- 进入目录: 使用 'cd cloudflare-github-backup-mcp' 命令进入项目目录。
- 安装依赖: 运行 'npm install' 命令安装项目依赖。
- 构建项目: 运行 '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 访问令牌、仓库名称和用户名等敏感信息,请务必替换为您的真实信息。
基本使用方法
-
启动 MCP 服务器: 配置完成后,重启您的 MCP 客户端 (例如 VS Code 扩展) 以启动 Cloudflare Backup MCP Server。
-
调用工具: 在 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 项目数量和配置复杂程度。备份和恢复进度将在服务器控制台输出。
信息
分类
开发者工具