Skip to main content
Glama

mcp-google-gdrive

一个用于 Google 云端硬盘、文档、表格和幻灯片的 MCP 服务器。允许 AI 助手在多个 Google 账户中管理文件、文件夹、权限、标签和回收站,并拥有完全的读写访问权限。包含自动 Workspace 格式转换(文档转 Markdown,表格转 CSV/JSON,幻灯片转文本)。

工具

账户管理

工具

描述

gdrive_list_accounts

列出所有已配置的 Google 账户及其标签和电子邮件

gdrive_switch_account

设置后续调用的活动账户

gdrive_add_account

生成授权 URL 以添加新的 Google 账户

文件

工具

描述

gdrive_list_files

列出文件,支持可选的搜索查询和文件夹过滤

gdrive_get_metadata

通过 ID 获取文件的详细元数据

gdrive_read_file

读取文件内容,支持自动 Workspace 格式转换

gdrive_download_file

将文件下载到本地磁盘(支持 Workspace 导出)

gdrive_create_file

创建新文件,支持在上传图像/PDF 时进行 OCR

gdrive_update_file

更新文件的内容、名称或描述

gdrive_copy_file

复制文件,可选择复制到不同文件夹

gdrive_move_file

将文件移动到不同文件夹

gdrive_search_files

对文件名和内容进行全文搜索

文件夹

工具

描述

gdrive_create_folder

创建新文件夹

gdrive_list_folder

列出特定文件夹的内容

gdrive_delete_folder

删除文件夹(移至回收站或永久删除)

回收站

工具

描述

gdrive_trash_file

将文件或文件夹移至回收站

gdrive_untrash_file

从回收站恢复文件或文件夹

gdrive_empty_trash

永久删除回收站中的所有文件(不可逆)

gdrive_list_trash

列出当前在回收站中的文件

权限

工具

描述

gdrive_share_file

与用户、群组、域或任何人共享文件

gdrive_list_permissions

列出文件或文件夹的所有权限

gdrive_update_permission

更新权限的角色

gdrive_remove_permission

移除权限(取消共享)

gdrive_transfer_ownership

将文件所有权转移给其他用户

标签

工具

描述

gdrive_list_labels

列出可用的云端硬盘标签

gdrive_list_file_labels

列出应用于文件的标签

gdrive_set_file_labels

在文件上添加、更新或移除标签

Google 文档

工具

描述

gdrive_export_doc

导出 Google 文档(markdown、html、text、docx、pdf)。使用 savePath 将二进制格式保存到磁盘

gdrive_create_doc

从 Markdown 内容创建 Google 文档

gdrive_update_doc

用 Markdown 替换 Google 文档的内容

Google 表格

工具

描述

gdrive_create_sheet

创建带有命名标签页的新电子表格

gdrive_export_sheet

将表格导出为 CSV、JSON 或 XLSX。使用 savePath 将 XLSX 保存到磁盘

gdrive_list_sheets

列出电子表格中的所有工作表/标签页

gdrive_read_sheet_range

读取任何标签页中的特定范围(A1 表示法)

gdrive_write_sheet_range

将数据写入特定范围

Google 幻灯片

工具

描述

gdrive_create_slides

创建新的演示文稿

gdrive_export_slides

将幻灯片导出为文本、PDF 或 PPTX。使用 savePath 将二进制格式保存到磁盘

gdrive_get_slide_thumbnail

获取特定幻灯片的缩略图 URL

v2.2 新增功能

  • outputFormat 参数 — 12 个读取/列表工具现在接受 outputFormat: "json" | "yaml" | "text"。默认为 json(向后兼容)。使用 yaml 获取结构化输出,或使用 text 获取紧凑的人类可读表格。支持的工具:list_accounts, list_files, list_folder, list_trash, list_permissions, list_labels, list_file_labels, list_sheets, get_metadata, read_sheet_range, get_slide_thumbnail, search_files

