Google Drive文件管理服务

一个用于管理Google Drive文件的服务器,支持列出、搜索、上传、下载和管理文件及文件夹。

  • by domdomegg
  • TypeScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 domdomegg/google-drive-mcp

使用说明

谷歌硬盘mcp

用于Google Drive的MCP服务器-列表、搜索、上传、下载和管理文件和文件夹。

用例

从文件中获取答案:“我们第二季度董事会的收入目标是什么?”→ 搜索Drive,阅读相关文档,并回答您的问题。

项目脚手架:开始新的供应商入职培训→ 创建一个文件夹结构,其中包含合同、合规性、可交付成果和会议笔记的子文件夹,以及模板文档和工作表。

反馈综合:“总结我过去10次演讲中经理的反馈”→ 从多个文件中读取注释,并确定主题和开发区域。

本地化工作流程:“我们正在日本招聘承包商-将入职文件夹从英语翻译成日语,并标记任何需要当地适应的内容(人力资源政策、假期等)”→ 阅读多个文档,翻译并突出显示需要审查的区域。

(这些只是示例-任何需要文件搜索、读取或组织的工作流都可以使用此功能 谷歌文档mcp 用于阅读/编辑谷歌文档,或 谷歌表单mcp 谷歌表格。)

设置

1.创建Google OAuth凭据

  1. 首选 谷歌云控制台
  2. 创建新项目(或使用现有项目)
  3. 启用Google Drive API
  4. 首选 API和服务 → OAuth同意屏幕,设置同意屏幕
  5. 首选 API和服务 → 凭证 → 创建凭据 → OAuth 客户端ID
  6. 选择 网络应用程序
  7. 添加 http://localhost:3000/callback 到 授权重定向URI
  8. 记下您的客户端ID和客户端密码

2.运行服务器

GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start

服务器运行在 http://localhost:3000 默认情况下。更改为 PORT=3001.

3.添加到您的MCP客户端

服务器运行时,请按照上的说明进行操作 安装mcp,它为您的MCP客户端生成正确的配置(Claude Code、Claude Desktop、Cursor、Cline、VS Code等)。

建筑

此服务器充当 OAuth代理 谷歌:

graph LR
    A[MCP client] <--> B[google-drive-mcp] <--> C[Google OAuth/API]
  1. 服务器通过以下方式将自己宣传为OAuth授权服务器 /.well-known/oauth-authorization-server
  2. /register 返回Google OAuth客户端凭据
  3. /authorize 重定向到Google,将客户端的回调URL编码为状态
  4. /callback 从Google接收代码并转发给客户端的回调
  5. /token 向Google代理令牌请求,注入客户端凭据
  6. /mcp 处理MCP请求,使用承载令牌调用驱动器API

服务器不持有令牌或状态,它只是将OAuth代理给谷歌。

工具

工具 说明
文件
files_list 使用驱动器查询语法列出/搜索文件
file_get 获取文件元数据
file_download 下载文件内容(支持导出谷歌文档/表格)
file_upload 上传新文件
file_update 更新文件内容或元数据
file_copy 复制文件
file_move 将文件移动到其他文件夹
file_trash 移至垃圾箱
file_untrash 从回收站还原
file_delete 永久删除
文件夹
folder_create 创建新文件夹
评论
comments_list 列出文件的评论
comment_get 获取评论及其回复
comment_create 向文件添加注释
comment_reply 对评论的回复
comment_resolve 解决或取消解决评论
回复
replies_list 列出对评论的回复
reply_get 获得具体回复
reply_update 更新回复
reply_delete 删除回复
权限
permissions_list 列出有权访问文件的人
permission_get 获取特定权限
permission_create 与用户、组、域或任何人共享文件
permission_update 更改用户的访问级别
permission_delete 撤销对文件的访问

驱动器查询语法

这 files_list 该工具支持Drive的查询语法进行筛选:

# By name
name contains 'report'
name = 'Budget 2024'

# By type
mimeType = 'application/pdf'
mimeType = 'application/vnd.google-apps.folder'
mimeType = 'application/vnd.google-apps.document'

# By folder
'folder-id' in parents

# By ownership
'user@example.com' in owners

# Combined
name contains 'report' and mimeType = 'application/pdf'

Google Drive API范围

  • drive -完全访问驱动器文件

贡献

GitHub上欢迎拉取请求!开始:

  1. 安装Git和Node.js
  2. 克隆仓库
  3. 安装依赖项 npm install
  4. 跑 npm run test 运行测试
  5. 建立 npm run build

发布

版本遵循 语义版本规范.

要发布:

  1. 使用 npm version <major | minor | patch> 升级版本
  2. 跑 git push --follow-tags 使用标签推送
  3. 等待GitHub Actions发布到NPM注册表。