home / mcp / backblaze b2 mcp server

Backblaze B2 MCP Server

Provides an MCP bridge to Backblaze B2 for bucket and file operations, including large file uploads and key management.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "braveram-backblaze-mcp": {
      "command": "npx",
      "args": [
        "backblaze-mcp"
      ],
      "env": {
        "B2_APPLICATION_KEY": "your_application_key_here",
        "B2_APPLICATION_KEY_ID": "your_key_id_here"
      }
    }
  }
}

You can connect MCP clients to Backblaze B2 and manage buckets, files, and large uploads with ease. This server acts as a bridge, enabling tools like Claude Desktop, VS Code, and Cursor to interact with your B2 storage through familiar MCP operations.

How to use

With the Backblaze B2 MCP Server you can manage buckets, upload and list files, handle large files with multipart uploads, and manage access keys. You interact with the server through MCP clients, performing actions such as creating buckets, uploading files, listing contents, hiding files, and retrieving download authorizations. Use the supported tools to organize your storage and integrate B2 into your workflows.

How to install

Prerequisites: you need Node.js and npm installed on your machine.

Step 1: Clone the MCP server repository.

Step 2: Install dependencies.

Step 3: Build the project.

git clone https://github.com/braveram/backblaze-mcp.git
cd backblaze-mcp
npm install
npm run build

Configuration and usage notes

To use the server, you must provide your Backblaze B2 credentials. Create an application key in Backblaze B2 and copy the keyID and applicationKey. Then configure your MCP client to supply these credentials when connecting to the server.

Client configurations shown here enable your MCP clients to start the server wrapper with the correct environment variables.

// Claude Desktop configuration (example)
{
  "mcpServers": {
    "backblaze-b2": {
      "command": "npx",
      "args": ["backblaze-mcp"],
      "env": {
        "B2_APPLICATION_KEY_ID": "your_key_id_here",
        "B2_APPLICATION_KEY": "your_application_key_here"
      }
    }
  }
}
```

```
// VS Code/Cursor configuration (example)
{
  "servers": {
    "backblaze-b2": {
      "command": "npx",
      "args": ["backblaze-mcp"],
      "env": {
        "B2_APPLICATION_KEY_ID": "your_key_id_here",
        "B2_APPLICATION_KEY": "your_application_key_here"
      }
    }
  }
}

Security and keys

Treat your Backblaze B2 application key and key ID as sensitive information. Store them securely in your client configuration or an environment manager, and do not share them publicly.

Use application keys with proper permissions to limit access to only the actions you need, such as bucket management and file operations.

Troubleshooting

Server won’t start? Ensure B2_APPLICATION_KEY_ID and B2_APPLICATION_KEY are set in your MCP client configuration and verify the credentials are valid in the Backblaze B2 console.

Upload failures? Check that your data is properly base64-encoded if you are using the base64-encoded upload flow, verify bucket permissions, and use the large-file flow for files larger than 100 MB.

Notes

File uploads can use base64 encoding for payloads. The server handles conversion to binary for Backblaze B2.

Available tools

createBucket

Create a new bucket by name and type (public/private).

deleteBucket

Delete a bucket by its identifier.

listBuckets

List all buckets in your B2 account.

getBucket

Retrieve information about a specific bucket.

updateBucket

Change a bucket's type or permissions.

getUploadUrl

Obtain an upload URL for a bucket to begin a new file upload.

uploadFile

Upload a file to a bucket, using base64-encoded data.

listFileNames

List the names of files in a bucket.

listFileVersions

List all versions for a given file.

hideFile

Hide a file from standard listings without deleting it.

getFileInfo

Retrieve metadata for a specific file.

deleteFileVersion

Delete a specific version of a file.

getDownloadAuthorization

Get a download authorization token for a file.

startLargeFile

Begin a multipart upload for large files (>100 MB).

getUploadPartUrl

Get a URL to upload a file part.

uploadPart

Upload a part of a large file.

listParts

List uploaded parts for a large file upload.

finishLargeFile

Complete the multipart upload by assembling parts.

cancelLargeFile

Cancel an in-progress large file upload.

createKey

Create a new application key with defined permissions.

deleteKey

Delete an existing application key.

listKeys

List all application keys.