使用说明
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无缝安装。
安装
- 克隆仓库并导航到其中:
git clone <repo_url>
cd gdrive-mcp
- 创建虚拟环境(推荐):
python3.12 -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
- 安装依赖项:
pip install -r requirements.txt
Google云端硬盘服务帐户设置
第一步:创建谷歌云项目
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 记下您的项目ID
步骤2:启用Google Drive API
- 在谷歌云控制台中,转到“API和服务”→ “图书馆”
- 搜索“Google Drive API”
- 点击“启用”
步骤3:创建服务帐户
- 转到IAM和管理员→ 服务帐户
- 单击创建服务帐户
- 输入名称,例如mcp驱动器sa
- 分配编辑器或驱动器管理员角色(取决于需要)
- 单击“完成”
步骤4:创建服务帐户密钥
- 单击创建的服务帐户→ Keys → 添加密钥→ 创建新密钥
- 选择JSON
- 下载JSON文件
- 将其重命名为service_account.json,并放置在gdrive mcp/文件夹中
提供对服务帐户的驱动器访问权限
除非是工作区帐户,否则服务帐户没有自己的驱动器。您有两个选择:
选项1:工作区共享驱动器(建议用于Prod)
- 登录您的Google Workspace帐户(例如。,yourname@company.com)
- 首选 共享驱动器
- 创建新的共享驱动器或选择现有驱动器
- 转到管理成员→ 添加具有编辑权限的服务帐户电子邮件
- 记下共享驱动器ID并将其添加到.env中(您可以为prod硬编码此ID):
DEFAULT_SHARED_FOLDER_ID=<shared_drive_id>
✅ 这是生产就绪的首选,因为服务帐户可以独立访问驱动器。
选项2:共享文件夹解决方案(个人驱动器,仅限测试)
- 前往您的“我的驱动器”
- 创建新文件夹。,
MCP_Test - 右击→ 分享→ 添加具有编辑权限的服务帐户电子邮件
- 记下文件夹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进行测试
- Open Postman(支持MCP的最新版本)。
- 单击新建→ MCP请求。
- 输入MCP服务器URL:
http://127.0.0.1:8000/mcp
- 单击“连接”。
- 现在,您将自动看到Messages块中列出的所有可用工具(create_folder、list_directory等)。
- 选择一个工具并提供输入参数。
- 运行请求-您将从Google Drive获得实时响应。
✅ 无需手动制作原始JSON——Postman MCP会自动为您列出可用的工具并格式化。
备注
- 不要将service_account.json或.env提交到GitHub
- 工作区共享驱动器ID可以硬编码用于生产
- Personal Drive共享文件夹仅用于测试
- 确保共享文件夹或共享驱动器与服务帐户电子邮件共享