Google Drive MCP 服务器是一个无状态服务器,它将 Google Drive 功能与模型上下文协议(MCP)集成在一起。它提供了一套工具和资源来与 Google Drive 进行交互,通过标准化接口实现文件管理、内容检索和权限处理等操作。
drive_roots 列出顶级位置,如“我的驱动器”和“共享给我”。drive_folder_children 列出任何文件夹的内容。drive_file_metadata 获取文件的详细元数据。drive_file_content 获取原始文件内容(注意:没有内置格式转换)。drive_upload 创建或更新带有内容的文件。drive_append_text 向现有文本文件追加纯文本。drive_delete 和 drive_file_empty_trash 将文件移动到回收站或永久删除。drive_share、drive_permission_update、drive_permission_delete 等添加、更新、移除或列出文件/文件夹的权限。drive_comment、drive_file_list_comments 及相关工具添加评论、回复评论,以及列出或删除评论或回复。drive_changes 跟踪用户驱动器中的变更。drive_search 按名称或其他标准搜索文件。🛠️ 安装
克隆仓库:
git clone [https://github.com/rishipradeep-think41/google-drive-mcp.git](https://github.com/rishipradeep-think41/google-drive-mcp.git)
cd google-drive-mcp
安装依赖项:
npm install
配置环境变量:
在根目录创建一个 .env 文件,并添加以下内容:
CLIENT_ID=your_google_client_id
CLIENT_SECRET=your_google_client_secret
REFRESH_TOKEN=your_google_refresh_token
PORT=8081
确保您有一个有效的 Google OAuth2 客户端和刷新令牌,具有适当的 Drive API 范围。
启动服务器:
node index.js
服务器将在 http://localhost:8081 上启动。
📚 API 概览
资源
drive_roots:列出“我的驱动器”和“共享给我”的文件。| 工具名称 | 描述 |
|---|---|
drive_roots | 列出根目录(我的驱动器,共享给我) |
drive_changes | 列出驱动器中的变更 |
drive_file_metadata | 获取文件的元数据 |
drive_folder_children | 列出文件夹的内容 |
drive_search | 在 Google 驱动器中搜索文件 |
drive_storage_quota | 获取用户的存储配额信息 |
drive_storage_breakdown | 获取按文件类型划分的存储使用情况 |
| 工具名称 | 描述 |
|---|---|
drive_file_content | 获取 Google 驱动器文件的内容 |
drive_create | 创建文件或文件夹 |
drive_upload | 上传或更新文件内容 |
drive_append_text | 向驱动器中的现有文本文件追加纯文本 |
| 工具名称 | 描述 |
|---|---|
drive_copy | 复制文件或文件夹到新位置 |
drive_move | 移动文件或文件夹到不同的父文件夹 |
drive_rename | 重命名文件或文件夹 |
drive_delete | 将文件放入回收站或永久删除 |
drive_restore | 从回收站恢复文件 |
drive_file_empty_trash | 永久删除所有已放入回收站的文件 |
drive_star | 对文件或文件夹进行星标或取消星标 |
drive_file_lock | 锁定或解锁文件以防止更改 |
drive_shortcut_create | 创建指向文件或文件夹的快捷方式 |
| 工具名称 | 描述 |
|---|---|
drive_versions_list | 列出文件的所有版本 |
drive_versions_delete | 删除文件的特定版本 |
| 工具名称 | 描述 |
|---|---|
drive_share | 管理文件权限 |
drive_permissions_list | 列出文件或文件夹的所有权限 |
drive_permission_update | 更新用户在文件或文件夹上的权限 |
drive_permission_delete | 移除用户对文件或文件夹的访问权限 |
drive_permission_add_domain | 与域内的所有人共享文件或文件夹 |
drive_permission_add_anyone | 允许拥有链接的任何人访问文件或文件夹 |
| 工具名称 | 描述 |
|---|---|
drive_comment | 向文件添加评论 |
drive_file_list_comments | 列出文件的所有评论 |
drive_file_delete_comment | 从文件中删除评论 |
drive_file_reply_to_comment | 回复文件中的评论 |
drive_file_list_replies | 列出评论的所有回复 |
drive_file_delete_reply | 删除评论的回复 |
| 工具名称 | 描述 |
|---|---|
drive_shared_drives_list | 列出所有可访问的共享驱动器 |
drive_shared_drive_get | 获取特定共享驱动器的元数据 |
drive_shared_drive_create | 创建新的共享驱动器 |
drive_shared_drive_delete | 删除共享驱动器 |
drive_shared_drive_update | 更新共享驱动器的元数据 |
drive_shared_drive_files | 列出共享驱动器中的文件 |
| 工具名称 | 描述 |
|---|---|
drive_batch_get_metadata | 在单个请求中获取多个文件的元数据 |
drive_batch_update_permissions | 一次性更新多个文件的权限 |
drive_batch_delete | 一次性删除多个文件或文件夹 |
drive_batch_copy | 将多个文件复制到目标文件夹 |
drive_batch_move | 将多个文件移动到目标文件夹 |
🔐 认证
该服务器使用 OAuth2 与 Google Drive 进行认证。确保在 .env 文件中正确设置了 CLIENT_ID、CLIENT_SECRET 和 REFRESH_TOKEN。这些凭据应具有访问和修改 Google Drive 中文件所需的必要范围。
🧪 测试
您可以使用 MCPInspector 等工具测试端点。确保服务器正在 http://localhost:${port} 上运行。
🤝 贡献
欢迎贡献!请分叉仓库并提交增强或修复错误的拉取请求。
📄 许可
该项目根据 MIT 许可证授权。
📧 联系
如有任何问题或反馈,请在 GitHub 仓库上打开一个问题。