Cloudflare Backup

Integrates with
Cloudflare, GitHub

Cloudflare to GitHub Backup MCP Server

smithery badge

This is an MCP (Model Context Protocol) server that backs up Cloudflare projects to a GitHub repository.

Prerequisites

  • Node.js and npm installed.
  • A Cloudflare account and API token with read access to your projects.
  • A GitHub account and personal access token with "repo" scope.
  • A GitHub repository where you want to store the backups.

Installation

Installing via Smithery

To install Cloudflare to GitHub Backup for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @DynamicEndpoints/cloudflare-github-backup-mcp --client claude

Manual Installation

  1. Clone this repository:
    git clone <repository_url>
    cd cloudflare-github-backup
    
  2. Install dependencies:
    npm install
    
  3. Build the project
    npm run build
    

Configuration

  1. Obtain your Cloudflare API token:

    • Go to your Cloudflare dashboard.
    • Navigate to "My Profile" -> "API Tokens".
    • Click "Create Token".
    • Ensure the token has the necessary permissions to read your projects.
    • Copy the token.
  2. Obtain your GitHub personal access token:

    • Go to your GitHub settings.
    • Navigate to "Developer settings" -> "Personal access tokens".
    • Click "Generate new token".
    • Select the "repo" scope.
    • Copy the token.
  3. Edit the cline_mcp_settings.json file:

    {
      "mcpServers": {
        "cloudflare-backup": {
          "command": "node",
          "args": ["/path/to/cloudflare-github-backup/build/index.js"],
          "env": {
            "CLOUDFLARE_API_TOKEN": "your_cloudflare_api_token",
            "GITHUB_ACCESS_TOKEN": "your_github_access_token",
            "GITHUB_REPO_NAME": "your_github_repo_name"
          }
        }
      }
    }
    
    • Replace /path/to/cloudflare-github-backup with the actual path to the cloudflare-github-backup directory.
    • Replace your_cloudflare_api_token, your_github_access_token, and your_github_repo_name with your actual tokens and repository name.

Usage

  1. Start the MCP server by restarting the VS Code extension.

  2. Use the use_mcp_tool tool to call the backup_projects tool:

    <use_mcp_tool>
    <server_name>cloudflare-backup</server_name>
    <tool_name>backup_projects</tool_name>
    <arguments>
    {}
    </arguments>
    </use_mcp_tool>
    

    This will trigger the backup process. The server will log messages to the console indicating the progress.

Note

Currently, the backup logic is just a placeholder. It will log messages to the console but won't perform actual backups. The next step is to implement the actual backup logic using the Cloudflare and GitHub APIs.