项目简介
dbx-mcp-server 是一个独立的 MCP 服务器实现,旨在桥接 Model Context Protocol (MCP) 客户端和 Dropbox 云存储服务。通过提供一系列预定义的工具,该服务器允许 LLM(大型语言模型)客户端安全、可控地访问和操作 Dropbox 中的文件和文件夹。
声明: 本项目与 Dropbox 没有任何官方关联,并非 Dropbox 官方产品,而是基于 Dropbox 公共 API 的独立集成方案。
主要功能点
- 文件操作工具: 提供常用的文件和文件夹操作,例如:
- 列出文件夹内容
- 上传文件
- 下载文件
- 安全删除文件/文件夹(支持回收站)
- 创建文件夹
- 复制和移动文件/文件夹
- 元数据和搜索工具: 支持检索文件和文件夹的元数据,以及在 Dropbox 中进行文件内容和名称搜索。
- 账户信息工具: 允许客户端获取 Dropbox 账户的基本信息。
- Prompt 模板支持: 虽然仓库主要侧重于工具和资源管理,但 MCP 服务器本身具备 Prompt 模板功能,为未来扩展 Prompt 功能预留了空间。
- 安全性: 使用 OAuth 2.0 协议进行身份验证,保障 Dropbox 访问安全。同时,对访问路径进行安全控制,防止未授权访问。
- 易于集成: 作为 MCP 服务器,可以与任何兼容 MCP 协议的客户端轻松集成。
安装步骤
-
克隆仓库
git clone https://github.com/amgadabdelhafez/dbx-mcp-server.git cd dbx-mcp-server -
安装依赖并构建
npm install npm run build -
运行安装脚本
npm run setup此脚本将引导您完成 Dropbox API 凭据的配置和 OAuth 2.0 授权流程。您需要在 Dropbox App Console 创建一个 Dropbox 应用,并获取 App key 和 App secret。
-
配置环境变量
在项目根目录下创建或编辑 '.env' 文件,根据 'npm run setup' 脚本的提示,填入 Dropbox 应用的 App Key、App Secret 和 Token Encryption Key 等必要的环境变量。
服务器配置
要将 'dbx-mcp-server' 添加到 MCP 客户端配置中,您需要在客户端的 MCP 设置文件中添加类似以下的 JSON 配置。请注意,您需要根据实际情况修改 'command' 和 'args' 中的路径:
{ "mcpServers": { "dbx": { "command": "node", "args": ["/path/to/dbx-mcp-server/build/index.js"] // "server name": "dbx", // 服务器名称,客户端用于引用 // "command": "node", // 启动服务器的命令,通常是 node // "args": [ // 启动命令的参数 // "/path/to/dbx-mcp-server/build/index.js" // MCP 服务器入口文件路径,请替换为实际路径 // ] } } }
请注意: '/path/to/dbx-mcp-server/build/index.js' 需要替换为您 'dbx-mcp-server' 项目构建后 'index.js' 文件的实际路径。
基本使用方法
-
启动服务器: 在项目根目录下运行 'npm start' 命令启动 dbx-mcp-server。
-
在 MCP 客户端中使用工具: 在兼容 MCP 协议的客户端中,您可以使用 'mcp.useTool' 方法来调用 dbx-mcp-server 提供的工具。例如,列出 Dropbox 根目录下的文件:
await mcp.useTool("dbx-mcp-server", "list_files", { path: "" });更多工具的使用方法和参数,请参考仓库 README.md 中的 "Available Tools" 和 "Usage Examples" 部分。
-
资源访问: MCP 客户端可以使用 'mcp.readResource' 和 'mcp.listResources' 等方法访问 dbx-mcp-server 提供的资源,例如读取 Dropbox 文件内容或列出文件夹内容。资源 URI 以 'dbx://' 开头,后跟 Dropbox 路径。
信息
分类
数据库与文件