Dropbox Integration Server (MCP Server)
项目简介: 本项目是一个模型上下文协议 (MCP) 服务器,旨在实现与 Dropbox 的集成。它允许兼容 MCP 的客户端,例如 LLM,通过一系列工具与 Dropbox 进行交互,这些工具涵盖文件管理、元数据检索和搜索等功能。
主要功能点:
- 资源管理: 将 Dropbox 文件和文件夹作为 MCP 资源公开,使 LLM 能够访问和利用 Dropbox 内容。
- 工具执行: 提供一套用于常见 Dropbox 操作的工具,包括:
- 文件操作 (列表、上传、下载、删除、复制、移动)
- 元数据和搜索 (获取元数据、搜索文件、获取共享链接、获取文件内容)
- 账户操作 (获取账户信息)
- Prompt 模板: 支持 Prompt 模板,用于定制 LLM 与 Dropbox 资源之间的交互模式(尽管在提供的文件中没有明确定义 Prompt 模板,但资源处理功能已为 Prompt 集成做好准备)。
- JSON-RPC over Stdio: 使用基于标准输入/输出 (stdio) 的 JSON-RPC 协议与 MCP 客户端通信。
- 安全认证: 采用 OAuth 2.0 与 PKCE 进行安全的 Dropbox 身份验证,并使用加密方式存储令牌。
安装步骤:
- 克隆仓库:
git clone https://github.com/amgadabdelhafez/Dropbox-MCP-Server.git cd Dropbox-MCP-Server - 安装依赖并构建:
npm install npm run build - 设置 Dropbox App:
- 访问 Dropbox App Console 并创建一个新的 App。
- 选择 "Scoped access",并选择必要的权限 ('files.metadata.read', 'files.content.read', 'files.content.write', 'sharing.write', 'account_info.read')。
- 添加 'http://localhost:3000/callback' 作为重定向 URI。
- 记录您的 App key 和 App secret。
- 配置环境变量:
- 在项目根目录下创建 '.env' 文件,并添加以下内容,将占位符替换为您的 Dropbox App 凭据和一个强加密密钥:
DROPBOX_APP_KEY=YOUR_DROPBOX_APP_KEY DROPBOX_APP_SECRET=YOUR_DROPBOX_APP_SECRET DROPBOX_REDIRECT_URI=http://localhost TOKEN_ENCRYPTION_KEY=YOUR_32_CHARACTER_ENCRYPTION_KEY CORS_ALLOWED_ORIGINS=http://localhost:3000
- 在项目根目录下创建 '.env' 文件,并添加以下内容,将占位符替换为您的 Dropbox App 凭据和一个强加密密钥:
- 运行设置脚本:
按照提示授权服务器访问您的 Dropbox 账户。npm run setup
MCP 客户端服务器配置: 要从 MCP 客户端连接到此 MCP 服务器,您需要在客户端中配置服务器设置。以下是 JSON 格式的示例配置:
{ "server name": "dbx-mcp-server", "command": "node", "args": ["/path/to/Dropbox-MCP-Server/build/src/index.js"] }
注意: 将 '/path/to/Dropbox-MCP-Server' 替换为您系统上克隆的 'Dropbox-MCP-Server' 目录的实际路径。"server name" 可以是您选择的任何名称,用于在 MCP 客户端中标识此服务器。
基本使用方法: 在 MCP 客户端中配置完成后,您可以使用提供的工具与 Dropbox 进行交互。例如,要使用 MCP 客户端列出根目录中的文件:
// 使用假设的 MCP 客户端库的示例 await mcpClient.useTool("dbx-mcp-server", "list_files", { path: "" });
有关可用工具及其参数的完整列表,请参阅仓库 README 中的 "Available Tools" 部分。
关键词: Dropbox, 文件管理, 云存储, LLM集成, API工具
信息
分类
数据库与文件