Control Gmail, Google Calendar, Docs, Sheets, Slides, Chat, Forms, Tasks, Search & Drive with AI - Comprehensive Google Workspace / G Suite MCP Server & CLI Tool
# Add to your Claude Code skills
git clone https://github.com/taylorwilsdon/google_workspace_mcpFull 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 for use with tools like Claude Code and Codex!
The most feature-complete Google Workspace MCP server, with Remote OAuth2.1 multi-user support and 1-click Claude installation. With native OAuth 2.1, stateless mode and external auth server support, it's the only Workspace MCP you can host for your whole organization centrally & securely!
See it in action:
Workspace MCP is the single most complete MCP server that integrates all major Google Workspace services with AI assistants. It supports both single-user operation and multi-user authentication via OAuth 2.1, making it a powerful backend for custom applications. Built with FastMCP for optimal performance, featuring advanced authentication handling, service caching, and streamlined development patterns. The entire toolset is available for CLI usage supporting both local and remote instances.
No comments yet. Be the first to share your thoughts!
Simplified Setup: Now uses Google Desktop OAuth clients - no redirect URIs or port configuration needed!
12 services — Gmail · Drive · Calendar · Docs · Sheets · Slides · Forms · Chat · Apps Script · Tasks · Contacts · Search
📧 Gmail — Complete email management, end-to-end coverage 📁 Drive — File operations with sharing, permissions & Office formats 📅 Calendar — Full event management with advanced features 📝 Docs — Deep, fine-grained editing, formatting & comments 📊 Sheets — Flexible cell management, formatting & conditional rules 🖼️ Slides — Presentation creation, updates & content manipulation 📋 Forms — Creation, publish settings & response management 💬 Chat — Space management, messaging & reactions
⚡ Apps Script — Cross-application workflow automation Projects · deployments · versions · execution · debugging
✅ Tasks — Task & list management with hierarchy 👤 Contacts — People API with groups & batch operations 🔍 Custom Search — Programmable Search Engine integration
🔐 Authentication & Security OAuth 2.0 & 2.1 · auto token refresh · multi-user bearer tokens · transport-aware callbacks · CORS proxy
For Security Teams
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 telemetry, no usage reporting, no analytics, no license server, and no SaaS dependency. The entire data path is: your infrastructure → Google APIs.
.env, .ssh/, .aws/, and credential files are blocked regardless of configurationFull dependency tree in pyproject.toml, pinned in uv.lock.
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.
The license is 21 lines and says what it means.
Set credentials → pick a launch command → connect your client
💡 New to Workspace MCP? Check out the Interactive Quick Start Guide → with step-by-step setup, screenshots, and troubleshooting tips!
# 1. Credentials
export GOOGLE_OAUTH_CLIENT_ID="..."
export GOOGLE_OAUTH_CLIENT_SECRET="..."
# 2. Launch — pick a tier
uvx workspace-mcp --tool-tier core # essential tools
uvx workspace-mcp --tool-tier extended # core + management ops
uvx workspace-mcp --tool-tier complete # everything
# Or cherry-pick services
uv run main.py --tools gmail drive calendar
| Variable | | Purpose |
|----------|:---:|---------|
| 🔐 Authentication | | |
| GOOGLE_OAUTH_CLIENT_ID | required | OAuth client ID from Google Cloud |
| GOOGLE_OAUTH_CLIENT_SECRET | required | OAuth client secret |
| OAUTHLIB_INSECURE_TRANSPORT | required* | Set to 1 for development — allows http:// redirect |
| USER_GOOGLE_EMAIL | | Default email for single-user auth |
| GOOGLE_CLIENT_SECRET_PATH | | Custom path to client_secret.json |
| GOOGLE_MCP_CREDENTIALS_DIR | | Credential directory — default ~/.google_workspace_mcp/credentials |
| 🖥️ Server | | |
| WORKSPACE_MCP_BASE_URI | | Base server URI (no port) — default http://localhost |
| WORKSPACE_MCP_PORT | | Listening port — default 8000 |
| WORKSPACE_MCP_HOST | | Bind host — default 0.0.0.0 |
| WORKSPACE_EXTERNAL_URL | | External URL for reverse proxy setups |
| WORKSPACE_ATTACHMENT_DIR | | Downloaded attachments dir — default ~/.workspace-mcp/attachments/ |
| WORKSPACE_MCP_URL | | Remote MCP endpoint URL for CLI |
| ALLOWED_FILE_DIRS | | Colon-separated allowlist for local file reads |
| 🔑 OAuth 2.1 & Multi-User | | |
| MCP_ENABLE_OAUTH21 | | true to enable OAuth 2.1 multi-user support |
| EXTERNAL_OAUTH21_PROVIDER | | true for external OAuth flow with bearer tokens |
| WORKSPACE_MCP_STATELESS_MODE | | true for stateless container-friendly operation |
| GOOGLE_OAUTH_REDIRECT_URI | | Override OAuth callback URL — default auto-constructed |
| OAUTH_CUSTOM_REDIRECT_URIS | |