google-workspace-mcp
Allows searching and reading emails and threads, managing labels, attachments, and drafts, as well as sending messages and replies.
Enables managing calendars, searching and reading events, checking availability, and creating or updating events.
Enables creating documents, reading document structure and text, and inserting or replacing content.
Allows searching for files, accessing metadata and folder contents, and uploading or exporting files.
Provides tools for reading and writing spreadsheet ranges, accessing table metadata, and performing batch operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-workspace-mcpFind the latest email from my manager about the Q3 budget and summarize it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
google-workspace-mcp
A set of five independent MCP servers over Google Workspace: Gmail, Google Calendar, Google Drive, Google Sheets, and Google Docs.
Status: pre-alpha. The project is under active development; public interfaces and configuration may change before the first stable release.
The servers are intentionally separated. A client or project includes only the service it needs and gets a token valid only for that service: a Gmail token does not open Drive. Shared across all of them are the repository, infrastructure libraries, the authorization framework, and the deployment procedure.
Services
Service | What it does |
| search and read emails and threads, labels, attachments, drafts, send and reply |
| calendars, search and read events, busy status, create and edit events |
| search files, metadata, folder contents, download and export |
| spreadsheet metadata, read and write ranges, batch operations |
| create documents, read structure and text, insert and replace |
Each service is a separate process, a separate MCP endpoint, a separate tool registry, a separate set of Google permissions, and a separate credential store.
Two layers of authorization
They are independent and do not mix.
Client → service. The MCP client goes through OAuth 2.1 with PKCE and dynamic registration. The issued token is bound to a single resource and is refreshed via a rotating refresh token with reuse detection.
Service → Google. The service calls Google product APIs on behalf of the owner using a long-lived refresh token and refreshes the access token itself. The Google token is never returned to the client under any circumstances.
The official Google MCP endpoints are in Developer Preview and are not used here: calls go to the stable product APIs.
Requirements
Python 3.14, installed via
uv; the system interpreter is not affecteduva Google Cloud project with the APIs of the five services enabled and an OAuth client
Installation
uv sync --devChecks
uv run --no-sync pytest -q
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .
uv run --no-sync mypy srcThe --no-sync flag is mandatory when checking dependency versions: without it, uv run re-syncs the environment from the lock file and returns the pinned version instead of the actual one, which would cause a knowingly broken package version to pass the check with a green run.
Origin
The project adapts the OAuth 2.1 core from jimprosser/obsidian-web-mcp under MIT; full information is in NOTICE.
The downstream OAuth 2.1 is based on revision 7e6a52d791a50e3bd533df1060217973ab5be1c8. After that revision, the core received its own fixes to the client and token lifecycle, refresh token rotation, reuse detection, and resource canonicalization.
The domain part of the original project — working with the Obsidian vault and syncing via Git — was not carried over.
Here, mcp>=2,<3 is used: the remote MCP 2.0 package mcp.server.fastmcp is not needed, and the composition is built on mcp.server.mcpserver.
License
MIT, see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
AI-powered medical document management for cancer patients. Google Drive, Gmail, Calendar via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hawkxdev/google-workspace-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server