MCP server for Backblaze B2 storage operations
npm install backblaze-mcp

A Model Context Protocol (MCP) server that provides seamless integration with Backblaze B2 cloud storage. Built as a wrapper around the backblaze-b2 npm package, this server enables MCP clients like Claude Desktop, VS Code, and Cursor to interact with your B2 buckets and files.
- Bucket Management - Create, delete, list, and update buckets
- File Operations - Upload, list, hide, and delete files
- Large File Support - Multipart uploads for files >100MB
- Key Management - Manage application keys and permissions
- Simple Setup - Just configure your B2 credentials in MCP config
1. Sign up at Backblaze B2
2. Go to App Keys in your account
3. Create a new application key
4. Copy the keyID and applicationKey
Add this configuration to your MCP client:
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
``json`
{
"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 (.vscode/mcp.json):
`json`
{
"servers": {
"backblaze-b2": {
"command": "npx",
"args": ["backblaze-mcp"],
"env": {
"B2_APPLICATION_KEY_ID": "your_key_id_here",
"B2_APPLICATION_KEY": "your_application_key_here"
}
}
}
}
- createBucket - Create a new bucketdeleteBucket
- - Delete a bucketlistBuckets
- - List all bucketsgetBucket
- - Get bucket infoupdateBucket
- - Change bucket type (public/private)
- getUploadUrl - Get upload URLuploadFile
- - Upload a file (base64-encoded)listFileNames
- - List files in a bucketlistFileVersions
- - List all file versionshideFile
- - Hide a file from listingsgetFileInfo
- - Get file metadatadeleteFileVersion
- - Delete a file versiongetDownloadAuthorization
- - Get download auth token
For files >100MB:
- startLargeFile - Start large file uploadgetUploadPartUrl
- - Get part upload URLuploadPart
- - Upload a file partlistParts
- - List uploaded partsfinishLargeFile
- - Complete the uploadcancelLargeFile
- - Cancel the upload
- createKey - Create application keysdeleteKey
- - Delete a keylistKeys
- - List all keys
``
1. Call getUploadUrl with your bucketId
2. Encode your file to base64
3. Call uploadFile with the URL, token, filename, and base64 data
``
1. Call startLargeFile to get a fileId
2. Split file into parts and upload each with uploadPart
3. Call finishLargeFile with SHA1 hashes of all parts
`bash`
git clone https://github.com/braveram/backblaze-mcp.git
cd backblaze-mcp
npm install
npm run build
File uploads use base64 encoding:
- Encode your file to base64 before calling uploadFile or uploadPart
- The server handles the conversion to binary for B2
Server won't start
- Check that B2_APPLICATION_KEY_ID and B2_APPLICATION_KEY` are set in your MCP config
- Verify credentials are valid in the B2 console
Upload fails
- Ensure data is properly base64-encoded
- Check bucket permissions
- Use large file operations for files >100MB
- backblaze-b2 - Official Backblaze B2 client
- @modelcontextprotocol/sdk - MCP SDK
MIT