Google Drive文件管理工具

一个基于Model Context Protocol (MCP)的服务,提供Google Drive的文件夹创建、目录内容列表、路径导航、文件读写等操作。

  • by TharunCodenatives
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 TharunCodenatives/gdrive_mcp

使用说明

Google Drive MCP工具服务器

该项目提供了 模型上下文协议(MCP) 用于交互的服务器 Google 云端硬盘.
使用 fastmcp 作为MCP服务器框架,并公开了用于常见驱动器操作的工具,例如:

  • 创建文件夹
  • 列出目录内容
  • 导航路径
  • 写入文件
  • 正在读取文件

🚀 特性

  • ✅ 在Google云端硬盘中创建文件夹
  • ✅ 列出任何文件夹的内容
  • ✅ 导航到Google Drive中的路径
  • ✅ 读取和写入文件
  • ✅ 使用服务帐户进行身份验证
  • ✅ 支持工作区共享驱动器(prod)或共享文件夹解决方法(dev/testing)

Python版本依赖关系

  • 工作:Python 3.11,Python 3.12
  • 不工作:Python 3.13
    • 理由:pydantic核心没有Python 3.13的预构建轮子。
    • 在3.13上安装需要Rust编译器从源代码构建pydantic核心。
    • 推荐:使用Python 3.11或3.12与pip install-r requirements.txt无缝安装。

安装

  1. 克隆仓库并导航到其中:
git clone <repo_url>
cd gdrive-mcp
  1. 创建虚拟环境(推荐):
python3.12 -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate     # Windows
  1. 安装依赖项:
pip install -r requirements.txt

Google云端硬盘服务帐户设置

第一步:创建谷歌云项目

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 记下您的项目ID

步骤2:启用Google Drive API

  1. 在谷歌云控制台中,转到“API和服务”→ “图书馆”
  2. 搜索“Google Drive API”
  3. 点击“启用”

步骤3:创建服务帐户

  1. 转到IAM和管理员→ 服务帐户
  2. 单击创建服务帐户
  3. 输入名称,例如mcp驱动器sa
  4. 分配编辑器或驱动器管理员角色(取决于需要)
  5. 单击“完成”

步骤4:创建服务帐户密钥

  1. 单击创建的服务帐户→ Keys → 添加密钥→ 创建新密钥
  2. 选择JSON
  3. 下载JSON文件
  4. 将其重命名为service_account.json,并放置在gdrive mcp/文件夹中

提供对服务帐户的驱动器访问权限

除非是工作区帐户,否则服务帐户没有自己的驱动器。您有两个选择:

选项1:工作区共享驱动器(建议用于Prod)

  1. 登录您的Google Workspace帐户(例如。,yourname@company.com)
  2. 首选 共享驱动器
  3. 创建新的共享驱动器或选择现有驱动器
  4. 转到管理成员→ 添加具有编辑权限的服务帐户电子邮件
  5. 记下共享驱动器ID并将其添加到.env中(您可以为prod硬编码此ID):
DEFAULT_SHARED_FOLDER_ID=<shared_drive_id>

✅ 这是生产就绪的首选,因为服务帐户可以独立访问驱动器。

选项2:共享文件夹解决方案(个人驱动器,仅限测试)

  1. 前往您的“我的驱动器”
  2. 创建新文件夹。, MCP_Test
  3. 右击→ 分享→ 添加具有编辑权限的服务帐户电子邮件
  4. 记下文件夹ID并将其添加到您的 .env:
DEFAULT_SHARED_FOLDER_ID=<shared_folder_id>

⚠️ 不建议将此方法用于生产环境,因为它取决于个人帐户,并且必须为每个环境硬编码文件夹ID。

环境配置(.env)

# Google Drive Service Account JSON
GOOGLE_DRIVE_SERVICE_ACCOUNT=service_account.json

# Default folder / Shared Drive ID
DEFAULT_SHARED_FOLDER_ID=<folder_or_drive_id>

不需要OAuth令牌文件(token.plick)——服务帐户自动处理身份验证。

运行MCP服务器:

uv run gdrive_mcp_server.py

默认情况下,服务器将在以下位置使用流式http传输运行:

http://127.0.0.1:8000

MCP服务器将开始使用流式http传输。

可用的MCP工具

工具名称 描述 参数
create_folder 在Google云端硬盘中创建新文件夹 name: str, parent_id: str = "root"
list_directory 列出文件夹的内容 folder_id: str = "root", max_results: int = 100
navigate_path 导航到驱动器中的特定路径 path: str
write_file 将内容写入文件 name: str, content: str, file_id: str, parent_id: str = "root"
read_file 从文件中读取内容 file_id: str, encoding: str = "utf-8"

使用Postman进行测试

  1. Open Postman(支持MCP的最新版本)。
  2. 单击新建→ MCP请求。
  3. 输入MCP服务器URL:
http://127.0.0.1:8000/mcp
  1. 单击“连接”。
  2. 现在,您将自动看到Messages块中列出的所有可用工具(create_folder、list_directory等)。
  3. 选择一个工具并提供输入参数。
  4. 运行请求-您将从Google Drive获得实时响应。

✅ 无需手动制作原始JSON——Postman MCP会自动为您列出可用的工具并格式化。

备注

  • 不要将service_account.json或.env提交到GitHub
  • 工作区共享驱动器ID可以硬编码用于生产
  • Personal Drive共享文件夹仅用于测试
  • 确保共享文件夹或共享驱动器与服务帐户电子邮件共享