# Google Workspace (multi-account)

Gives an agent 942 tools across 29 Google services and works with any number of accounts, picked by alias or hit all at once.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 17
- Author: bakissation
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/bakissation/mcp-google-multi
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/google-workspace-multi-account

## What it does

Every Google API method the server can reach becomes a tool the agent may call: Gmail, Drive, Calendar, Sheets, Docs, Slides, Forms, Contacts, Tasks, Chat, Meet, GA4, Search Console, Classroom, Vault, Admin. Accounts are unlimited. Each takes a short alias, and one call can fan out to the whole set.

It launches from `npx` and wants Node.js 22 or newer. The slow part is OAuth. You register a Desktop client in Google Cloud yourself, then write the client ID, the secret and your aliases into `.env`, and sign in once per alias with `mcp-google-multi auth --account me`. Nothing ships with credentials, so without those two values the server stays down. Tokens sit encrypted with AES-256-GCM, writes are refused until allowed, no telemetry goes anywhere. Self-hosting over HTTP is supported too, with a built-in OAuth 2.1 login, and Docker Compose can put HTTPS on top.

A bundled skill under `skills/google-workspace/` tells the model how to choose an account, run the discover step and keep replies small; symlink the folder into `~/.claude/skills/`. When setup goes sideways, `mcp-google-multi doctor` walks every piece and names the fix.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `GOOGLE_ACCOUNTS`, `MASTER_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.
- Works with: Google Workspace

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add mcp-google-multi -e GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -e GOOGLE_ACCOUNTS=<GOOGLE_ACCOUNTS> -e MASTER_KEY=<MASTER_KEY> -- npx -y mcp-google-multi
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add google-workspace-multi-account --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> --env GOOGLE_ACCOUNTS=<GOOGLE_ACCOUNTS> --env MASTER_KEY=<MASTER_KEY> -- npx -y mcp-google-multi
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "google-workspace-multi-account": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-google-multi"
            ],
            "env": {
                "GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
                "GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
                "GOOGLE_ACCOUNTS": "<GOOGLE_ACCOUNTS>",
                "MASTER_KEY": "<MASTER_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "google-workspace-multi-account": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-google-multi"
            ],
            "env": {
                "GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
                "GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
                "GOOGLE_ACCOUNTS": "<GOOGLE_ACCOUNTS>",
                "MASTER_KEY": "<MASTER_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -e GOOGLE_ACCOUNTS=<GOOGLE_ACCOUNTS> -e MASTER_KEY=<MASTER_KEY> google-workspace-multi-account npx -y mcp-google-multi
```
Replace <…> with your own values

## When to use it
- clear an unread inbox across two Google accounts in one pass
- send a Docs draft as mail with an attachment
- pull GA4 session counts into a Sheet
- book a slot on the work calendar without switching logins
- move Form responses into a fresh table

## Example prompts
- Summarise unread mail in the `work` account, one line each
- Send this invite from every account listed in `GOOGLE_ACCOUNTS`
- Copy last week's GA4 sessions into a new Sheet

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
