一个与Dropbox集成的模型上下文协议(MCP)服务器,允许兼容MCP的客户端通过一组强大的工具与Dropbox进行交互。
重要免责声明: 本项目未得到Dropbox的关联、认可或赞助。这是一个独立的集成,使用Dropbox的公共API工作。
npm install 安装依赖npm run build 构建项目npm run setup在Dropbox应用控制台注册一个Dropbox应用:
files.metadata.readfiles.content.readfiles.content.writesharing.writeaccount_info.readhttp://localhost 作为您的重定向URI克隆仓库
git clone https://github.com/your-username/dbx-mcp-server.git
cd dbx-mcp-server
安装依赖并构建
npm install
npm run build
运行设置脚本
npm run setup
添加到MCP设置
将以下内容添加到您的MCP设置文件中:
{
"mcpServers": {
"dbx": {
"command": "node",
"args": ["/path/to/dbx-mcp-server/build/index.js"]
}
}
}
服务器使用OAuth 2.0和PKCE进行与Dropbox的安全认证。
必需:
DROPBOX_APP_KEY: 您的Dropbox应用的keyDROPBOX_APP_SECRET: 您的Dropbox应用的secretDROPBOX_REDIRECT_URI: OAuth重定向URITOKEN_ENCRYPTION_KEY: 用于令牌加密的32个字符以上的密钥可选:
TOKEN_REFRESH_THRESHOLD_MINUTES: 刷新令牌前的分钟数(默认:5)MAX_TOKEN_REFRESH_RETRIES: 最大刷新尝试次数(默认:3)TOKEN_REFRESH_RETRY_DELAY_MS: 刷新尝试之间的延迟(毫秒,默认:11000)list_files: 列出目录中的文件upload_file: 上传文件download_file: 下载文件safe_delete_item: 使用回收站支持安全删除create_folder: 创建新文件夹copy_item: 复制文件或文件夹move_item: 移动或重命名文件/文件夹get_file_metadata: 获取文件/文件夹元数据search_file_db: 搜索文件和文件夹get_sharing_link: 创建共享链接get_file_content: 获取文件内容get_account_info: 获取账户信息以下是服务器操作与所需的最小Dropbox OAuth范围(权限)的映射:
| 服务器操作 | 所需的Dropbox范围 |
|---|---|
| list_files | files.metadata.read |
| upload_file | files.content.write, files.metadata.write |
| download_file | files.content.read |
| safe_delete_item | files.metadata.write |
| create_folder | files.metadata.write |
| copy_item | files.content.write, files.metadata.write |
| move_item | files.content.write, files.metadata.write |
| get_file_metadata | files.metadata.read |
| search_file_db | files.metadata.read |
| get_sharing_link | sharing.write |
| get_file_content | files.content.read |
| get_account_info | account_info.read |
额外的范围(如果需要):
sharing.read: 查看共享设置和协作者file_requests.read / file_requests.write: 用于文件请求功能contacts.read / contacts.write: 用于访问Dropbox联系人有关Dropbox范围的更多详情,请参阅Dropbox权限文档。
// 列出根目录中的文件
await mcp.useTool("dbx-mcp-server", "list_files", { path: "" });
// 上传文件
await mcp.useTool("dbx-mcp-server", "upload_file", {
path: "/test.txt",
content: Buffer.from("Hello World").toString("base64"),
});
// 搜索文件
await mcp.useTool("dbx-mcp-server", "search_file_db", {
query: "报告",
path: "/文档",
max_results: 10,
});
构建于:
MIT许可
版权所有 (c) 2025 MCP Server 贡献者
在此授权任何人免费获得此软件及其相关文档文件(以下简称“软件”),不受限制地处理软件,包括但不限于以下权利:
以上版权声明和本许可通知应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不附带任何形式的保证,包括但不限于适销性、特定用途适用性和非侵权性的默示保证。在任何情况下,作者或版权持有人都不对因软件或其使用或其他交易而产生的任何索赔、损害或其他责任承担任何责任,无论是合同行为、侵权行为还是其他行为引起的。