About Dropbox
Dropbox MCP Server is a Go-based MCP server for Claude and other AI assistants to work with Dropbox files and folders. It combines file operations with sharing and revision management, using OAuth 2.0 authentication.
Key features
- 01Browser-based OAuth 2.0 authentication
- 02File search and transfers
- 03Folder management
- 04Shared link management
- 05View and restore file revisions
- 06Chunked uploads for large files
Use cases
- 01Search and download Dropbox files
- 02Upload, move, or copy files
- 03Create or revoke shared links
- 04Review and restore earlier file versions
MCP support
The MCP server exposes Dropbox authentication, file and folder operations, shared links, and revision management as tools for MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEDropbox MCP Server
A Model Context Protocol (MCP) server implementation for Dropbox integration, written in Go. This server allows AI assistants like Claude to interact with Dropbox through a standardized protocol.
Features
- OAuth 2.0 Authentication: Secure authentication with Dropbox using browser-based OAuth flow
- File Operations: List, search, download, upload, move, copy, and delete files
- Folder Management: Create folders and navigate directory structures
- Sharing: Create, list, and revoke shared links
- Version Control: View file revision history and restore previous versions
- Large File Support: Automatic chunked upload for files over 150MB
Prerequisites
- A Dropbox account
- Claude Desktop application
- Go 1.21 or higher (only for building from source)
Installation
Option 1: Install with Homebrew (macOS/Linux)
brew tap ngs/tap
brew install dropbox-mcp-server
Option 2: Install with Go
go install go.ngs.io/dropbox-mcp-server@latest
Option 3: Download Pre-built Binary
Download the latest release for your platform from the releases page.
# Example for macOS (Apple Silicon)
curl -L https://github.com/ngs/dropbox-mcp-server/releases/latest/download/dropbox-mcp-server_darwin_arm64.tar.gz | tar xz
sudo mv dropbox-mcp-server /usr/local/bin/
# Example for macOS (Intel)
curl -L https://github.com/ngs/dropbox-mcp-server/releases/latest/download/dropbox-mcp-server_darwin_amd64.tar.gz | tar xz
sudo mv dropbox-mcp-server /usr/local/bin/
# Example for Linux (x86_64)
curl -L https://github.com/ngs/dropbox-mcp-server/releases/latest/download/dropbox-mcp-server_linux_amd64.tar.gz | tar xz
sudo mv dropbox-mcp-server /usr/local/bin/
Option 4: Build from Source
git clone https://github.com/ngs/dropbox-mcp-server.git
cd dropbox-mcp-server
go build -o dropbox-mcp-server
Setup
⚠️ Security Notice
IMPORTANT: Each user must create their own Dropbox App. Never share or embed CLIENT_SECRET in binaries. See SECURITY.md for details.
1. Create a Dropbox App
- Go to Dropbox App Console
- Click "Create app"
- Choose configuration:
- Choose an API: Select "Scoped access"
- Choose the type of access: Select "Full Dropbox" or "App folder" based on your needs
- Name your app: Enter a unique name for your app
- After creation, go to the app's settings page
- Under "OAuth 2", add redirect URI:
http://localhost:8080/callback - Note down your App key (Client ID) and App secret (Client Secret)
- In the "Permissions" tab, ensure the following scopes are selected:
files.content.read- View content of your Dropbox files and foldersfiles.content.write- Edit content of your Dropbox files and foldersfiles.metadata.read- View information about your Dropbox files and foldersfiles.metadata.write- View and edit information about your Dropbox files and folderssharing.read- View your shared files and folderssharing.write- Create and modify your shared files and folders
2. Configure Claude Desktop
Option A: Using Claude MCP CLI (Recommended)
If you have Claude MCP CLI installed, you can register the server with a single command:
# Basic registration (replace with YOUR OWN App credentials)
claude mcp add dropbox dropbox-mcp-server \
--env DROPBOX_CLIENT_ID=your_own_app_key \
--env DROPBOX_CLIENT_SECRET=your_own_app_secret
# With custom binary path
claude mcp add dropbox /path/to/dropbox-mcp-server \
--env DROPBOX_CLIENT_ID=your_own_app_key \
--env DROPBOX_CLIENT_SECRET=your_own_app_secret
⚠️ Security: Use credentials from YOUR OWN Dropbox App. Never use shared credentials.
Option B: Manual Configuration
Add the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"dropbox": {
"command": "dropbox-mcp-server",
"env": {
"DROPBOX_CLIENT_ID": "your_app_key_here",
"DROPBOX_CLIENT_SECRET": "your_app_secret_here"
}
}
}
}
Note:
- If you installed via Homebrew or placed the binary in
/usr/local/bin, you can use just"command": "dropbox-mcp-server" - If you built from source or downloaded to a custom location, use the full path:
"command": "/path/to/dropbox-mcp-server"
3. Verify Installation
After configuration, restart Claude Desktop and verify the server is connected:
# List registered MCP servers (if using Claude MCP CLI)
claude mcp list
# Remove a server if needed
claude mcp remove dropbox
Usage
Initial Authentication
When you first use the Dropbox MCP server in Claude:
- Use the
dropbox_authtool to authenticate - Your browser will open to Dropbox's authorization page
- Log in and authorize the app
- You'll be redirected to a success page
- The authentication token will be saved to
~/.dropbox-mcp-server/config.json
Available Tools
Authentication
dropbox_auth- Authenticate with Dropboxdropbox_check_auth- Check authentication status
File Operations
dropbox_list- List files and foldersdropbox_search- Search for filesdropbox_get_metadata- Get file/folder metadatadropbox_download- Download file contentdropbox_upload- Upload a filedropbox_create_folder- Create a new folderdropbox_move- Move or rename files/foldersdropbox_copy- Copy files/foldersdropbox_delete- Delete files/folders
Sharing
dropbox_create_shared_link- Create a shared linkdropbox_list_shared_links- List existing shared linksdropbox_revoke_shared_link- Revoke a shared link
Version Control
dropbox_get_revisions- Get file revision historydropbox_restore_file- Restore a file to a previous version
Example Commands in Claude
"Please authenticate with Dropbox"
"List all files in my Dropbox root folder"
"Search for PDF files containing 'invoice'"
"Upload this text to /Documents/notes.txt"
"Create a shared link for /Photos/vacation.jpg"
"Show me the revision history of /Documents/report.docx"
Configuration
The server stores configuration in ~/.dropbox-mcp-server/config.json:
{
"client_id": "your_client_id",
"client_secret": "your_client_secret",
"access_token": "your_access_token",
"refresh_token": "your_refresh_token",
"expires_at": "2024-01-01T00:00:00Z"
}
Tokens are automatically refreshed when they expire.
Security Considerations
- The configuration file contains sensitive tokens and is stored with 0600 permissions
- Client credentials can be provided via environment variables instead of config file
- OAuth flow uses state parameter to prevent CSRF attacks
- All API calls use HTTPS
Troubleshooting
Authentication Issues
- Ensure redirect URI is correctly configured in Dropbox App Console
- Check that client ID and secret are correct
- Try deleting
~/.dropbox-mcp-server/config.jsonand re-authenticating
Permission Errors
- Verify your Dropbox app has the required scopes enabled
- Check file paths are correct (use forward slashes, start with /)
Connection Issues
- Ensure you have internet connectivity
- Check if Dropbox API is accessible from your network
- Review stderr output for detailed error messages
Development
Building from Source
go mod download
go build -o dropbox-mcp-server
Running Tests
go test ./...
Project Structure
dropbox-mcp-server/
├── main.go # MCP server implementation
├── go.mod # Go module definition
├── internal/
│ ├── auth/ # OAuth authentication
│ ├── config/ # Configuration management
│ ├── dropbox/ # Dropbox API client
│ └── handlers/ # MCP tool handlers
├── mcp.json # MCP server metadata
└── README.md # This file
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE file for details
Support
For issues and questions, please open an issue on GitHub.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.