Token导航 LogoToken导航TokenDH.com
Claude Code Google Workspace logo
开发工具未说明官方级别未说明来源级核验

Claude Code Google Workspace

MCP Server

为Claude Code提供多账号Google Workspace(Gmail、Google Drive、Calendar等)和Slack的集成访问功能。

工具数

3

提示词数

0

GitHub Stars

20

资源数

0
开发工具ShellClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

evolsb

提供方

evolsb

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

多账户谷歌工作区+Slack MCP for Claude代码

允许Claude Code访问Gmail、Google云端硬盘、日历、表格、文档和Slack,并完全支持多个Google帐户(例如,个人+工作)。

背景

Claude Desktop和Claude Cowork都内置了谷歌工作区集成功能——只需切换一下,你就可以连接了。 克劳德代码什么都没有。 截至2026年3月,还没有官方集成,没有处理多帐户的插件,也没有关于如何设置它的文档。

这个仓库是大约6个小时的研究和调试的结果。最终的解决方案很简单,但要实现这一点,需要发现Claude Code的MCP系统、Google的OAuth2实现和 gws CLI。

是什么让这很难

这不是一个问题,而是一堆问题,每一个都没有记录:

  1. Claude Code默认忽略错误文件中的MCP配置。 如果你把 mcpServerssettings.local.json (在您所期望的地方),服务器不会启动。没有错误。没有日志。您可以花费数小时重新启动并重新检查JSON语法。配置必须插入 .mcp.json 在项目的根。 (克劳德代码问题#24477)
  1. 两个Google帐户的一个OAuth客户端会破坏这两个功能。 当您使用相同的OAuth客户端对帐户B进行身份验证时,Google会使帐户A的刷新令牌无效。在同一个GCP项目中,您需要单独的OAuth桌面应用程序客户端——每个帐户一个。
  1. 凭据文件env-var不起作用。 GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE 应该让你指出 谷歌工作区CLI 在不同的凭据文件中,但它不能可靠地路由到正确的帐户。你必须铸造新的访问令牌,并通过 GOOGLE_WORKSPACE_CLI_TOKEN (最高优先级的身份验证方法)。
  1. Go二进制文件使用单破折号。 两者 gws CLI和 slack-mcp-server 是Go二进制文件。 --transport stdio 默默地失败了。它是 -t stdio --或者干脆省略它(默认为stdio)。
  1. MCP服务器仅在会话启动时启动。 配置更改只有在完全重新启动Claude Code后才会生效。

每种诊断都需要30-120分钟。当它实际上是一个可解决的配置问题时,它们一起让设置感觉崩溃了。

我们尝试和拒绝的东西

方法为什么失败
遗产 google-workspace Claude Code插件仅限单个帐户,端口8000冲突阻止第二个实例
两个帐户的单个OAuth客户端Google在第二次身份验证时使第一个帐户的刷新令牌无效
CREDENTIALS_FILE 每个MCP服务器的env var不能可靠地路由到正确的帐户
mcpServerssettings.local.json被默默忽略——Claude Code从不从那里读取MCP配置
mcpServers.claude/settings.json也默默地忽略了
服务帐户身份验证没有域范围的委派,无法访问个人Gmail/Drive
请求所有85个以上OAuth作用域谷歌阻止未经验证的应用程序请求太多作用域

有关完整的调查日志,请参阅 docs/研究笔记.md.

解决方案

工作设置使用:

  • 谷歌工作区CLI (gws v0.7+)——谷歌官方CLI,内置MCP服务器模式
  • 单独的OAuth桌面客户端 --同一GCP项目中的每个Google帐户一个
  • 令牌包装脚本 --从每个帐户的凭据文件中创建新的访问令牌,并通过最高优先级的env-var传递它们
  • .mcp.json 在项目根 --Claude Code实际上为MCP服务器读取的唯一配置位置
  • slack-mcp服务器 --基于Go的Slack MCP,默认为只读

你得到了什么

MCP服务器功能
gws-personal您个人谷歌帐户的Gmail、云端硬盘、日历、表格、文档
gws-work同样,对于您的工作Google帐户(可选)
slack阅读频道、搜索消息、浏览帖子、列出用户

运行后,Claude Code可以通过自然语言搜索您的电子邮件、读取Drive文件、查看日历、读/写电子表格和搜索Slack。

快速开始

先决条件

  • 克劳德代码 安装和工作
  • 18+(适用于 npx)
  • Python 3 (用于代币铸造——仅使用stdlib)
  • gcloud命令行界面 (用于启用API和IAM)
  • 具有Gmail/Drive访问权限的Google帐户
  • (可选)Slack工作区,您可以在其中创建应用程序

AI引导设置

  1. 克隆此仓库 并在其中打开克劳德代码:
   git clone https://github.com/YOUR_USERNAME/claude-code-google-workspace.git
   cd claude-code-google-workspace
   claude
  1. 告诉克劳德密码:“为我设置谷歌工作区MCP”

CLAUDE.md 此存储库中包含机器可读的设置指令。Claude Code将引导您完成每个步骤,只提示您基于浏览器的OAuth步骤无法自动化。

  1. 重新启动Claude代码 加载新的MCP服务器。

手动设置

如果您更喜欢分步说明: docs/manual-setup.md.

完整研究日志

要了解每一个决定和失败的方法: docs/研究笔记.md.

建筑

Claude Code session start
        │
        ├─── reads .mcp.json (project root)
        │
        ├─── starts gws-personal server:
        │      │
        │      ├── gws-token-wrapper.sh personal.json
        │      │     │
        │      │     ├── reads personal.json (client_id_A + refresh_token)
        │      │     ├── POST https://oauth2.googleapis.com/token → access_token
        │      │     └── exec: GOOGLE_WORKSPACE_CLI_TOKEN= gws mcp -s gmail,drive,...
        │      │
        │      └── gws mcp ←→ Google APIs (Gmail, Drive, Calendar, Sheets, Docs)
        │
        ├─── starts gws-work server:
        │      │
        │      └── (same flow, different credential file with client_id_B)
        │
        └─── starts slack server:
               │
               └── npx slack-mcp-server (SLACK_MCP_XOXP_TOKEN env var)

为什么使用包装脚本?

gws CLI在内部一次存储一组凭据。对于多个帐户,我们不能依赖其凭据文件路由(CREDENTIALS_FILE env-var不可靠)。相反,我们:

  1. 读取导出的凭据文件(已 client_id, client_secret, refresh_token)
  2. 直接调用Google的令牌端点以生成新的访问令牌
  3. 通过 GOOGLE_WORKSPACE_CLI_TOKEN --中的最高优先级身份验证方法 gws 身份验证链

这是15行shell+Python stdlib。没有依赖关系。

为什么要分离OAuth客户端?

OAuth2 Desktop App客户端有一种行为,即为帐户B颁发新的刷新令牌会使帐户a的现有刷新令牌无效——如果它们共享相同的刷新令牌 client_id在同一GCP项目中创建单独的OAuth桌面客户端,为每个帐户提供了自己独立的令牌生命周期。

在您自己的项目中使用

设置后,在任何需要这些MCP服务器的项目中,您都需要两件事:

  1. .mcp.json 从项目根源 --从该仓库的模板复制并填写路径
  2. ~/.config/gws/ --凭证文件+包装器脚本(在安装过程中创建一次,在所有项目中共享)

或者添加 mcpServers 配置到 ~/.claude.json 在每个项目中实现全球访问。

总是吉吉诺雷 .mcp.json --它包含OAuth令牌。

已知的戈查斯

这些是按照如果你在不知不觉中击中它们会花费你多少时间来排序的:

#Gotcha时间成本症状修复
1mcpServerssettings.local.json默默地忽略2+小时服务器从不启动,零错误使用 .mcp.json (项目根)或 ~/.claude.json (全球)。 第24477期
2两个帐户使用相同的OAuth客户端1-2小时在第二个帐户进行身份验证后,第一个帐户停止工作为每个帐户创建单独的OAuth桌面客户端
3CREDENTIALS_FILE env var不可靠1小时返回错误的帐户数据使用 GOOGLE_WORKSPACE_CLI_TOKEN 通过包装脚本
4工作帐户显示“访问被阻止”30分钟OAuth同意屏幕阻止非测试用户在OAuth同意屏幕上将所有帐户添加为测试用户+授予IAM serviceUsageConsumer 角色
5MCP服务器仅在会话启动时启动15分钟配置更改不生效任何更改后重新启动Claude代码 .mcp.json 改变
6Go二进制文件使用单破折号15分钟--transport stdio 无声失败使用 -t stdio 或省略(默认为stdio)
7访问令牌在约1小时后过期5分钟API调用在长会话上失败重新启动Claude Code以获取新令牌
8gws auth login 打开前台浏览器5分钟错误的Chrome配置文件=经过身份验证的帐户错误运行前将正确的Chrome配置程序放在前面
9请求的OAuth作用域太多10分钟谷歌阻止未经验证的应用程序使用 -s drive,gmail,calendar,sheets,docs (并非所有范围)

注意事项

  • 写于2026年3月 --经过测试 gws CLI v0.7.0和当前的Claude代码
  • 谷歌和Anthropic可能会让这件事变得更容易——这个仓库填补了之前的空白
  • GCP项目+OAuth同意屏幕设置需要手动浏览器步骤(不能完全自动化)
  • 会话开始时生成的访问令牌将在约1小时后过期——长会话将重新启动
  • 在macOS上测试-Linux应该可以工作,Windows未经测试
  • gws CLI是1.0之前的版本——标志和身份验证行为可能会发生变化

参考文献

贡献

欢迎发布问题和PR。如果你遇到了新的问题,请打开一个问题——我们捕获的每一个未记录的行为都会为某人节省几个小时。

许可证

麻省理工学院

目录标签

目录标签

开发工具ShellClaude本地部署GoogleWorkspace集成多账号管理Slack集成OAuth2认证

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP