Get started instantly with our Desktop Extension - no terminal or JSON editing required
Desktop Extension (.dxt)
Download and double-click to install directly into Claude Desktop. This bundles the server, dependencies, and manifest so you go from download → working MCP in one click.
No terminal commands required
No JSON configuration files to edit
Automatic dependency management
Zero version conflicts
One-click installation and updates
After installation, you'll just need to add your Google OAuth credentials in Claude Desktop's extension settings.
Run instantly without manual installation - you must configure OAuth credentials when using uvx. You can use either environment variables (recommended for production) or set the GOOGLE_CLIENT_SECRET_PATH (or legacy GOOGLE_CLIENT_SECRETS) environment variable to point to your client_secret.json file.
# Set OAuth credentials via environment variables (recommended)
export GOOGLE_OAUTH_CLIENT_ID="your-client-id.apps.googleusercontent.com"
export GOOGLE_OAUTH_CLIENT_SECRET="your-client-secret"
# Start the server with all Google Workspace tools
uvx workspace-mcp
# Start with specific tools only
uvx workspace-mcp --tools gmail drive calendar
# Start in HTTP mode for debugging
uvx workspace-mcp --transport streamable-http
Requires Python 3.11+ and uvx. You must configure OAuth credentials when using uvx.
Development Installation
For development or customization
# Clone the repository
git clone https://github.com/taylorwilsdon/google_workspace_mcp.git
cd google_workspace_mcp
# Run directly with uv
uv run main.py
4
Configuration
Set up OAuth 2.0 credentials and API access
Google Cloud Setup - Simplified!
Create OAuth 2.0 credentials using Desktop Application type (recommended - no redirect URI configuration needed!) or Web Application type in Google Cloud Console
Enable APIs: Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Chat
Configure Redirect URI (Web Application Only)
Add redirect URI to your OAuth client configuration - ONLY needed if using Web Application credentials. Desktop Application credentials skip this step!
http://localhost:8000/oauth2callback
Default base URI is http://localhost:8000, customizable via environment variables (WORKSPACE_MCP_BASE_URI and WORKSPACE_MCP_PORT). Update the redirect URI in Google Cloud Console if you change these. With Desktop Application credentials, this step is not required.
Configure Credentials
Configure credentials using one of these methods:
Option A: Environment Variables (Recommended for Production)
Copy the provided `.env.oauth21` example file to `.env` in the project root and add your credentials. The server automatically loads variables from this file on startup.
cp .env.oauth21 .env
Option C: File-based (Legacy)
Download credentials as client_secret.json in project root. To use a different location, set GOOGLE_CLIENT_SECRET_PATH (or legacy GOOGLE_CLIENT_SECRETS) environment variable with the file path.
Credential Loading Priority
The server loads credentials in the following order of precedence:
1. Manually set environment variables (e.g., `export VAR=value`).
2. Variables defined in a `.env` file in the project root.
3. `client_secret.json` file specified by `GOOGLE_CLIENT_SECRET_PATH`.
4. Default `client_secret.json` file in the project root.
Why Environment Variables?
✅ Containerized deployments (Docker, Kubernetes)
✅ Cloud platforms (Heroku, Railway, etc.)
✅ CI/CD pipelines
✅ No secrets in version control
✅ Easy credential rotation
Security Warning
Important
Ensure client_secret.json is added to your .gitignore file and never committed to version control
5
Server Configuration
Customize server settings with environment variables
VariableDefaultDescription
WORKSPACE_MCP_BASE_URIhttp://localhostSets the base URI for the server. This affects the server_url used for Gemini native function calling and the OAUTH_REDIRECT_URI.
WORKSPACE_MCP_PORT8000Sets the port the server listens on. This affects the server_url, port, and OAUTH_REDIRECT_URI.
GOOGLE_OAUTH_REDIRECT_URIAuto-generated from base URI and portOverride the OAuth redirect URI for reverse proxy configurations (e.g., when running behind Nginx or Cloudflare).
# Standard configuration
export WORKSPACE_MCP_BASE_URI="https://my-custom-domain.com"
export WORKSPACE_MCP_PORT="9000"
# Reverse proxy configuration (Nginx, Cloudflare, etc.)
export GOOGLE_OAUTH_REDIRECT_URI="https://my-domain.com/oauth2callback"
uv run main.py
6
Reverse Proxy Support
Configure the server when running behind reverse proxies like Nginx or Cloudflare
When to Use Reverse Proxy Configuration
Use this when your server runs behind a reverse proxy (Nginx, Cloudflare, Apache, etc.) that changes the external URL.
Set the Redirect URI Override
Override the auto-generated OAuth redirect URI to match your external URL
Available Tools for --tools flag: gmail, drive, calendar, docs, sheets, slides, forms, tasks, chat, search. Google Custom Search requires additional setup with GOOGLE_PSE_API_KEY and GOOGLE_PSE_ENGINE_ID environment variables.
9
Connecting to Claude Desktop
Connect your AI assistant to the MCP server
Available tools for --tools: gmail, drive, calendar, docs, sheets, slides, forms, tasks, chat, search. Search requires GOOGLE_PSE_API_KEY and GOOGLE_PSE_ENGINE_ID.
Auto-install (Recommended)
Use the auto-installer script
Download and run the installer: python install_claude.py
The script will automatically configure Claude Desktop for you