Google Workspace (multi-account)

io.github.bakissationPublished by GitHub account bakissationv6.2.0Updated Nov 4, 2026

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

Overview

AI-generated overview

Local MCP server exposing Google Workspace APIs (Gmail, Drive, Calendar, Sheets, Docs and more) as tools across multiple Google accounts.

What you can do
  • Read, send and reply to Gmail messages in Markdown with attachments
  • Work with Drive files, Docs, Sheets, Slides, Forms and Contacts
  • Manage Calendar events, Tasks, Chat, Meet and Classroom
  • Query Analytics (GA4) and Search Console data
  • Administer Vault and Admin services, with an escape hatch for other API methods
  • Switch between accounts by alias or fan one call out across all accounts
When to use it
Useful when an assistant should work inside your own Google account — triaging email, drafting replies, reading or editing documents and spreadsheets, checking calendars, or pulling analytics — and especially when you need several Google accounts side by side.
Requirements
Runs locally over stdio via npx (Node.js 22 or newer) or as a Claude Desktop bundle. Needs your own Google Cloud OAuth Desktop client: GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET, plus GOOGLE_ACCOUNTS listing alias:email pairs. A browser sign-in per account is required; MASTER_KEY is generated automatically if unset.
Before you install
Requires your own Google OAuth client credentials and grants the server access to your Google data; tokens are stored locally encrypted. Writes are deny-by-default but can be enabled, so email sending, edits and deletions are possible. The server talks only to Google, but the OAuth client secret and master key must be kept private.

Installation

In SourceWeft

  1. Open Google Workspace (multi-account) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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 — 944 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-idGOOGLE_CLIENT_SECRET=paste-your-client-secret# any short nickname, then your Gmail address:GOOGLE_ACCOUNTS=me:[email protected]

    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:[email protected],work:[email protected], 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 repoln -s "$(pwd)/skills/google-workspace" ~/.claude/skills/google-workspace
# from the installed npm packageln -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.

Source: README.md at commit 45842e2

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the server did not start.

Version history

5
  1. v6.2.0LatestNov 4, 2026
  2. v6.1.1Oct 26, 2026
  3. v6.1.0Oct 20, 2026
  4. v6.0.1Oct 18, 2026
  5. v6.0.0Oct 14, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts