The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Google Workspace MCP listing page.
Full natural language control over Google Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Tasks, Contacts, and Chat through all MCP clients, AI assistants and developer tools. Includes a full featured CLI & Code Mode for use with tools like Claude Code and Codex!
The most feature-complete Google Workspace MCP server is in a class of it's own: it can do things that Google's own tooling and the built in integrations with Claude and ChatGPT can't come close to with multi-user support, rich fine-grained editing tools and the most extensive coverage of any Workspace AI integration in existence.
By leveraging native OAuth 2.1, stateless deployment capability and external auth server & gateway passthrough auth support, it's also the only Workspace MCP you can host for your whole organization centrally & securely!
Supports all free Google accounts & Google Workspace plans with expanded app options like Chat & Spaces.
Interested in a managed cloud instance? That can be arranged (starting at $5/mo).
See it in action:
Workspace MCP connects AI assistants to all twelve major Google Workspace services - 120+ tools behind a single MCP server, with OAuth 2.1 multi-user auth, three progressive tool tiers, read-only mode, a full CLI, and stateless container deployment. It runs locally over stdio for legacy clients and remotely over streamable HTTP with full implementation of the latest MCP spec.
The README covers just enough to get you running, with extensive documentation on the website:
| Where to go | What you'll find |
|---|---|
| Quick Start | Google Cloud setup, credentials, and client connection with screenshots |
| Full Documentation | Every tool, parameter, and auth mode |
| Advanced Deployment | Reverse proxy & nginx config, origin validation, credential store backends (GCS/CMEK), trusted-gateway identity, and the complete environment variable reference |
| Client Setup Guides | Claude Desktop/web Connectors, ChatGPT Developer Mode, and more |
| FAQ & Troubleshooting | OAuth errors, redirect URIs, Google Chat setup, client quirks |
|
For Security Teams By default, this server sends no data anywhere except Google's APIs, on behalf of the authenticated user, using your own OAuth client credentials. There is no usage reporting, analytics, license server, or SaaS dependency outside optional OTel support for your own usage.
Full dependency tree in |
For Legal & Procurement This project is MIT licensed — not "open core," not "source available," not "free with a CLA." There is no dual licensing, no commercial tier gating features, and no contributor license agreement.
|
📧Gmail15 tools - search, send, draft, labels, filters, attachments |
📁Drive16 tools - search, create, share, import Office files |
📅Calendar7 tools - events, free/busy, Out of Office, Focus Time |
📝Docs19 tools - edit, style, tables, tabs, comments, export |
📊Sheets14 tools - ranges, tables, formatting, conditional rules |
🖼️Slides7 tools - create, batch update, thumbnails, comments |
📋Forms6 tools - build forms, publish, read responses |
✅Tasks6 tools - tasks & lists with hierarchy |
👤Contacts8 tools - people, groups, batch operations |
💬Chat6 tools - spaces, messages, search, reactions |
🔍Custom Search2 tools - programmable web search |
⚡Apps Script15 tools - write, deploy, run & debug scripts |
Each page lists every tool with its tier, parameters, required scopes, and example prompts. The complete reference covers all twelve in one place.
💬 Google Chat needs a one-time Chat app configuration and a Workspace account - see the Chat setup FAQ.
Set credentials → pick a launch command → connect your client. Full walkthrough with screenshots: workspacemcp.com/quick-start
You'll need an OAuth client from Google Cloud Console with the APIs enabled for the services you plan to use - the quick start guide walks through it in about five minutes.
|
Confidential Client |
OAuth 2.1 (PKCE) |
Tool tiers keep context windows lean: core is the essential set, extended adds management operations, complete loads everything. Combine with --tools <service> ..., --read-only, or per-service --permissions, and subtract individual tools with --disabled-tools <name> ... - details in the server modes docs.
Claude Desktop, web & mobile - run the server in HTTP mode and add it as a Connector (Settings → Connectors → Add custom connector). This is the recommended path; the Connector guide has step-by-step screenshots. Legacy stdio configuration remains available for clients without Connector support - see the FAQ.
Claude Code
ChatGPT - connect via Developer Mode with the ChatGPT guide.
VS Code, LM Studio, Open WebUI, and everything else - any MCP client works over streamable HTTP (recommended) or stdio. Client-specific walkthroughs live in the guides and FAQ.
workspace-cli lists and calls tools against a running server with encrypted, disk-backed OAuth token caching - authenticate once, script forever:
Install globally with uv tool install . from this repo. ⚠️ Don't use uvx workspace-cli - an abandoned PyPI package squats that name.
Everything you need to run this in production lives in two places. The documentation covers auth modes and server configuration:
docker build -t workspace-mcp . && docker run -p 8000:8000 workspace-mcpThe Advanced Deployment guide covers self-hosting specifics: reverse proxy setup with WORKSPACE_EXTERNAL_URL (including the nginx Origin: null consent workaround, the WORKSPACE_MCP_ALLOW_NULL_ORIGIN_CONSENT escape hatch, and the Referrer-Policy pitfall), origin validation and VS Code webview allowlisting, credential store backends (local directory or GCS with CMEK enforcement), and the complete environment variable reference.
Optional per-download payload ceiling for container deployments: set WORKSPACE_MCP_MAX_FILE_BYTES to a positive byte count (e.g. 5242880 for 5 MiB) to reject Drive / Gmail / Chat / Google Docs downloads that would otherwise be fully buffered in-process. Unset or 0 leaves the total size uncapped; uncapped Drive transfers still use 256 KiB transport chunks instead of the Google client's 100 MiB default. This is a file-size limit, not a process-RSS limit: leave headroom for parsing, base64/JSON representation, and concurrent tool calls. Invalid or negative values fail server startup instead of silently disabling the limit. Downloads streamed directly to disk are not subject to this in-memory payload ceiling.
Advanced OAuth 2.1 deployments affected by concurrent client token refreshes can tune FastMCP's early-refresh threshold and client-facing access-token lifetime. See .env.oauth21 for the bounded settings, recommended values, and security tradeoffs. These settings reduce how often the race occurs; they do not add a grace period to FastMCP's one-time-use refresh-token rotation.
By default this server sends no data anywhere except Google's APIs, using your own OAuth client credentials - no usage reporting, analytics, license server, or SaaS dependency. MIT licensed with no CLA, no dual licensing, and no copyleft in the dependency chain. The full security posture - scope minimization, sensitive-path blocking, stateless mode - is documented at workspacemcp.com.
A few things worth internalizing before you connect an LLM to your email:
.env, client_secret.json, or .credentials/ to source control.ALLOWED_FILE_DIRS only if you trust the client and its data sources; .env*, ~/.ssh/, ~/.aws/, and similar paths are always blocked.Single-file service modules live in g<service>/, tools are registered with @server.tool decorators, and tiers are defined in core/tool_tiers.yaml. PRs welcome.
MIT - see LICENSE. The license is 21 lines and says what it means.