dbx mcp服务器
一种模型上下文协议(MCP)服务器,提供与Dropbox的集成,允许MCP兼容的客户端通过一组强大的工具与Dropbox进行交互。
重要免责声明: 此项目不隶属于Dropbox,也不由Dropbox背书或赞助。它是一个独立的集成,与Dropbox的公共API一起工作。
目录
快速开始
- 克隆存储库
- 跑
npm install安装依赖项 - 跑
npm run build建设项目 - 跑
npm run setup - 配置您的MCP客户端以使用服务器
先决条件
在以下网址注册Dropbox应用程序 Dropbox应用程序控制台:
- 选择“范围化访问”API
- 选择您的应用程序所需的访问类型
- 命名您的应用程序并单击“创建应用程序”
- 在“权限”下,为您将要使用的操作选择所需的权限,例如:
- files.metadata.read - files.content.read - files.content.write - sharing.write - account_info.read
- 添加
http://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应用程序的密钥DROPBOX_APP_SECRET:Dropbox应用程序的秘密DROPBOX_REDIRECT_URIOAuth 重定向 URITOKEN_ENCRYPTION_KEY:用于令牌加密的32+字符密钥
可选:
TOKEN_REFRESH_THRESHOLD_MINUTES:到期前几分钟刷新令牌(默认值:5)MAX_TOKEN_REFRESH_RETRIES:刷新尝试的最大次数(默认值:3)TOKEN_REFRESH_RETRY_DELAY_MS:刷新尝试之间的延迟(毫秒)(默认值:1000)
可用工具
文件操作
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权限
以下是服务器操作与所需的最低Dropbox OAuth范围(权限)的映射:
| 服务器操作 | 所需的Dropbox范围 |
|---|---|
| 列表文件 | files.metadata.read |
| 上传文件 | files.content.write, files.metadata.write |
| 下载文件 | files.content.read |
| safe_delete_item | files.metadata.write |
| 创建文件夹 | files.metadata.write |
| copy_item | files.content.write, files.metadata.write |
| move_item | files.content.write, files.metadata.write |
| 获取_文件_元数据 | files.metadata.read |
| search_file_db | files.metadata.read |
| get_sharing_link | sharing.write |
| 获取_文件_内容 | files.content.read |
| get_count_info | account_info.read |
附加范围(如需要):
sharing.read:查看共享设置和协作者file_requests.read/file_requests.write:用于文件请求功能contacts.read/contacts.write:用于访问Dropbox联系人
有关Dropbox范围的更多详细信息,请参阅 Dropbox权限文档.
使用示例
// List files in root directory
await mcp.useTool("dbx-mcp-server", "list_files", { path: "" });
// Upload a file
await mcp.useTool("dbx-mcp-server", "upload_file", {
path: "/test.txt",
content: Buffer.from("Hello World").toString("base64"),
});
// Search for files
await mcp.useTool("dbx-mcp-server", "search_file_db", {
query: "report",
path: "/Documents",
max_results: 10,
});发展
内置:
- TypeScript
- 模型上下文协议SDK
- Dropbox SDK v10.34.0
- Dropbox API v2
许可证
MIT许可证
版权所有(c)2025 MCP服务器贡献者
特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:
上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。
软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。
