gwmcp
Provides tools for searching, reading, sending, drafting, labeling, and filtering emails.
Provides tools for managing events, availability, and multiple calendars.
Provides tools for managing spaces and messages.
Provides tools for configuring and managing Google Cloud project APIs and OAuth credentials.
Provides tools for creating, reading, editing documents, finding and replacing text, and exporting to PDF.
Provides tools for searching, uploading, downloading, sharing files, and managing permissions.
Provides tools for creating forms and reading responses.
Provides tools for reading, writing, formatting spreadsheets, and applying conditional formatting.
Provides tools for creating, reading, and editing presentations.
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., "@gwmcpshow me my calendar events for tomorrow"
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.
gwmcp
Google Workspace MCP Server with guided setup and seamless auth.
One command to install, authenticate, and start using 114 Google Workspace tools with Claude Code, Cursor, or any MCP client.
Derived from taylorwilsdon/google_workspace_mcp (MIT). This project adds a guided setup wizard, simplified configuration, and improved auth flow for local single-user setups.
Table of Contents
Related MCP server: google-workspace-mcp-with-script
Quick Start
If you already have a client_secret.json from Google Cloud, you can skip ahead:
uvx gwmcp setup --email you@gmail.com --client-secret /path/to/client_secret.jsonIf you don't have one yet, follow the step-by-step guide below.
Step-by-Step Google Cloud Setup
This section walks you through everything from scratch. No prior Google Cloud experience needed.
1. Install Prerequisites
You need Python 3.10+ and uv (a fast Python package manager).
Windows (PowerShell):
# Install uv
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"macOS/Linux:
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | shAfter installing, restart your terminal so the uvx command is available.
2. Create a Google Cloud Project
Go to Google Cloud Console
Sign in with your Google account
Click the project dropdown at the top of the page (it might say "Select a project")
Click New Project
Give it a name (e.g. "My Workspace MCP") and click Create
Make sure your new project is selected in the dropdown
3. Enable Google APIs
You need to turn on the APIs for the Google services you want to use.
In the Google Cloud Console, go to APIs & Services > Library (or click here)
Search for and enable each API you need by clicking on it and hitting Enable:
API | What it unlocks |
Google Drive API | Search, upload, download, share files |
Google Docs API | Create, read, edit documents |
Google Sheets API | Read, write, format spreadsheets |
Gmail API | Search, read, send, draft emails |
Google Calendar API | Events, availability, calendars |
Google Slides API | Create, edit presentations |
Google Forms API | Create forms, read responses |
Tasks API | Manage task lists and tasks |
People API | Manage contacts |
Google Chat API | Spaces and messages |
Apps Script API | Manage script projects |
You can enable just the ones you need now and add more later.
4. Set Up the OAuth Consent Screen
This tells Google what your app is and who can use it.
Go to APIs & Services > OAuth consent screen (or click here)
Select Get started or External as the user type, then click Create
Fill in the required fields:
App name: anything (e.g. "gwmcp")
User support email: your email
Developer contact email: your email
Click Save and Continue through the Scopes and Summary steps (defaults are fine)
On the Test users page or under Audience, click Add Users
Add your own Gmail address (e.g.
you@gmail.com) and click Save
Important: While the app is in "Testing" mode, only the email addresses you add as test users can authenticate. This is fine for personal use.
5. Create OAuth Credentials
This generates the client_secret.json file you need.
Go to APIs & Services > Credentials (or click here)
Click Create Credentials at the top
Choose OAuth client ID
For Application type, select Desktop app
Give it a name (e.g. "gwmcp") and click Create
A dialog will appear with your client ID and secret — click Download JSON
Save the downloaded file somewhere you can find it (e.g. your Downloads folder)
The file will have a long name like client_secret_284692452895-xxxxx.apps.googleusercontent.com.json. That's normal.
6. Run the Setup Wizard
Now you have everything you need. Run this in your terminal:
uvx gwmcp setup --email you@gmail.com --client-secret ~/Downloads/client_secret_*.jsonReplace you@gmail.com with your actual Gmail address, and update the path to wherever you saved the JSON file.
The wizard will:
Copy your credentials to a safe location (
~/.google_workspace_mcp/)Open your browser for Google sign-in
Save the authentication token
Write the MCP config file for Claude Code
When the browser opens:
Sign in with the same Google account you added as a test user
You'll see a warning: "Google hasn't verified this app" — click Advanced, then Go to gwmcp (unsafe)
Check the permissions and click Allow
You'll see a success page — you can close the browser tab
7. Restart Claude Code
Close and reopen Claude Code. The Google Workspace tools will now be available. Try asking:
"Search my Google Drive for recent documents"
Or if you prefer the interactive setup (prompts you for each step):
uvx gwmcp setupWhat You Get
114 tools across 12 Google Workspace services:
Service | Examples |
Gmail | Search, read, send, draft, label, filter |
Drive | Search, upload, download, share, permissions |
Docs | Create, read, edit, find & replace, export to PDF |
Sheets | Read, write, format, conditional formatting |
Calendar | Events, availability, multiple calendars |
Slides | Create, read, edit presentations |
Forms | Create, read responses |
Tasks | Create, manage task lists |
Contacts | Search, create, manage |
Chat | Spaces, messages |
Apps Script | Projects, deployments, versions |
Search | Custom search engine |
Configuration
After gwmcp setup, your ~/.claude/mcp.json will look like:
{
"mcpServers": {
"google-workspace": {
"command": "uvx",
"args": ["gwmcp", "--single-user"],
"env": {
"GOOGLE_CLIENT_SECRET_PATH": "/path/to/.google_workspace_mcp/client_secret.json"
}
}
}
}Only one environment variable needed. The email and OAuth credentials are auto-detected from stored tokens.
Environment Variables
Variable | Required | Description |
| Yes | Path to your |
| No | Auto-detected from stored credentials |
| No | Auto-extracted from |
| No | Auto-extracted from |
CLI Options
gwmcp --single-user # Single-user mode (recommended)
gwmcp --tools gmail drive docs # Load specific services only
gwmcp --tool-tier core # Load core tools only
gwmcp --read-only # Read-only mode
gwmcp --permissions gmail:readonly drive:full # Granular permissions
gwmcp --cli search_drive_files --args '{"query": "test"}' # Direct CLI usageHow It Improves on the Original
Pain point | Original | gwmcp |
Env vars needed | 4 (trial and error) | 1 ( |
Email config | Manual | Auto-detected from stored credentials |
First-time auth | Print URL, no callback server, state mismatch | Setup wizard handles everything |
CLI mode auth | Prints dead URL, exits | Opens browser, waits, retries automatically |
Setup process | Read docs, edit JSON manually |
|
Tool responses | Verbose JSON with raw IDs | Clean, human-readable output |
Troubleshooting
"Google hasn't verified this app"
This appears because your app is in "Testing" mode. To get past it:
Click Advanced, then Go to gwmcp (unsafe) to continue
If you get blocked entirely, make sure your email is added as a test user:
Go to Google Cloud Console > APIs & Services > OAuth consent screen
Under Audience (or Test users), click Add Users
Add the Gmail address you're trying to sign in with
Save and try again
"Access blocked: This app's request is invalid"
Make sure the redirect URI matches. gwmcp uses http://localhost:8000/oauth2callback. You don't need to configure this in Google Cloud for Desktop app credentials — it's handled automatically.
"uvx: command not found"
You need to install uv first. See Install Prerequisites.
Port 8000 is in use
Another application is using port 8000. Stop it and try again, or set a custom port:
WORKSPACE_MCP_PORT=9000 uvx gwmcp setup --email you@gmail.com --client-secret /path/to/secret.jsonToken expired or revoked
Re-run the setup wizard to re-authenticate:
uvx gwmcp setupDevelopment
git clone https://github.com/Gambinoo3005/gwmcp.git
cd gwmcp
pip install -e ".[dev]"
pytestLicense
MIT License. See LICENSE.
Based on google_workspace_mcp by Taylor Wilsdon.
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 Servers
- Alicense-qualityFmaintenanceMCP server that enables Claude to interact with Google Workspace services including Drive, Docs, Sheets, Slides, Calendar, Gmail, and Contacts.85238MIT
- Alicense-qualityCmaintenanceMCP server for Claude Code CLI that integrates with Google Workspace, enabling management of Docs, Sheets, Drive, Gmail, Calendar, and Apps Script.82MIT
- Alicense-qualityAmaintenanceMCP server that gives Claude natural-language access to Google Workspace (Sheets, Docs, Gmail, Calendar, Drive, Tasks, Contacts) via gogcli.1MIT
- Flicense-qualityDmaintenanceAn MCP server that exposes 17 Google Workspace APIs (e.g., Gmail, Drive, Calendar) as auto-generated tools for AI assistants, enabling natural language control of Google services.
Related MCP Connectors
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
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/Gambinoo3005/gwmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server