list_filesLABSCO SUMMARY
Full read and write over a Dropbox account, with tokens encrypted at rest and deletion held back.
The set covers the whole file lifecycle, and the one destructive call is named safe_delete_item rather than delete. Setup is the cost: you register the Dropbox app yourself, choose its permission scopes, and complete an OAuth flow before the first call works. Refresh behaviour is tunable through the optional token variables.
What it is
A Dropbox integration server: twelve file and account tools over Dropbox's public API, authenticated with OAuth and PKCE. It is independent, not a Dropbox product.
What you get
- A folder listing, an account-wide search, and metadata for a single item (list_files, search_file_db, get_file_metadata)
- A file's contents read into the conversation, or downloaded to disk (get_file_content, download_file)
- Uploads, new folders, copies and moves (upload_file, create_folder, copy_item, move_item)
- A sharing link generated for an item (get_sharing_link)
- Deletion behind a safeguard rather than outright (safe_delete_item)
- The connected Dropbox account's details (get_account_info)
Requirements
A Dropbox app you register in the App Console with scoped access and the permissions your calls need, plus a redirect URI pointing back at the server on your own machine. The environment carries that app's key and secret, the redirect URI, and a long passphrase of your own that encrypts the stored tokens. Built with npm run build, then npm run setup.
Setup effort
Build from source — git clone https://github.com/Albiemark/dbx-mcp-server.git
USE CASES
Pulling a document out of Dropbox to work on it
Search the account for it, then read the contents straight into the conversation.
Filing a finished file where it belongs
Create the folder if it does not exist, then upload into it.
Sending someone a link instead of an attachment
Find the file in its folder and generate a sharing link for it.
Tidying a folder that has grown messy
List what is in it, then move or copy items into the structure you want.
Clearing out what you no longer need
Remove items through the guarded delete rather than a straight destructive call.
Confirming which account is actually connected
Read the account details before running anything that writes.
12 tools
Listed in project docs. Your client may show a different list.
upload_filedownload_filesafe_delete_itemcreate_foldercopy_itemmove_itemget_file_metadatasearch_file_dbget_sharing_linkget_file_contentget_account_infoBEFORE YOU INSTALL
What to know first
Tools you get
12 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/Albiemark/dbx-mcp-server.git
cd dbx-mcp-server
npm install
npm run buildRegister a Dropbox app at the Dropbox App Console (https://www.dropbox.com/developers/apps): choose Scoped access, select the permissions files.metadata.read, files.content.read, files.content.write, sharing.write and account_info.read, add http://localhost:3000/callback as the redirect URI, and note the App key and App secret
Put DROPBOX_APP_KEY, DROPBOX_APP_SECRET, DROPBOX_REDIRECT_URI and TOKEN_ENCRYPTION_KEY (32+ characters) in a .env file in the project folder
npm run setupMCP Clients
Any MCP client
{
"mcpServers": {
"dbx": {
"command": "node",
"args": [
"<YOUR_PATH_TO_DBX_MCP_SERVER>/build/src/index.js"
]
}
}
}The server loads its .env, and the .tokens.json that npm run setup saves, from the folder it is started in. If your client starts it somewhere else, add an "env" object to this block with those four variables and TOKEN_STORE_PATH set to the full path of .tokens.json in your clone.