Multi-account Google Workspace MCP β Gmail, Calendar, Drive, Sheets, Docs with smart routing.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Multi-account Google Workspace MCP server β connect multiple Gmail, Google Calendar, and Google Drive accounts with smart routing.
Works with Claude Code, Gemini CLI, GitHub Copilot, Cursor, OpenAI Codex, and any MCP-compatible client.
Most AI coding assistants support a single Google account. If you use multiple Google accounts (personal + work, multiple clients, different orgs), you need to switch between them manually. This MCP server lets you connect them all at once and route requests by label, email, or domain.
work), email, or domainThere are several good Google Workspace MCP servers. GWS Connector is the one to pick when multiple accounts and operational simplicity matter:
| Most GWS MCP servers | GWS Connector | |
|---|---|---|
| Accounts | One account per server instance | Unlimited accounts in one instance, routed by label / email / domain |
| Multiple orgs | Shared OAuth app | Per-account OAuth β each org uses its own GCP credentials |
| Credential storage | .env / plaintext token files | OS keychain (Keychain / GNOME Keyring / Credential Manager) |
| Runtime | Python/Node + dependencies | Single static Go binary, no runtime to install |
| Clients | Usually one | Claude Code, Gemini CLI, Copilot, Cursor, Codex, any MCP client |
| Install | Manual config | Claude Code plugin, Gemini extension, one-click .mcpb, MCP Registry |
If you only ever use a single Google account and want the widest possible tool surface (Forms, Chat, Vault, β¦), a single-account server like taylorwilsdon/google_workspace_mcp may fit better. GWS Connector focuses on doing multi-account Gmail / Calendar / Drive / Sheets / Docs / Contacts / Tasks / Slides cleanly and securely.
The Google Tasks tools (gws.tasks.*) are added behind one new OAuth scope
(tasks). Existing users must re-authorize each connected account so new
tokens are minted with this scope:
Before approving the browser consent screen, review what the new scope grants β full read and write access to the account's Google Tasks lists and tasks. See the scope rationale table below for details.
You must also add the tasks scope and enable the Tasks API in your GCP
project's OAuth consent screen configuration before re-auth, or the consent
screen will reject the request. Until an account is re-authorized, the
gws.tasks.* tools return an insufficient-scope error naming the reauth tool
to run.
The Contacts tools (gws.contacts.search, gws.contacts.directory_search)
add two new read-only OAuth scopes (contacts.readonly, directory.readonly).
Existing users must re-authorize each connected account so new tokens are
minted with these scopes:
Before approving the browser consent screen, review what the new scopes grant β read-only access to your Google Contacts and (for Workspace accounts) the organization directory. See the scope rationale table below for details.
You must also enable the People API and add the two new scopes in your GCP
project's OAuth consent screen configuration before re-auth, or the consent
screen will reject the request. gws.contacts.directory_search requires a
Google Workspace account β personal Gmail accounts have no organization
directory and receive a clear explanatory message instead of results.
The Slides tools (gws.slides.*) add one new OAuth scope,
https://www.googleapis.com/auth/presentations. Existing users must
re-authorize each connected account so new tokens are minted with the
Slides scope:
You must also enable the Slides API and add the presentations scope in
your GCP project's OAuth consent screen configuration before re-auth, or the
consent screen will reject the request (see Google Cloud
Setup). Until you re-authorize, gws.slides.* calls
return a scope error telling the agent to run gws.accounts.reauth; all other
tools keep working.
v0.3.0 adds native Google Sheets and Google Docs tools behind two new OAuth
scopes (spreadsheets, documents). Existing users must re-authorize
each connected account so new tokens are minted with these scopes:
Before approving the browser consent screen, review what the new scopes grant β full read and write access to every spreadsheet and document in that account's Google Drive, including files shared with the account. See the scope rationale table below for details.
You must also add the two new scopes (and enable the Sheets and Docs APIs) in your GCP project's OAuth consent screen configuration before re-auth, or the consent screen will reject the request.
1. Install the plugin β run these two commands inside Claude Code:
2. Set up Google Cloud credentials β the interactive wizard walks you through everything:
This creates a GCP project, enables APIs, and connects your first account (~5 minutes). See Google Cloud Setup if you prefer manual steps.
3. Connect additional accounts:
Each account can use different OAuth credentials from different GCP projects.
The binary is downloaded automatically on first use. Then connect accounts inside Gemini:
Download a prebuilt binary or build from source:
Then configure your client:
| Client | Config |
|---|---|
| GitHub Copilot | Auto-detects from .vscode/mcp.json, or add "command": "/path/to/gws-mcp" to VS Code MCP settings |
| Cursor | Auto-detects from .cursor/mcp.json, or add via Settings β MCP Servers |
| Codex CLI | Auto-detects from codex.json |
| Claude Code (MCP only) | claude mcp add --transport stdio gws-connector --scope user -- /path/to/gws-mcp --use-dot-names |
| Any MCP client | gws-mcp [--use-dot-names] over stdio |
Connect accounts via MCP tool call:
Environment variables (all optional): GWS_GOOGLE_CLIENT_ID, GWS_GOOGLE_CLIENT_SECRET, GWS_STATE_DIR
The --use-dot-names flag uses gws.mail.search naming; without it, tools use gws_mail_search.
Use /reload-plugins inside the session after making changes. Run claude --debug --plugin-dir ./ to troubleshoot plugin loading.
Each release attaches a
one-click gws-mcp.mcpb bundle. Download it and open it with Claude Desktop
(Settings β Extensions β install from file), or drag it in. The bundle contains
the binaries for macOS and Linux and picks the right one for your machine
automatically. You still complete the Google Cloud setup
and connect accounts on first use.
The server is also published to the
official MCP Registry as
io.github.orieg/gws-connector, so MCP clients that browse the registry can find
and install it directly.
A multi-arch image is published to GHCR on each release:
The server speaks MCP over stdio. Interactive OAuth (accounts.add / reauth)
opens a browser and stores secrets in the OS keychain, so it needs host access β
day-to-day use is best via the native binary, the Claude Code plugin, or the
Gemini extension. The image is well suited to headless stdio integrations and to
registry/introspection checks. Persist the account registry across runs by
mounting a volume and pointing GWS_STATE_DIR at it:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/gws-connector)<a href="https://allmcps.com/mcp/gws-connector"><img src="https://allmcps.com/api/badge/gws-connector?style=directory" alt="Gws Connector on AllMCPs" /></a>