backblaze-mcp
v0.3.0
Published
MCP server for Backblaze B2 storage operations
Downloads
353
Maintainers
Readme
Backblaze B2 MCP Server
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.
Features
- 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
Configuration
Get B2 Credentials
- Sign up at Backblaze B2
- Go to App Keys in your account
- Create a new application key
- Copy the keyID and applicationKey
MCP Client Setup
Add this configuration to your MCP client:
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.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):
{
"servers": {
"backblaze-b2": {
"command": "npx",
"args": ["backblaze-mcp"],
"env": {
"B2_APPLICATION_KEY_ID": "your_key_id_here",
"B2_APPLICATION_KEY": "your_application_key_here"
}
}
}
}Available Tools
Bucket Management (5 tools)
createBucket- Create a new bucketdeleteBucket- Delete a bucketlistBuckets- List all bucketsgetBucket- Get bucket infoupdateBucket- Change bucket type (public/private)
File Operations (7 tools)
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
Large File Operations (5 tools)
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
Key Management (3 tools)
createKey- Create application keysdeleteKey- Delete a keylistKeys- List all keys
Usage Examples
Upload a File
1. Call getUploadUrl with your bucketId
2. Encode your file to base64
3. Call uploadFile with the URL, token, filename, and base64 dataLarge File Upload
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 partsDevelopment
Build from Source
git clone https://github.com/braveram/backblaze-mcp.git
cd backblaze-mcp
npm install
npm run buildBinary Data
File uploads use base64 encoding:
- Encode your file to base64 before calling
uploadFileoruploadPart - The server handles the conversion to binary for B2
Troubleshooting
Server won't start
- Check that
B2_APPLICATION_KEY_IDandB2_APPLICATION_KEYare 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
Built With
- backblaze-b2 - Official Backblaze B2 client
- @modelcontextprotocol/sdk - MCP SDK
License
MIT
