Skip to main content
Glama
README.md
# 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](https://img.shields.io/npm/v/mcp-google-multi?label=npm&color=cb3837)](https://www.npmjs.com/package/mcp-google-multi)

- ๐Ÿงฐ **Exhaustive** โ€” 942 tools across 29 services, now including Google Analytics (GA4), + an escape hatch for anything else โ†’ [COVERAGE.md](./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](./docs/http-setup.md)
- โœ‰๏ธ **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](./docs/features.md)

## 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](./docs/configuration.md) is the terse version.)

1. **Install it.** Get [Node.js](https://nodejs.org) (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](https://github.com/bakissation/mcp-google-multi/releases/latest), 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](./docs/google-cloud-setup.md), 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](./docs/http-setup.md). *Coming from v5?* [v6 migration guide](./MIGRATION-v6.md).

**Go deeper:** [Configuration reference](./docs/configuration.md) ยท [What's covered](./COVERAGE.md) ยท [Features tour](./docs/features.md) ยท [Remote / HTTP setup](./docs/http-setup.md) ยท [Secrets in a vault](./docs/secrets.md) ยท [Local usage metrics](./docs/usage-metrics.md) ยท [Migrating to v6](./MIGRATION-v6.md) ยท [Security policy](./SECURITY.md) ยท [Roadmap](https://github.com/bakissation/mcp-google-multi/milestones)

## Agent skill

The repo and the npm package both ship an [Agent Skill](https://code.claude.com/docs/en/skills) 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](https://berkati.xyz) ยท [@bakissation](https://github.com/bakissation). [Read the case study โ†’](https://berkati.xyz/case-studies/mcp-google-multi/)

Development is **funded by [IdeaCrafters](https://ideacrafters.com)** ([@IdeaCraftersHQ](https://github.com/IdeaCraftersHQ)) โ€” the studio that pays for this OSS to exist.

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

Thanks to contributors [@obatried](https://github.com/obatried), [@trevor-commits](https://github.com/trevor-commits), and [@mjreddy](https://github.com/mjreddy). The project is maintainer-led (roadmap on [Milestones](https://github.com/bakissation/mcp-google-multi/milestones); bug reports welcome, feature PRs by prior agreement โ€” see [CONTRIBUTING.md](./CONTRIBUTING.md)). **Feedback shapes the roadmap: [open an issue](https://github.com/bakissation/mcp-google-multi/issues/new/choose) with bugs, pain points, or what you wish it did.** Security reports go to [SECURITY.md](./SECURITY.md), never a public issue.

Licensed under [MIT](./LICENSE).

TDQS

A3.9/5.0

Scored across 19 tools

Disambiguation4/5

The set has clear seams: per-service `<service>_discover` catalogs, `account_*` lifecycle tools, `google_api_search`/`google_api_call` escape hatches, and `diagnose`. The only mild overlap is between `discover_all` and the per-service discovers (and `discover_reset`), but descriptions explicitly frame these as reveal-all / reveal-one / collapse-back, so an agent can pick correctly.

Naming Consistency4/5

Consistent sub-groups exist: ten `<service>_discover` tools, four `account_*` tools, `google_api_search`/`google_api_call`, and `discover_all`/`discover_reset`. The only friction is verb placement varying across groups (gmail_discover is noun_verb, while account_list and discover_all are verb_noun), but each family is internally predictable.

Tool Count4/5

19 tools is slightly above the ideal band, but the count is justified by genuine multi-service breadth (Gmail, Drive, Calendar, Sheets, Docs, Contacts, Tasks, Meet, Search Console, Workspace Events) plus account/auth plumbing. Progressive disclosure means the effective surface stays small, so each tool earns its slot.

Completeness4/5

Coverage is broad: account add/list/reauth/config-write, health diagnostics, discovery control, generic REST search/call, and per-service catalogs covering the core Workspace apps. The main gap is account lifecycle teardown (no account_remove/delete or explicit default-account switching), plus services like Chat/Keep only reachable via `google_api_call` rather than curated tools.

Maintenance

ActivityActive
ResponsivenessResponsive