/ 目录 / 演练场 / google_workspace_mcp
● 社区 taylorwilsdon ⚡ 即开即用

google_workspace_mcp

作者 taylorwilsdon · taylorwilsdon/google_workspace_mcp

一个 MCP 服务器,支持 Gmail、Drive、Calendar、Docs、Sheets、Slides、Chat、Forms、Tasks、Contacts、Apps Script——通过分层工具加载保持上下文精简。

taylorwilsdon/google_workspace_mcp 是一个 Python MCP,将 Google Workspace API 封装成约 100 个工具。使用你自己的 Google Cloud 项目进行 OAuth 2.0 认证。选择工具层级(core / extended / complete)来控制 MCP 客户端中显示多少个工具。

为什么要用

核心特性

实时演示

实际使用效果

google-workspace.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "google-workspace",
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "google-workspace": {
      "command": {
        "path": "uvx",
        "args": [
          "google_workspace_mcp"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add google-workspace -- uvx google_workspace_mcp

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: google_workspace_mcp

如何用 AI 标签和草稿把收件箱清理到零

👤 知识工作者、管理人员 ⏱ ~20 min intermediate

何时使用: 周一早上或度假回来时,当你的收件箱一团糟时。

前置条件
  • 启用了 Gmail API 的 Google Cloud 项目 — console.cloud.google.com > APIs > Gmail API > Enable
  • OAuth 2.0 桌面凭据 — Credentials > Create OAuth client > Desktop。设置 GOOGLE_OAUTH_CLIENT_ID 和 _SECRET 环境变量
步骤
  1. 拉取最后一周的未读邮件
    在 Gmail 中搜索最后 7 天的未读邮件。按发送人分类(团队、外部、供应商、通讯录)。✓ 已复制
    → 分组计数 + 预览行
  2. 自动标签 + 存档通讯录
    对于通讯录邮件,添加 'newsletter' 标签并存档。✓ 已复制
    → 存档数量、线程 ID
  3. 为最重要的 5 个对话草拟回复
    对于 5 个最重要的对话(客户需求、阻塞问题、需要做决定),起草简洁的回复。不要发送——只需草拟。✓ 已复制
    → 5 个草稿在 Gmail 中可见

结果: 收件箱少于 20 封邮件,草稿准备好审查 + 发送。

注意事项
  • AI 发送回复而不是草拟 — 在 prompt 中始终说 'draft only';对于不受信任的会话禁用 send_gmail_message
搭配使用: notion

如何从你的日历为明天的每个会议做准备

👤 任何有连续会议的人 ⏱ ~15 min beginner

何时使用: 在繁忙一天之前的工作日结束时。

步骤
  1. 列出明天的事件
    获取我明天的日历事件。对于每个事件,显示参与者和会议标题。✓ 已复制
    → 事件时间线
  2. 对于每个会议,找到关联的文档和最近的邮件
    对于每个有议程链接的会议,打开文档并总结。对于每个参与者,显示最后一封与他们的邮件对话。✓ 已复制
    → 每个会议的简报
  3. 倒入一个文档
    创建一个名为 'Prep 2026-04-15' 的文档,为每个会议创建一个部分。✓ 已复制
    → 返回文档 URL

结果: 一个单一的准备文档,你可以在喝咖啡时快速浏览。

注意事项
  • 外部参与者的邮件包含个人信息——它们会被发送给你的 LLM 提供商 — 如果你关心隐私,在 prompt 中只保留名称
搭配使用: notion

如何将 Google Sheet 转变为 agent 的读写数据源

👤 在 Sheets 上运行业务流程的运维人员 ⏱ ~15 min intermediate

何时使用: 你还不想迁移到真正的数据库,但想要 AI 回答问题 + 记录事件。

步骤
  1. 描述表格布局
    读取电子表格 1AbC... 中的 'Orders' 选项卡——告诉我架构。✓ 已复制
    → 包含类型的列列表
  2. 回答一个问题
    使用 read_sheet_values,三月份有多少订单超过 $1000?✓ 已复制
    → 数字答案 + 查询的单元格
  3. 追加一行
    追加新行:今天的日期,customer=acme,amount=1200,status=pending。✓ 已复制
    → 追加行的索引

结果: 临时分析 + 日志记录,无需离开聊天。

注意事项
  • 公式在写入时重新计算,可能覆盖你关心的单元格 — 添加数据时使用 append_table_rows,而不是范围写入
搭配使用: filesystem

如何从 markdown 模板生成 Google Doc

👤 任何生成提案、报告或模板化文档的人 ⏱ ~10 min beginner

何时使用: 你想要富文本 Docs 输出(表格、标题),而不需要学习 Google 的 API。

步骤
  1. 用 markdown 草拟
    基于 [brief] 为 ACME 写一份客户提案。以 markdown 格式输出。✓ 已复制
    → Markdown 草稿
  2. 转换为 Doc
    创建一个新的 Google Doc,标题为 'ACME Proposal 2026-04',包含该内容。使用 create_doc,然后 batch_update_doc 保留格式。✓ 已复制
    → Doc URL

结果: 一个格式正确的 Doc 你可以共享。

注意事项
  • create_doc 只接受纯文本——格式需要后续的 batch_update — 对于富文本文档,始终使用两步流程

组合

与其他 MCP 搭配,撬动十倍杠杆

google-workspace + notion

将会议准备文档镜像到 Notion 以便团队查看

对于今天的每个会议,将 Google Doc 议程复制到 'Meeting Notes' 下的新 Notion 页面,使用日期作为标题。✓ 已复制
google-workspace + filesystem

将 Drive 文件夹导出到本地磁盘作为备份

将 Drive 文件夹 'Client Contracts 2025' 中的每个文件下载到 /backups/drive/contracts-2025/。✓ 已复制
google-workspace + github

交叉引用 GitHub issues 与日历 standup

在我的 10am standup 之前,列出分配给我的开放 GitHub issues,并将摘要附加到今天的 standup 事件描述中。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
search_gmail_messages query: str, max_results?: int 按发送人、主题、日期查找邮件 1 Gmail API call
draft_gmail_message to, subject, body, thread_id? 在 AI 工作流中倾向于草拟而不是发送 1 API call
send_gmail_message to, subject, body 仅当用户明确要求发送时 1 API call (irreversible)
get_events calendar_id?, time_min, time_max 在时间窗口内拉取事件 1 Calendar API call
manage_event action, event_id?, summary?, attendees?, time? 创建/更新/删除事件 1 API call
read_sheet_values spreadsheet_id, range 读取单元格范围 1 Sheets API call
append_table_rows spreadsheet_id, table_id, rows 安全追加而不覆盖公式 1 Sheets API call
create_doc title, content? 开始一个新的文档 1 Docs API call
batch_update_doc doc_id, requests[] 在 create_doc 之后应用格式 1 Docs API call (batched)
search_drive_files query, max_results? 按名称/所有者定位文件 1 Drive API call

成本与限制

运行它的成本

API 配额
Gmail:每秒 250 个配额单位/用户。Sheets:每分钟 300 个读取/用户。Drive:每 100 秒 1000 个查询/用户。
每次调用 Token 数
'complete' 层级的工具列表很大(约 100 个工具);使用 'core' 层级以保持成本低廉
费用
使用 Google 帐户免费
提示
使用 --tool-tier core 运行,仅当你实际需要 Slides/Forms/Script 时切换到 extended。

安全

权限、密钥、影响范围

最小权限: 仅授予你实际使用的服务的范围(例如 gmail.readonly、calendar.readonly)
凭据存储: 环境变量中的 GOOGLE_OAUTH_CLIENT_ID/_SECRET;刷新令牌持久化在磁盘上
数据出站: 你的文档/邮件内容通过 MCP 服务器发送给你选择的 LLM 提供商
切勿授予: 如果你不需要发送,则不要授予 gmail.send 如果 drive.file 足够,则不要授予 drive (full) 管理员范围

故障排查

常见错误与修复

invalid_grant / 令牌已过期或被撤销

删除缓存的令牌文件并重新运行身份验证流程。

验证: ls ~/.config/google_workspace_mcp/tokens
403 权限不足

使用所需范围重新同意——存储的令牌还没有它。

API 未启用

在 Google Cloud Console 中为你的项目启用特定的 API(例如 Docs API)。

用户配额已超出

Gmail 和 Sheets 有每分钟的限制。批量读取;使用指数退避重试。

替代方案

google_workspace_mcp 对比其他方案

替代方案何时用它替代权衡
官方 Gmail MCP (Anthropic remote)你想要 Anthropic 托管的 OAuth,零设置仅 Gmail;无 Drive/Docs/Sheets
zapier MCP你已经为 Zapier 付费,想要零配置每个调用都要花钱;延迟更高

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills