关于 Google Workspace MCP Server
Google Workspace MCP Server 将 Gmail、Drive、Calendar 和 Docs 等服务连接到 AI 助手及开发工具。它提供细分服务工具、可配置的工具层级、OAuth 身份验证和命令行工具。
主要功能
- 01提供 Workspace 服务工具
- 02可配置工具层级和权限
- 03只读模式
- 04OAuth 2.1 多用户身份验证
- 05通过命令行列出和调用工具
- 06支持 HTTP 与 stdio 传输
适用场景
- 01搜索和管理 Gmail 邮件
- 02创建或更新 Calendar 活动
- 03通过 AI 客户端编辑 Docs 和 Sheets
- 04在脚本中调用 Workspace 工具
MCP 相关
它向 MCP 客户端提供 Google Workspace 服务操作作为工具,支持 streamable HTTP 或 stdio。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
120收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| service_name | string | 是 | |
| user_google_email | string | 否 |
详细介绍
Google Workspace MCP Server 
通过所有 MCP 客户端、AI 助手和开发者工具,使用自然语言全面控制 Google Calendar、Drive、Gmail、Docs、Sheets、Slides、Forms、Tasks、Contacts 和 Chat。 包含功能齐全的 CLI 和 Code Mode,可与 Claude Code、Codex 等工具搭配使用!
速度最快、功能最全面的 Google Workspace MCP 服务独树一帜:它支持多用户,提供丰富而精细的编辑工具,覆盖范围也超过现有任何 Workspace AI 集成;Google 自己的工具以及 Claude 和 ChatGPT 内置的集成都远不及它。
借助原生 OAuth 2.1、无状态部署能力,以及对外部身份验证服务和网关透传验证的支持,它也是唯一可供整个组织集中、安全托管的 Workspace MCP!支持所有免费的 Google 账号和 Google Workspace 方案,并提供 Chat 和 Spaces 等扩展应用选项。
观看实际演示:
功能介绍
Workspace MCP 可将 AI 助手连接到 Google Workspace 的全部 12 项主要服务——通过单个 MCP 服务提供 120 多种工具,支持 OAuth 2.1 多用户身份验证、三个渐进式工具层级、只读模式、完整的 CLI,以及无状态容器部署。它可通过 stdio 在本地运行,服务旧版客户端;也可通过可流式传输的 HTTP 远程运行,并完整实现最新的 MCP 规范。
本 README 仅介绍运行所需的基本内容,网站上提供了详尽文档:
| 查看位置 | 内容 |
|---|---|
| 快速 入门 | Google Cloud 设置、凭据和客户端连接(附截图) |
| 完整 文档 | 每种工具、参数和身份验证模式 |
| 高级 部署 | 反向代理和 nginx 配置、来源验证、凭据存储后端(GCS/CMEK)、可信网关身份,以及完整的环境变量参考 |
| 客户端 设置 指南 | Claude Desktop/Web Connectors、ChatGPT Developer Mode 等 |
| 常见问题 & 故障排除 | 启用 Google API、OAuth 错误、重定向 URI、Google Chat 设置、客户端特性 |
安全与合规
|
面向安全团队 默认情况下,此服务不会向任何地方发送数据,Google API 除外;它会使用你自己的 OAuth 客户端凭据,代表经过身份验证的用户调用 Google API。除可选的 OTel 支持(供你自行使用)外,它没有使用情况报告、分析、许可证服务器或 SaaS 依赖。
完整依赖树见 |
面向法务与采购团队 本项目采用 MIT 许可证 ——
|
📧Gmail15 个工具 - 搜索、发送、撰写草稿、 标签、过滤器、附件 |
📁Drive16 个工具 - 搜索、创建、共享、 导入 Office 文件 |
📅Calendar7 个工具 - 活动、空闲/忙碌状态、 外出办公、专注时间 |
📝Docs19 个工具 - 编辑、样式、表格、 标签页、评论、导出 |
📊Sheets14 个工具 - 范围、表格、 格式设置、条件规则 |
🖼️Slides7 个工具 - 创建、批量更新、 幻灯片图片、评论 |
📋Forms6 个工具 - 创建表单、发布、 读取回复 |
✅Tasks6 个工具 - 任务和列表 支持层级结构 |
👤Contacts8 个工具 - 联系人、群组、 批量操作 |
💬Chat6 个工具 - 空间、消息、 搜索、表情回应 |
🔍自定义搜索2 个工具 - 可编程 网络搜索 |
⚡Apps Script15 个工具 - 编写、部署、 运行和调试脚本 |
每个页面都列出了所有工具及其层级、参数、所需权限范围和提示词示例。完整参考汇总了全部 12 项服务。
💬 Google Chat 需要一次性配置 Chat 应用并拥有 Workspace 账号——请参阅 Chat 设置常见问题。
快速开始
设置凭据 → 选择启动命令 → 连接客户端。查看包含截图的完整指南:workspacemcp.com/quick-start
你需要从 Google Cloud Console 获取 OAuth 客户端,并在一个已为你计划使用的服务启用 Google API 的项目中使用它。文档提供了每个 API 的一键启用链接,以及一条可启用所有 API 的 gcloud services enable 命令;快速入门指南会在大约五分钟内带你完成整个设置流程。
**Agentic OAuth 客户端:**此服务仅调用 Google 的 REST API,因此你的 OAuth 客户端无需启用 Google 的“将此客户端用于 AI 驱动的 Agent”设置。如果组织希望将 Agent 流量标记出来以便进行管理员控制,可以创建一个单独的客户端并启用该设置;2026 年 11 月 12 日之后,现有客户端无法更改此设置。
|
机密客户端
|
OAuth 2.1(PKCE)
|
工具层级有助于精简上下文窗口:core 是必需工具集,extended 添加管理操作,complete 则加载所有工具。可与 --tools <service> ...、--read-only 或按服务设置的 --permissions 组合使用,也可以通过 --disabled-tools <name> ... 排除单个工具——详情请参阅服务模式文档。
连接客户端
Claude Desktop、网页和移动端 - 以 HTTP 模式运行服务,并将其添加为连接器(设置 → 连接器 → 添加自定义连接器)。这是推荐方式;连接器指南提供了分步截图说明。不支持连接器的客户端仍可使用旧版 stdio 配置——请参阅常见问题。
Claude Code
# Start the server in HTTP mode, then:
claude mcp add --transport http workspace-mcp http://localhost:8000/mcp
# Optional: install the bundled skill for better Workspace tool routing
ln -s "$(pwd)/skills/managing-google-workspace" ~/.claude/skills/managing-google-workspace
ChatGPT - 按照 ChatGPT 指南通过开发者模式连接。
VS Code、LM Studio、Open WebUI 及其他所有客户端 - 任何 MCP 客户端都可以通过可流式传输的 HTTP(推荐)或 stdio 工作。各客户端的使用指南请参阅指南和常见问题。
命令行工具
workspace-cli 可针对正在运行的服务列出并调用工具,并使用加密的磁盘 OAuth 令牌缓存——认证一次,即可永久用于脚本:
uv run workspace-cli list
uv run workspace-cli call search_gmail_messages query="is:unread" max_results=5
在此仓库中运行 uv tool install . 即可全局安装。⚠️ 请勿使用 uvx workspace-cli——一个已废弃的 PyPI 软件包占用了这个名称。
部署与高级配置
运行生产环境所需的所有内容都位于两个地方。文档介绍了认证模式和服务配置:
- OAuth 2.1 多用户身份验证 - 不记名令牌,远程或共享 HTTP 端点必需
- 无状态容器模式 - 用于受限部署,不写入磁盘
- OAuth 代理存储后端 - 分布式部署可使用内存、磁盘或 Valkey/Redis
- 外部 OAuth 提供方模式 - 使用自有身份验证服务器,仅验证不记名令牌
- 支持全域委派的服务账号 - 按请求模拟用户,可选配置域名允许列表
- 受信任网关身份 - 通过 Pomerium、Cloudflare Access、oauth2-proxy 或任何可通过 JWKS 验证的网关,实现由代理验证的逐用户隔离
- OpenTelemetry 跟踪 - 可选;除非配置 OTLP 端点,否则默认关闭
- Docker -
docker build -t workspace-mcp . && docker run -p 8000:8000 workspace-mcp
高级部署指南介绍了自托管的具体事项:使用 WORKSPACE_EXTERNAL_URL 配置反向代理(包括 nginx 的 Origin: null 授权变通方案、WORKSPACE_MCP_ALLOW_NULL_ORIGIN_CONSENT 紧急绕过选项,以及 Referrer-Policy 陷阱)、源验证和 VS Code Webview 允许列表、凭据存储后端(本地目录或启用 CMEK 强制的 GCS),以及完整的环境变量参考。
生产环境调优全部通过环境变量完成;下方的名称链接至对应的参考条目。
- Google API 请求:
WORKSPACE_MCP_GOOGLE_API_WORKERS、WORKSPACE_MCP_GOOGLE_API_TIMEOUT_SECONDS - 外部 OAuth 令牌验证:
WORKSPACE_MCP_TOKEN_VALIDATION_WORKERS、WORKSPACE_MCP_TOKEN_VALIDATION_CACHE_TTL - 内存上限:
WORKSPACE_MCP_MAX_FILE_BYTES、WORKSPACE_MCP_STATELESS_INLINE_MAX_BYTES、WORKSPACE_MCP_MAX_OFFICE_XML_BYTES - 会话和健康探针:
WORKSPACE_MCP_SESSION_IDLE_TIMEOUT、WORKSPACE_MCP_READINESS_TIMEOUT_SECONDS - DNS 重绑定防护:
WORKSPACE_MCP_ALLOWED_HOSTS,以逗号分隔的不含端口的主机名列表(例如workspace-mcp,10.0.0.5)。设置后,如果请求的Host既不是环回地址,也不在列表中,且不是WORKSPACE_EXTERNAL_URL的主机或允许的来源,则会返回403。因此,请包含客户端和健康探针使用的所有名称。未设置时,接受任何Host。 - 无法访问调用方磁盘的托管服务:
WORKSPACE_MCP_DISABLE_LOCAL_FILES禁用本地文件后,create_drive_file、update_drive_file和导入工具会提供return_upload_url:调用方将字节数据 PUT 到返回的 URL。如果文件位于云端镜像文件夹(Drive for desktop)中,请先将其复制到本地目录,因为镜像路径可能会导致上传中途卡住。 - **OAuth 2.1 令牌刷新和有效期:**参见
.env.oauth21 - OAuth 2.1 同意页面:
WORKSPACE_MCP_OAUTH_PROXY_REQUIRE_CONSENT=remember会为每个 MCP 客户端在每个浏览器中仅显示一次 OAuth 代理的同意页面,而不是每次授权时都显示;跨站导航仍会提示。默认值always会在每次都提示。任何其他值都会导致启动失败。 对于下载,在水平扩展或缩容至零的 HTTP 部署(Cloud Run、Kubernetes)中,可以将附件暂存到 Google Cloud Storage,而不是实例本地磁盘,因为/attachments/{id}URL 可能会指向另一台实例。安装gcsextra,并将WORKSPACE_MCP_FILES_GCS_BUCKET设置为存储桶名称;对象会写入WORKSPACE_MCP_FILES_GCS_PREFIX(默认为attachments)下,并以有效期为一小时的 V4 签名 URL 提供,客户端会直接从 GCS 获取文件。这也使无状态模式能够返回下载 URL,而不是内嵌文件。stdio 会忽略此设置,因为其客户端会直接读取本地文件路径。运行时服务账号需要对存储桶具有对象读写权限——roles/storage.objectUser,或roles/storage.objectCreator加roles/storage.objectViewer——并且如果没有导出私钥,还需要对自身拥有roles/iam.serviceAccountTokenCreator权限,以便通过 IAM 为 URL 签名。读取权限不可或缺:签名 URL 使用签名者的权限,因此如果没有storage.objects.get,上传和签名都会成功,但客户端下载会失败并返回403。服务器不会删除对象,因此请添加存储桶生命周期规则,在几小时后将其删除。
安全最佳实践
默认情况下,此服务不会向 Google API 以外的任何地方发送数据,且使用你自己的 OAuth 客户端凭据——不会进行使用情况报告、分析、许可证服务器通信,也不依赖 SaaS。采用 MIT 许可证,无 CLA、无双重许可,依赖链中也没有 copyleft。完整的安全措施——包括权限范围最小化、敏感路径拦截和无状态模式——请参阅 workspacemcp.com。
在将大模型连接到电子邮件之前,以下几点值得牢记:
- 提示词注入确实存在。 电子邮件、文档和事件中可能包含隐藏指令。只将可信数据连接到大模型,并谨慎选择启用哪些写入工具。
- 切勿将
.env、client_secret.json或.credentials/提交到源代码管理中。 - 本地文件读取受到沙盒限制,仅限于受管理的附件目录。只有在信任客户端及其数据源时,才通过
ALLOWED_FILE_DIRS扩大范围;.env*、~/.ssh/、~/.aws/等类似路径始终会被拦截。 - 生产环境部署应使用 HTTPS 和 OAuth 2.1。
开发
uv sync --group dev # install deps
uv run ruff check . # lint
uv run pytest # test
单文件服务模块位于 g<service>/,工具通过 @server.tool 装饰器注册,层级定义在 core/tool_tiers.yaml 中。欢迎提交 PR。
许可证
MIT——详见 LICENSE。许可证全文只有 21 行,言简意赅。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。