通过所有 MCP 客户端、AI 助手和开发工具实现对 Google 日历、驱动器、Gmail、文档、表格、幻灯片、表单、任务和聊天的全自然语言控制。
功能最全面的 Google Workspace MCP 服务器,现在支持远程 OAuth2.1 多用户以及一键安装 Claude。
实际操作演示:
<div align="center"> <video width="400" src="https://github.com/user-attachments/assets/a342ebb4-1319-4060-a974-39d202329710"></video> </div>此 README 是在 AI 的帮助下编写的,以下是为什么这很重要
</details>作为一个独立开发者,构建开源工具时,如果没有 AI 的帮助,全面的文档通常不会出现。使用像 Roo 和 Claude Code 这样的代理开发工具,它们理解整个代码库,AI 不仅仅是重复通用内容——它提取真实的实现细节,并创建准确、具体的文档。
在这种情况下,Sonnet 4 进行了一次通过,一个人类(我)在 2025 年 8 月 16 日验证了它们。
一个生产就绪的 MCP 服务器,集成了所有主要的 Google Workspace 服务与 AI 助手。它支持单用户操作和通过 OAuth 2.1 的多用户身份验证,使其成为自定义应用程序的强大后端。使用 FastMCP 构建以获得最佳性能,具有高级的身份验证处理、服务缓存和简化开发模式。
简化设置:现在使用 Google 桌面 OAuth 客户端——无需重定向 URI 或端口配置!
<span style="color:#72898f">@</span> Gmail • <span style="color:#72898f">≡</span> 驱动器 • <span style="color:#72898f">⧖</span> 日历 <span style="color:#72898f">≡</span> 文档
<span style="color:#72898f">≡</span> 表单 • <span style="color:#72898f">@</span> 聊天 • <span style="color:#72898f">≡</span> 表格 • <span style="color:#72898f">≡</span> 幻灯片
<span style="color:#72898f">⊠</span> 身份验证和安全性
<span style="color:#72898f">✓</span> 任务 • <span style="color:#72898f">◆</span> 自定义搜索 • <span style="color:#72898f">↻</span> 传输支持
⊠ 凭证
export GOOGLE_OAUTH_CLIENT_ID="..."
export GOOGLE_OAUTH_CLIENT_SECRET="..."
</td><td width="33%" valign="top">
▶ 启动命令
uvx workspace-mcp --tool-tier core
uv run main.py --tools gmail drive
</td><td width="34%" valign="top">
★ 工具层级
核心 - 基本工具扩展 - 核心 + 额外工具完整 - 所有工具
详情 →google_workspace_mcp.dxt为什么使用 DXT?
桌面扩展(
.dxt)捆绑了服务器、依赖项和清单,因此用户只需点击一次即可从下载 → 正常运行的 MCP——无需终端、无需编辑 JSON、无需版本冲突。
必要
| 变量 | 目的 |
|---|---|
GOOGLE_OAUTH_CLIENT_ID | 来自 Google Cloud 的 OAuth 客户端 ID |
GOOGLE_OAUTH_CLIENT_SECRET | OAuth 客户端密钥 |
OAUTHLIB_INSECURE_TRANSPORT=1 | 开发用途(允许 http:// 重定向) |
可选
| 变量 | 目的 |
|---|---|
USER_GOOGLE_EMAIL | 单用户认证的默认电子邮件 |
GOOGLE_PSE_API_KEY | 自定义搜索的 API 密钥 |
GOOGLE_PSE_ENGINE_ID | 自定义搜索的搜索引擎 ID |
MCP_ENABLE_OAUTH21 | 设置为 true 以启用 OAuth 2.1 支持 |
EXTERNAL_OAUTH21_PROVIDER | 设置为 true 以启用外部 OAuth 流程(需要 OAuth 2.1) |
WORKSPACE_MCP_STATELESS_MODE | 设置为 true 以启用无状态操作(需要 OAuth 2.1) |
Claude 桌面安全地存储这些凭据在操作系统密钥链中;只需在扩展面板中设置一次。
</details>1. 创建项目
console.cloud.google.com
→ 创建新项目
→ 记录项目名称
<sub>打开控制台 →</sub>
</td> <td width="33%" align="center">2. OAuth 凭证
APIs & Services → 凭证
→ 创建凭证
→ OAuth 客户端 ID
→ 桌面应用
<sub>下载并保存凭证</sub>
</td> <td width="34%" align="center">3. 启用 API
APIs & Services → 库
搜索并启用:
日历、驱动器、Gmail、
文档、表格、幻灯片、
表单、任务、聊天、搜索
<sub>见下方快速链接</sub>
</td> </tr> <tr> <td colspan="3"> <details> <summary>≡ <b>OAuth 凭证设置指南</b> <sub><sup>← 分步说明</sup></sub></summary>完整设置过程:
创建 OAuth 2.0 凭证 - 访问 Google Cloud 控制台
启用所需 API - 在 APIs & Services → 库
配置环境 - 设置您的凭证:
export GOOGLE_OAUTH_CLIENT_ID="your-client-id"
export GOOGLE_OAUTH_CLIENT_SECRET="your-secret"
≡ 完整文档 →
</details> </td> </tr> </table> <details> <summary>⊥ <b>快速 API 启用链接</b> <sub><sup>← 一键启用每个 Google API</sup></sub></summary> 您可以通过点击以下链接来启用每个 API(确保您已登录 Google Cloud 控制台并且选择了正确的项目):1.1. 凭证:参见 凭证配置 了解详细设置选项
◆ 开发模式
export OAUTHLIB_INSECURE_TRANSPORT=1
<sub>允许 HTTP 重定向 URI</sub>
</td> <td width="33%" align="center">@ 默认用户
export USER_GOOGLE_EMAIL=\
your.email@gmail.com
<sub>单用户认证</sub>
</td> <td width="34%" align="center">◆ 自定义搜索
export GOOGLE_PSE_API_KEY=xxx
export GOOGLE_PSE_ENGINE_ID=yyy
<sub>可选:搜索 API 设置</sub>
</td> </tr> </table> </details>◆ 基础配置
export WORKSPACE_MCP_BASE_URI=
http://localhost
export WORKSPACE_MCP_PORT=8000
<sub>服务器 URL 和端口设置</sub>
</td> <td width="33%" align="center">↻ 代理支持
export MCP_ENABLE_OAUTH21=
true
<sub>利用多用户 OAuth2.1 客户端</sub>
</td> <td width="34%" align="center">@ 默认电子邮件
export USER_GOOGLE_EMAIL=\
your.email@gmail.com
<sub>单用户模式下跳过身份验证流程中的电子邮件</sub>
</td> </tr> </table> <details> <summary>≡ <b>配置详情</b> <sub><sup>← 了解更多关于每个设置</sup></sub></summary>| 变量 | 描述 | 默认值 |
|---|---|---|
WORKSPACE_MCP_BASE_URI | 基础服务器 URI(不带端口) | http://localhost |
WORKSPACE_MCP_PORT | 服务器监听端口 | 8000 |
WORKSPACE_EXTERNAL_URL | 反向代理设置的外部 URL | 无 |
GOOGLE_OAUTH_REDIRECT_URI | 覆盖 OAuth 回调 URL | 自动生成 |
USER_GOOGLE_EMAIL | 默认认证电子邮件 | 无 |
1. 创建搜索引擎
programmablesearchengine.google.com
/controlpanel/create
→ 配置站点或整个网络
→ 记录您的引擎 ID(cx)
<sub>打开控制面板 →</sub>
</td> <td width="33%" align="center">**2. 获取 API