MCP server: One MCP server.

Google Workspace (multi-account)

@bakissationMCP server · External

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

Calendarv6.0.0MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmmcp-google-multiv6.0.0

Run

npx -y mcp-google-multi

MCP client config

{
  "mcpServers": {
    "google-workspace-multi-account": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-multi"
      ]
    }
  }
}
Dockerghcr.io/bakissation/mcp-google-multi:6.0.0

Run

docker run -i --rm ghcr.io/bakissation/mcp-google-multi:6.0.0

MCP client config

{
  "mcpServers": {
    "google-workspace-multi-account": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/bakissation/mcp-google-multi:6.0.0"
      ]
    }
  }
}
MCP Bundlehttps://github.com/bakissation/mcp-google-multi/releases/download/v6.0.0/mcp-google-multi.mcpbv6.0.0

Distributed as an MCP bundle (`https://github.com/bakissation/mcp-google-multi/releases/download/v6.0.0/mcp-google-multi.mcpb`) — download it and import the bundle in your MCP client.

README4 min read

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:

    bash
    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:

    bash
    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:

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

    bash
    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):

bash
# 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.

Similar modules

Browse Calendar