Back to Directory/Security & Auth

Google Workspace (multi-account)

Multi-account Google Workspace MCP server: 942 tools, 29 services, discover-first, BYO OAuth.

Security & AuthTypeScriptv6.1.0

mcp-google-multi

The most complete local Google Workspace MCP server: Gmail, Drive, Calendar, Sheets, Docs, Slides, Forms, Contacts, Tasks, Chat, Meet, Analytics (GA4), Search Console, Classroom, Vault, Admin and more β€” every OAuth-reachable API method as a tool, across multiple Google accounts at once, from Claude Code or any MCP client.

npm

  • 🧰 Exhaustive β€” 942 tools across 29 services, now including Google Analytics (GA4), + an escape hatch for anything else β†’ COVERAGE.md
  • πŸ”‘ Multi-account β€” drive any number of Google accounts by alias, or fan one call out across all of them
  • πŸ”’ Private by design β€” your own OAuth app, tokens encrypted at rest (AES-256-GCM), writes deny-by-default, no telemetry, no metering β€” it talks only to Google
  • 🌐 Local or remote β€” runs locally over stdio, or self-hosted over HTTP with its own built-in OAuth 2.1 server (Claude Code's /mcp login and the claude.ai connector, zero custom UI). Pull-and-up Docker Compose with optional automatic HTTPS β†’ remote setup
  • βœ‰οΈ Built for real work β€” send and read email in Markdown with attachments and one-call replies, an interactive setup wizard with a doctor self-check, and per-account scope profiles β†’ features tour

Quick setup

New to all this? It's written for someone who just installed Claude Code and has never made an API key. Copy-paste each step; it says what you'll see. (Already technical? The Configuration reference is the terse version.)

  1. Install it. Get Node.js (the green "LTS" button, version 22 or newer), then run:

    npm install -g mcp-google-multi
    

    Claude Desktop user? You can skip npm entirely: download the mcp-google-multi.mcpb bundle from the latest release, double-click it (or drag it into Claude Desktop β†’ Settings β†’ Extensions), and fill in the values from step 2 when prompted.

  2. Make your Google key (the one manual part, a few minutes, because Google has no way to script it). Follow the step-by-step Google Cloud setup, or just ask Claude Code: "walk me through creating a Google OAuth Desktop client for mcp-google-multi." You finish with two values, a Client ID and a Client Secret. It's free and private to you.

  3. Put them in a file. In the folder you'll run from, make a file named .env and paste this, filling in your values:

    GOOGLE_CLIENT_ID=paste-your-client-id
    GOOGLE_CLIENT_SECRET=paste-your-client-secret
    # any short nickname, then your Gmail address:
    GOOGLE_ACCOUNTS=me:you@gmail.com
    

    No encryption key to make: the server generates and stores one for you.

  4. Sign in. A browser opens; pick your account and click Allow:

    mcp-google-multi auth --account me
    
  5. Add it to Claude Code, then restart Claude Code:

    claude mcp add mcp-google-multi -s user -- npx -y mcp-google-multi
    

Stuck at any point? Run mcp-google-multi doctor. It inspects every part and prints the exact fix for anything wrong (a missing sign-in, a Google API you still need to switch on, and so on). Once it reads all-green, just talk to Claude: "summarize my unread email."

Got more than one Google account? Add them together, like GOOGLE_ACCOUNTS=me:you@gmail.com,work:you@company.com, and run step 4 once per nickname.

On a server or from claude.ai? Advanced path: Remote / HTTP setup. Coming from v5? v6 migration guide.

Go deeper: Configuration reference Β· What's covered Β· Features tour Β· Remote / HTTP setup Β· Secrets in a vault Β· Local usage metrics Β· Migrating to v6 Β· Security policy Β· Roadmap

Agent skill

The repo and the npm package both ship an Agent Skill at skills/google-workspace/: a hand-written SKILL.md covering account selection, the discover step, incremental Gmail sweeps, keeping results small, write profiles, and the escape hatch, plus a reference/ folder with a generated argument table per service. Loading it gets an agent calling this server's tools correctly without guessing argument names.

To install it for Claude Code, copy or symlink the skills/google-workspace folder into ~/.claude/skills/ (every project) or a project's own .claude/skills/ (that project only):

# from a cloned copy of this repo
ln -s "$(pwd)/skills/google-workspace" ~/.claude/skills/google-workspace

# from the installed npm package
ln -s "$(npm root -g)/mcp-google-multi/skills/google-workspace" ~/.claude/skills/google-workspace

Maintainer, sponsor & license

Built and maintained by Abdelbaki Berkati β€” berkati.xyz Β· @bakissation. Read the case study β†’

Development is funded by IdeaCrafters (@IdeaCraftersHQ) β€” the studio that pays for this OSS to exist.

An Enterprise Edition (hosted, multi-tenant) is available: ask through berkati.xyz (email or LinkedIn there).

Thanks to contributors @obatried, @trevor-commits, and @mjreddy. The project is maintainer-led (roadmap on Milestones; bug reports welcome, feature PRs by prior agreement β€” see CONTRIBUTING.md). Feedback shapes the roadmap: open an issue with bugs, pain points, or what you wish it did. Security reports go to SECURITY.md, never a public issue.

Licensed under MIT.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y mcp-google-multi

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-bakissation-mcp-google-multi": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-multi"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

mcp-google-multinpm

Compatible MCP Clients

Google Workspace (multi-account) works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More