Google Workspace MCP Server: A Single MCP Gateway for Gmail, Drive, Docs, and More
Control Gmail, Google Calendar, Docs, Sheets, Slides, Chat, Forms, Tasks, Search & Drive with AI - Comprehensive Google Workspace MCP Server & CLI Tool
At a glance
- What is it?
- This Python-based MCP server exposes 120+ tools across twelve Google Workspace services, with OAuth 2.1 multi-user auth, read-only mode, and stateless deployment. It targets engineers who want one integration point for AI assistants, but its breadth comes with setup complexity.
- Who is it for?
- Adopt this server if you need a single MCP endpoint that covers many Google Workspace services for multiple users, especially in a containerized or centrally hosted setup. Skip it if you only need one service like Gmail or Calendar, where a smaller, service-specific MCP server will be simpler to configure and audit.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Problem This Solves and Who It Is For
The project also includes a CLI and a Code Mode for tools like Claude Code and Codex. That makes it relevant to developers who work in terminal-based AI coding assistants and need to script or automate Workspace actions from the command line. The README positions it as the most feature-complete Workspace MCP server, but that claim is self-reported. What is verifiable is the service list and the tool count, both of which are unusually broad for a single MCP server.
How It Works: Architecture and Data Flow
The server runs as a Python process that speaks the MCP protocol. It supports two transport modes: stdio for legacy clients and streamable HTTP for remote access. The README says it has a full implementation of the latest MCP spec, which allows it to work with clients that expect modern features like session management and tool listing. On the Google side, it uses OAuth 2.1 for authentication, which is a newer version of the OAuth framework that simplifies token handling compared to OAuth 2.0. Each user authenticates with their own Google account, and the server acts on their behalf. The server supports multi-user auth, meaning it can hold tokens for multiple users simultaneously, which is essential for a centrally hosted instance. The data flow is straightforward: the AI client sends a tool call over MCP, the server validates the request, calls the corresponding Google API using the stored OAuth token, and returns the result. The README emphasizes that by default the server sends no data anywhere except Google's APIs, using your own OAuth client credentials. There is no built-in telemetry or SaaS dependency, though optional OpenTelemetry (OTel) support exists if you configure it. That design is a deliberate security choice, and it matters for organizations that need to control where data flows.
Getting It Running: Commands and Configuration
The README does not include a full quick start in the repository text; it defers to the website's Quick Start guide and Full Documentation. However, the package is on PyPI as workspace-mcp, so installation is typically pip install workspace-mcp. The README mentions Python 3.10+ as a requirement. To connect a client, you need to set up a Google Cloud project, create OAuth credentials, and configure redirect URIs. The exact configuration keys are not in the README, but the documentation covers every tool, parameter, and auth mode. The server supports several auth modes: native OAuth 2.1, stateless deployment, and external auth server or gateway passthrough auth. For deployment, there is an environment variable reference and a complete list of variables on the docs site. The README gives one concrete example: a stateless mode that makes zero disk writes, which is aimed at locked-down container environments. That suggests you can run the server as a container without persistent storage, which is useful for Kubernetes or serverless setups. To get started, you would typically run the server via npx or uvx if it is packaged as a Python entry point, but the README does not specify the exact command. You must consult the Quick Start for the precise steps, which include creating a Google Cloud project and enabling the required APIs.
Security Features and Their Limits
The README dedicates a section to security and compliance. It states that the server sends no data anywhere except Google's APIs, using your own OAuth client credentials. There is no usage reporting, analytics, or license server. That is a strong privacy claim, and it is verifiable by auditing the code because the project is open source. Another feature is sensitive path blocking: local file reads default to a managed attachment directory, and the function validate_file_path() blocks .env files and common home-directory credential stores like ~/.ssh and ~/.aws, even if you broaden the ALLOWED_FILE_DIRS environment variable. That is a concrete mechanism to prevent an AI from reading your SSH keys or cloud credentials. However, this protection is only as good as the default. If you intentionally broaden ALLOWED_FILE_DIRS to include other sensitive directories, the server will allow reads from there. The README does not claim to block all sensitive paths, only the specified ones. Also, the security model depends on your own OAuth client and your own GCP project, so you control scopes. That is good for compliance, but it means you must configure scopes correctly. If you request too many scopes, you increase risk; if you request too few, some tools will fail. The README does not provide a default scope list, so you must determine that from the documentation.
Licensing and Maintenance Considerations
The project is MIT licensed, and the README is explicit that it is not open core, not source available, and not free with a CLA. There is no dual licensing, no commercial tier gating features, and no contributor license agreement. That means you can use it commercially without restriction, fork it, embed it, and redistribute it, with the only requirement being attribution. That is a clean licensing situation for procurement teams. The README also states that the dependency tree is fully declared in pyproject.toml and pinned in uv.lock, which is good for reproducible builds. The project has an active release history: v1.26.0 on September 6, 2026, v1.25.2 on August 28, 2026, and v1.25.1 on August 25, 2026. That suggests frequent updates, which is a sign of active maintenance, but it also means you should expect a steady stream of changes. The README does not mention any upgrade cost or migration guide, so you should plan to review release notes when updating. The website offers a managed cloud instance starting at $5 per month, which is an option if you do not want to host it yourself. That is a commercial offering, but it does not affect the open source license of the server itself.
Known Limitations and Wrong-Tool Scenarios
The most obvious limitation is the setup complexity. To use this server, you must create a Google Cloud project, configure OAuth consent, enable multiple APIs, and manage redirect URIs. That is far more involved than using a single-service MCP server that only needs one API key. The README does not provide a complete configuration example, so you must rely on external documentation. That is a friction point for a quick evaluation. Another limitation is that the server is Python-based and requires Python 3.10+, which may not be available in all environments, though most modern systems have it. The README mentions that it supports all free Google accounts and Workspace plans, but it does not specify whether all services are available on free accounts. Some Google APIs, like Google Chat, may require a Workspace account. The README says expanded app options like Chat and Spaces are supported, but it does not clarify if that requires a paid plan. If you only need Gmail access, this server is overkill. A smaller MCP server that only handles Gmail will have a smaller attack surface and a faster setup. Also, the server's default behavior of blocking file reads outside the managed attachment directory could be a limitation if you want the AI to read local files for context. You can broaden ALLOWED_FILE_DIRS, but then you lose the default protection. The README does not mention any rate limiting or quota handling, which could be an issue if you make many API calls. Google API quotas apply, and the server does not appear to manage them beyond what the Google client library does.
Alternatives and How They Differ
The primary alternative is to use Google's own built-in integrations in Claude or ChatGPT. Those integrations are simpler because they are managed by the AI provider and do not require you to set up your own OAuth client. However, the README claims they are less capable, particularly for multi-user scenarios and fine-grained editing. Another alternative is to use a service-specific MCP server, such as one that only connects to Gmail or only to Google Calendar. Those servers are typically smaller, easier to configure, and have fewer dependencies. The difference in approach is trade-off: a single comprehensive server like this one gives you one integration point and a consistent interface across all services, but it also means you must trust a larger codebase and manage a wider set of scopes. In contrast, multiple specialized servers allow you to grant only the scopes you need for each service, reducing the potential blast radius if one server is compromised. The README also mentions that this server supports external auth server and gateway passthrough auth, which is a feature that many alternatives do not have. That makes it suitable for organizations that already have an identity gateway. If you do not need that, a simpler server may be easier to reason about. The choice depends on whether you value centralization over minimalism.
Who Should Adopt It and What to Verify First
This server is a good fit for an organization that wants to give AI assistants broad access to Google Workspace across multiple users, and that has the infrastructure to host a central service. The stateless mode and gateway passthrough auth are designed for that use case. It is also suitable for developers who want to use the CLI and Code Mode with Claude Code or Codex, because the command-line interface is a differentiator. You should not adopt it if you only need one or two services, or if you are looking for a plug-and-play solution without Google Cloud configuration. Before adopting, verify that your MCP client is compatible with the server's transport modes. The README mentions support for Claude Desktop and ChatGPT Developer Mode, but compatibility with other clients may vary. Also, verify that the scopes you plan to request align with your security policy, because the server will have access to everything you grant. Finally, check the documentation for any service-specific limitations, such as Google Chat support requiring a Workspace account. The project is under active development, so review the changelog for breaking changes between versions. The MIT license and no-telemetry stance are strong points for adoption, but the real test is whether the setup effort is justified by the breadth of tools you actually use.
Editorial conclusion
Adopt this server if you need a single MCP endpoint that covers many Google Workspace services for multiple users, especially in a containerized or centrally hosted setup. Skip it if you only need one service like Gmail or Calendar, where a smaller, service-specific MCP server will be simpler to configure and audit. Before adopting, verify your exact client compatibility (Claude Desktop, ChatGPT, or custom) against the documented setup guides, confirm that your Google Cloud project can support the required OAuth consent screen and scopes, and test the read-only mode to ensure it blocks all write operations as you expect. The project's active release cadence (v1.26.0 in September 2026) suggests ongoing maintenance, but you must still pin your dependency and review the changelog for breaking changes.
Community notes