Cloudflare to GitHub Backup MCP Server
# Cloudflare to GitHub Backup MCP Server
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
1. Clone this repository:
```bash
git clone <repository_url>
cd cloudflare-github-backup
```
2. Install dependencies:
```bash
npm install
```
3. Build the project
```bash
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:
```json
{
"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:
```xml
<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.