R2 Upload MCP Server

A Model Context Protocol (MCP) server for uploading files to Cloudflare R2 storage.

Local serverstdio

What is the R2 Upload MCP Server?

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.

Local setup

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.

Configuration values

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.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
filePathrequired): Local file path to upload
keyoptional): Object key/name in the bucket (defaults to filename)
contentTypeoptional): MIME type of the file (auto-detected if not provided)
upload_file

How to install the R2 Upload MCP Server

{
  "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.

Configuration

VariableDescriptionRequired
R2_ACCOUNT_IDDeclared in the maintainer’s client configuration.Check documentation
R2_ACCESS_KEY_IDDeclared in the maintainer’s client configuration.Check documentation
R2_SECRET_ACCESS_KEYDeclared in the maintainer’s client configuration.Check documentation
R2_BUCKET_NAMEDeclared in the maintainer’s client configuration.Check documentation
R2_ENDPOINTDeclared in the maintainer’s client configuration.Check documentation
R2_CUSTOM_DOMAINDeclared in the maintainer’s client configuration.Check documentation