Control Gmail, Google Calendar, Docs, Sheets, Slides, Chat, Forms, Tasks, Search & Drive with AI - Comprehensive Google Workspace / G Suite MCP Server & CLI Tool
Details
Author
taylorwilsdon
GitHub stars
2,798
Downloads
1,016
Categories
Productivity, Other, AI
Jump to
- 12 service groups in one server: Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Chat, Apps Script, Tasks, Contacts, and Custom Search
- Deep Workspace operations: search, read, create, edit, format, comment, share, organize, send, publish, and automate
- Full CLI support: list and invoke tools directly from terminals, scripts, Claude Code, Codex, and other coding-agent workflows
- Modern authentication: OAuth 2.0, OAuth 2.1 with PKCE, automatic token refresh, multi-user bearer authentication, external OAuth providers, and service-account domain-wide delegation
- Flexible tool control: cumulative core, extended, and complete tiers, per-service selection, read-only mode, and granular permission levels
- Deployment-ready: streamable HTTP, stateless containers, reverse proxies, encrypted OAuth storage backends, and centrally hosted multi-user instances
- Private by default: uses your OAuth client and Google Cloud project; the default data path is directly from your infrastructure to Google APIs
- Open source: MIT licensed, with no license server, SaaS dependency, usage reporting, or analytics
See the complete Workspace MCP documentation for tool parameters, permission controls, authentication modes, environment variables, and deployment guidance.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
The fastest path is the five-step Workspace MCP Quick Start, which walks through installation, Google OAuth setup, server startup, client connection, and validation.
You will need Python 3.10 or newer, uv/uvx, and a Google Cloud project with OAuth credentials. For a confidential OAuth client, a basic modern HTTP setup looks like this:
Streamable HTTP is the recommended transport for modern MCP clients, OAuth 2.1, and multi-user deployments. Claude Desktop, Claude on the web, and Claude Cowork can connect through a custom Connector; Claude Code, VS Code, MCP Inspector, and other compatible clients can connect directly to the HTTP endpoint. Stdio remains available as a legacy fallback.
Start with the core tool tier, move to extended or complete when you need more operations, or load only selected services with --tools. Public PKCE clients, reverse proxies, and hosted deployments require additional authentication settings, so use the Quick Start Guide for setup and the authentication documentation for production configuration.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
Integrates Google Workspace services like Calendar, Drive, and Gmail with AI assistants.
*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**, 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 Google Workspace tool in existence, Workspace MCP is in a different class.
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!
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:
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.
- **Fully open source**— every line is auditable in this repo
- **Your OAuth client, your GCP project**— credentials never leave your environment & you control scopes
- **You control the network**— deploy behind your reverse proxy, in your VPC, on your own terms
- **Stateless mode**— zero disk writes for locked-down container environments
- **Sensitive path blocking**— local file reads default to the managed attachment directory, and`validate_file_path()`still blocks`.env*`files plus common home-directory credential stores such as`~/.ssh/`and`~/.aws/`even if`ALLOWED_FILE_DIRS`is broadened
Full dependency tree in`pyproject.toml`, pinned in`uv.lock`.
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.
- **Use commercially without restriction**— build products, sell services, deploy internally
- **Fork, embed, redistribute**— MIT requires only attribution
- **No CLA**— contributions remain under MIT
- **No built-in telemetry to disclose**— optional tracing is off unless you configure it
- **No network effects**— the server never contacts any endpoint you didn't configure
- **Standard dependency licenses**— MIT, Apache 2.0, and BSD throughout the dependency chain; no copyleft, no AGPL
Each page lists every tool with its tier, parameters, required scopes, and example prompts. The](https://github.com/taylorwilsdon/google_workspace_mcp/blob/HEAD/LICENSE)[complete referencecovers all twelve in one place.
💬**Google Chat**needs a one-time Chat app configuration and a Workspace account - see the](https://workspacemcp.com/docs?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=services-docs-all)[Chat setup FAQ.
Set credentials → pick a launch command → connect your client. Full walkthrough with screenshots:**](https://workspacemcp.com/welcome/faq?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=services-chat-faq)[workspacemcp.com/quick-start**
You'll need an OAuth client from](https://workspacemcp.com/quick-start?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=quickstart-hero)[Google Cloud Consolewith the APIs enabled for the services you plan to use - the](https://console.cloud.google.com/)[quick start guidewalks through it in about five minutes.
```
`# 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 uvx workspace-mcp --tools gmail drive calendar`
```
```
`# 1. Credentials - MCP clients connect with PKCE and no # secret, but Google still requires one server-side export MCP_ENABLE_OAUTH21=true export GOOGLE_OAUTH_CLIENT_ID="..." export GOOGLE_OAUTH_CLIENT_SECRET="..." export WORKSPACE_MCP_PORT=8000 export GOOGLE_OAUTH_REDIRECT_URI="http://localhost:${WORKSPACE_MCP_PORT}/oauth2callback" export OAUTHLIB_INSECURE_TRANSPORT=1 # 2. Launch - OAuth 2.1 requires HTTP transport uvx workspace-mcp --transport streamable-http --tool-tier core`
```
**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](https://workspacemcp.com/quick-start?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=quickstart-inline)[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](https://workspacemcp.com/docs?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=tiers-server-modes#server-modes)[Connector guidehas step-by-step screenshots. Legacy stdio configuration remains available for clients without Connector support - see the](https://workspacemcp.com/guides/claude-connectors?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=clients-connectors)[FAQ.
```
`# Start the server in HTTP mode, then: claude mcp add --transport http workspace-mcp http://localhost:8000/mcp # Optional: install the bundled skill for better Workspace tool routing ln -s "$(pwd)/skills/managing-google-workspace" ~/.claude/skills/managing-google-workspace`
```
**ChatGPT**- connect via Developer Mode with the](https://workspacemcp.com/welcome/faq?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=clients-connectors-faq)[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](https://workspacemcp.com/guides/chatgpt-developer-mode?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=clients-chatgpt)[guidesand](https://workspacemcp.com/guides?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=clients-guides)[FAQ.
`workspace-cli`lists and calls tools against a running server with encrypted, disk-backed OAuth token caching - authenticate once, script forever:
```
`uv run workspace-cli list uv run workspace-cli call search_gmail_messages query="is:unread" max_results=5`
```
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](https://workspacemcp.com/welcome/faq?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=clients-guides-faq)[documentationcovers auth modes and server configuration:
- **](https://workspacemcp.com/docs?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=deploy-docs)[OAuth 2.1 multi-user auth**- bearer tokens, required for remote or shared HTTP endpoints
- **](https://workspacemcp.com/docs?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=deploy-oauth21#authentication)[Stateless container mode**- zero disk writes for locked-down deployments
- **](https://workspacemcp.com/docs?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=deploy-stateless#authentication)[OAuth proxy storage backends**- memory, disk, or Valkey/Redis for distributed setups
- **](https://workspacemcp.com/docs?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=deploy-proxy-storage#authentication)[External OAuth provider mode**- bring your own auth server, validate bearer tokens only
- **](https://workspacemcp.com/docs?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=deploy-external-oauth#authentication)[Service accounts with domain-wide delegation**- per-request user impersonation with an optional domain allowlist
- **](https://workspacemcp.com/docs?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=deploy-service-accounts#authentication)[OpenTelemetry tracing**- optional, off unless you configure an OTLP endpoint
- **Docker**-`docker build -t workspace-mcp . && docker run -p 8000:8000 workspace-mcp`
The**](https://workspacemcp.com/docs?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=deploy-otel#server-modes)[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**](https://workspacemcp.com/docs/deployment?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=deploy-advanced)[complete environment variable reference**.
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](https://workspacemcp.com/docs/deployment?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=deploy-env-vars#environment-variables)[workspacemcp.com.
A few things worth internalizing before you connect an LLM to your email:
- **Prompt injection is real.**Emails, docs, and events can contain hidden instructions. Only connect trusted data to an LLM, and be deliberate about which write tools you enable.
- **Never commit**`.env`,`client_secret.json`, or`.credentials/`to source control.
- **Local file reads are sandboxed**to the managed attachment directory. Broaden with`ALLOWED_FILE_DIRS`only if you trust the client and its data sources;`.env*`,`~/.ssh/`,`~/.aws/`, and similar paths are always blocked.
- **Production**deployments should use HTTPS and OAuth 2.1.
```
`uv sync --group dev # install deps uv run ruff check . # lint uv run pytest # test`
```
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](https://workspacemcp.com/privacy?utm_source=github.com&utm_medium=referral&utm_campaign=readme&utm_content=security-privacy)[`LICENSE`. The license is 21 lines and says what it means.
Integrate Google services like Gmail, Calendar, Drive, and Tasks with MCP.
(MCP) server for Google Workspace. Drive, Gmail, Calendar, Sheets, Docs, Tasks and People via AI agents.
Interact with Google Workspace services like Gmail and Google Calendar.
Manage Gmail, Calendar, Drive, and Contacts through Google Workspace APIs using OAuth 2.0.
An MCP server for interacting with Google Workspace services like Gmail and Calendar.
Interact with Google products, including Gmail and Calendar.
A comprehensive MCP server for managing Google Workspace services like Calendar, Contacts, and Gmail using OAuth2 authentication.
Multi-account Google MCP server for Claude Code — Gmail, Drive, Calendar, Sheets, Docs, Contacts, Search Console. 83 tools with OAuth2 multi-account switching.
A command-line tool to fetch Google Calendar schedules and convert them into custom prompts or text snippets using a template engine.](https://github.com/taylorwilsdon/google_workspace_mcp/blob/HEAD/LICENSE)
No reviews yet — be the first
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
Social sign-in isn’t configured yet. You can still create an account with email below, or ask an admin to add Google/GitHub/Discord OAuth credentials.
Sequential Thinking is an MCP server that provides a tool for dynamic and reflective problem-solving through a structured, step-by-step thinking process. It is…
A Model Context Protocol server that provides time and timezone conversion capabilities. It enables LLMs to get current time information and perform timezone…
Filesystem is a Node.js server that implements the Model Context Protocol (MCP) for filesystem operations. It enables AI assistants to read, write, and manage…