Dropbox文件管理服务

连接Claude Desktop、Cursor等AI工具到Dropbox账户,通过自然语言浏览、读取、搜索、创建、移动和共享文件。

  • by Tommy2Face
  • Python
  • 混合部署
  • 2 星标
  • 更新于
在 GitHub 查看 Tommy2Face/dropbox-mcp-server

使用说明

Dropbox MCP服务器

MCP服务器,将Claude Desktop、Cursor和其他AI工具连接到您的Dropbox帐户。浏览、阅读、搜索、创建、移动和共享文件——所有这些都是通过自然语言完成的。

工具

工具 说明
list_files 浏览任何Dropbox目录中的文件和文件夹
read_file 读取markdown、文本、代码和其他文本文件的内容
search_files 通过扩展名过滤按名称或内容搜索文件
write_file 创建新文件或更新现有文件
create_folder 创建文件夹(自动创建父文件夹)
move_file 移动或重命名文件和文件夹
copy_file 将文件或文件夹复制到新位置
delete_file 删除文件/文件夹(移至Dropbox垃圾箱,可恢复30天)
get_file_info 获取详细的元数据(大小、日期、内容哈希)
get_shared_link 获取或创建可共享的公共链接
get_account_info 检查已连接的Dropbox帐户和存储使用情况

快速开始

1.创建Dropbox应用程序

  1. 首选 Dropbox应用程序控制台
  2. 点击 创建应用程序
  3. 选择 范围访问
  4. 选择 完整Dropbox 访问权限(如果您想限制访问,请访问应用程序文件夹)
  5. 给它起个名字 mcp-server
  6. 在...之下 权限,启用:
    • files.metadata.read
    • files.metadata.write
    • files.content.read
    • files.content.write
    • sharing.read
    • sharing.write
  7. 点击 提交 保存权限

2.获取您的证书

选项A-OAuth2刷新令牌(推荐):

  1. 注意你的 应用key 和 应用程序密钥 从应用程序设置页面
  2. 通过运行附带的auth-helper获取刷新令牌:
python auth_helper.py
  1. 按照提示操作——它将打开您的浏览器,您授权后,它会给您一个刷新令牌。

选项B——访问令牌(快速测试):

  1. 在应用程序设置页面上,单击 生成 在“生成的访问令牌”下
  2. 注意:此令牌将在4小时后过期

3.配置

cp .env.example .env
# Edit .env with your credentials

4.安装依赖项

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

5.连接到克劳德桌面

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "dropbox": {
      "command": "/path/to/dropbox-mcp-server/.venv/bin/python",
      "args": ["/path/to/dropbox-mcp-server/server.py"],
      "env": {
        "DROPBOX_APP_KEY": "your-app-key",
        "DROPBOX_APP_SECRET": "your-app-secret",
        "DROPBOX_REFRESH_TOKEN": "your-refresh-token"
      }
    }
  }
}

6.连接到光标

添加到您的项目 .cursor/mcp.json:

{
  "mcpServers": {
    "dropbox": {
      "command": "/path/to/dropbox-mcp-server/.venv/bin/python",
      "args": ["/path/to/dropbox-mcp-server/server.py"],
      "env": {
        "DROPBOX_APP_KEY": "your-app-key",
        "DROPBOX_APP_SECRET": "your-app-secret",
        "DROPBOX_REFRESH_TOKEN": "your-refresh-token"
      }
    }
  }
}

7.SSE模式(远程部署)

集 TRANSPORT=sse 在 .env那么:

python server.py
# Server starts on http://0.0.0.0:8080

连接:

{
  "mcpServers": {
    "dropbox": {
      "transport": "sse",
      "url": "http://localhost:8080/sse"
    }
  }
}

使用示例

连接后,您可以问Claude以下问题:

  • “列出我的文档文件夹中的所有文件”
  • “搜索有关项目提案的标记文件”
  • “阅读/Projects/README.md的内容”
  • “使用以下注释在/Notes/meeting-2026-02-21.md创建一个新文件:…”
  • “将/Drafts/report.md移动到/Final/report-v2.md”
  • “获取可共享的/演示文稿/deck.pdf链接”
  • “我使用了多少存储空间?”

测试

source .venv/bin/activate
pip install pytest pytest-asyncio
pytest test_server.py -v
# 44 tests covering text detection, formatting, and all tool functions (mocked Dropbox SDK)

项目结构

dropbox-mcp-server/
├── server.py           # Main MCP server with all tools
├── auth_helper.py      # OAuth2 helper to get refresh token
├── requirements.txt    # Python dependencies
├── .env.example        # Environment variable template
├── .env                # Your actual credentials (git-ignored)
└── README.md           # This file