Claude Code Google Workspace banner
evolsb evolsb

Claude Code Google Workspace

AI community

Description

Multi-account Google Workspace (Gmail, Drive, Calendar, Sheets, Docs) + Slack MCP servers for Claude Code. Setup guide with CLAUDE.md for AI-guided installation.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Multi-Account Google Workspace + Slack MCP for Claude Code

Give Claude Code access to Gmail, Google Drive, Calendar, Sheets, Docs, and Slack — with full support for multiple Google accounts (e.g., personal + work).

Background

Claude Desktop and Claude Cowork have built-in Google Workspace integrations — flip a toggle and you're connected. **Claude Code has nothing.** As of March 2026, there's no official integration, no plugin that handles multi-account, and no documentation on how to set it up.

This repo is the result of ~6 hours of research and debugging to get it working. The final solution is simple, but getting there required discovering several undocumented behaviors in Claude Code's MCP system, Google's OAuth2 implementation, and the `gws` CLI.

What makes this hard

It's not one problem — it's a stack of them, each undocumented:

  1. **Claude Code silently ignores MCP config in the wrong file.** If you put `mcpServers` in `settings.local.json` (where you'd expect it), servers don't start. No error. No log. You can spend hours restarting and re-checking JSON syntax. The config must go in `.mcp.json` at the project root. ([Claude Code Issue #24477](https://github.com/anthropics/claude-code/issues/24477))

  2. **One OAuth client for two Google accounts breaks both.** Google invalidates account A's refresh token when you authenticate account B with the same OAuth client. You need separate OAuth Desktop App clients — one per account — in the same GCP project.

  3. **The credential file env var doesn't work.** `GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE` is supposed to let you point the [Google Workspace CLI](https://github.com/googleworkspace/cli) at different credential files, but it doesn't reliably route to the right account. You have to mint fresh access tokens and pass them via `GOOGLE_WORKSPACE_CLI_TOKEN` (the highest-priority auth method).

  4. **Go binaries use single-dash flags.** Both the `gws` CLI and [`slack-mcp-server`](https://github.com/nichoch