v2.1

  • gdrive_download_file — 将云端硬盘中的任何文件下载到本地磁盘路径。Workspace 文件(文档、表格、幻灯片)会自动导出为指定格式(pdf、docx、xlsx、pptx、csv、txt、html 或 markdown)。

  • 导出工具上的 savePathgdrive_export_doc, gdrive_export_sheetgdrive_export_slides 现在接受可选的 savePath 参数。提供此参数时,二进制导出文件(docx、pdf、xlsx、pptx)将保存到磁盘,而不是作为 base64 返回。省略 savePath 将保留 v2.0 的行为。

  • gdrive_list_accounts 电子邮件解析 — 从 v0.x 迁移且显示“migrated”而非电子邮件地址的账户,现在会在首次调用时通过 Google userinfo API 自动解析。

  • 文档修复gdrive_empty_trash 指出了最终一致性;gdrive_transfer_ownership 指出了跨组织限制。

输出格式

所有读取和列表工具都支持 outputFormat 参数:

格式

描述

使用场景

json

格式化 JSON(默认)

机器消费,API 流水线

yaml

YAML 序列化

人类可读的结构化数据,配置文件

text

紧凑的对齐表格和键值对

快速扫描,终端输出,Token 高效的 LLM 上下文

示例:gdrive_list_files({ query: "name contains 'report'", outputFormat: "text" }) 返回:

files:
  id             name              mimeType         modifiedTime  size
  -------------  ----------------  ---------------  ------------  ----
  abc123def456   Q1 Report.pdf     application/pdf  2026-04-01    1024
  ghi789jkl012   Q2 Report.docx    application/pdf  2026-03-15    2048
resultCount: 2

先决条件

  • Node.js 18+

  • 启用了以下 API 的 Google Cloud 项目:

    • Google Drive API

    • Google Docs API

    • Google Sheets API

    • Google Slides API

  • OAuth2 桌面应用程序凭据

设置

  1. Google Cloud Console 中创建一个项目,并启用 Drive、Docs、Sheets 和 Slides API

  2. 创建 OAuth2 凭据(应用程序类型:桌面应用)并下载 JSON 文件

  3. 保存凭据文件:

mkdir -p ~/.config/mcp-google-gdrive
cp ~/Downloads/client_secret_*.json ~/.config/mcp-google-gdrive/credentials.json
chmod 600 ~/.config/mcp-google-gdrive/credentials.json
  1. 运行一次性授权流程:

npx mcp-google-gdrive --auth primary

这将打印一个用于 Google 同意的 URL。授予访问权限后,将授权码粘贴回终端。

多账户设置

添加带有唯一标签的额外账户:

npx mcp-google-gdrive --auth work
npx mcp-google-gdrive --auth personal

每个账户在 ~/.config/mcp-google-gdrive/tokens/{label}.json 处都有自己的令牌文件。在任何工具上使用 account 参数来指定要使用的账户,或调用 gdrive_switch_account 来更改默认账户。

配置

Gemini CLI

添加到 ~/.gemini/settings.json

{
  "mcpServers": {
    "google-gdrive": {
      "command": "npx",
      "args": ["-y", "mcp-google-gdrive"]
    }
  }
}

watsonx Orchestrate

orchestrate toolkits import --kind mcp \
  --name google-gdrive \
  --description "Google Drive, Docs, Sheets, Slides" \
  --command "npx -y mcp-google-gdrive" \
  --tools "*"

Claude Code

claude mcp add -s user google-gdrive -- npx -y mcp-google-gdrive

VS Code / Cursor

添加到工作区中的 .vscode/mcp.json

{
  "mcpServers": {
    "google-gdrive": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-gdrive"]
    }
  }
}

身份验证

该服务器使用 OAuth2 进行 Google 云端硬盘访问。凭据存储在本地:

  • ~/.config/mcp-google-gdrive/credentials.json — OAuth2 客户端(跨账户共享)

  • ~/.config/mcp-google-gdrive/tokens/{label}.json — 每个账户的令牌(chmod 600)

  • ~/.config/mcp-google-gdrive/config.json — 活动账户和账户注册表

访问令牌在一小时后过期,并使用存储的刷新令牌自动刷新。令牌刷新是透明的,无需用户交互。

从 v0.x 迁移

如果从单账户 v0.x 安装升级,服务器会在首次启动时自动将现有的 token.json 迁移到 tokens/primary.json

相关 MCP 服务器

许可证

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sleepytimeshon/mcp-google-gdrive'

If you have feedback or need assistance with the MCP directory API, please join our Discord server