A Model Context Protocol (MCP) server for uploading files to Cloudflare R2 storage.
R2 Upload MCP Server is an MCP project maintained in the leonho/r2-upload-mcp-server repository. The maintainer describes its purpose as “A Model Context Protocol (MCP) server for uploading files to Cloudflare R2 storage”. Read the project documentation for the complete scope.
The project provides a local client configuration using node. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.
The example declares R2_ACCOUNT_ID, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, R2_BUCKET_NAME, R2_ENDPOINT, R2_CUSTOM_DOMAIN. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| filePath | required): Local file path to upload |
| key | optional): Object key/name in the bucket (defaults to filename) |
| contentType | optional): MIME type of the file (auto-detected if not provided) |
| upload_file |
{
"mcpServers": {
"r2-upload": {
"command": "node",
"args": [
"./apps/r2-upload/dist/index.js"
],
"env": {
"R2_ACCOUNT_ID": "your-cloudflare-account-id",
"R2_ACCESS_KEY_ID": "YOUR_R2_ACCESS_KEY_ID",
"R2_SECRET_ACCESS_KEY": "YOUR_R2_SECRET_ACCESS_KEY",
"R2_BUCKET_NAME": "your-bucket-name",
"R2_ENDPOINT": "https://your-account-id.r2.cloudflarestorage.com",
"R2_CUSTOM_DOMAIN": "files.yourdomain.com"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| R2_ACCOUNT_ID | Declared in the maintainer’s client configuration. | Check documentation |
| R2_ACCESS_KEY_ID | Declared in the maintainer’s client configuration. | Check documentation |
| R2_SECRET_ACCESS_KEY | Declared in the maintainer’s client configuration. | Check documentation |
| R2_BUCKET_NAME | Declared in the maintainer’s client configuration. | Check documentation |
| R2_ENDPOINT | Declared in the maintainer’s client configuration. | Check documentation |
| R2_CUSTOM_DOMAIN | Declared in the maintainer’s client configuration. | Check documentation |
Stop letting your assistant hallucinate n8n node parameters — this server hands it the real schemas, templates and validation.
AWS Labs' official server suite — current AWS docs, CDK guidance, cost analysis and service tools.
Deploy containers on Kubernetes with x402 billing. 9 workload types and source builds.
Web scraping, inference, DNS, monitoring from residential IPs — pay per request in USDC
Gives any MCP-compatible AI assistant (Claude Code, Claude Desktop, Cursor, etc.) two tools to analyze AWS IAM policies and CloudFormation templates for security risks — privilege escalation paths…
Enables AI assistants to interact with Azure DevOps services via the Python SDK.