Google Workspace MCP Server
Email search, read, send, reply, and label management.
Document creation, reading, updating, and deletion.
Full file management including search, read, create, update, delete, upload, and download of files and folders.
Form creation, editing, response collection, and deletion.
Spreadsheet operations with range updates and batch processing, including create, read, update, and delete.
Presentation management and slide manipulation, including create, read, update, and delete.
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 MCP Serverfind my budget spreadsheet in Drive"
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 Server
A Model Context Protocol server for seamless integration between Claude Code and Google Workspace services.
Features
✅ Complete Google Workspace Integration
Google Drive: Full file management (search, read, create, update, delete, upload/download)
Google Docs: Document creation, reading, and editing
Google Sheets: Spreadsheet operations with range updates and batch processing
Google Slides: Presentation management and slide manipulation
Google Forms: Form creation, editing, and response collection
Gmail: Email search, read, send, reply, and label management
🔒 Secure Authentication
OAuth 2.0 authentication with automatic token refresh
Encrypted token storage
Minimal scope requirements
⚡ Performance Optimized
Async/await architecture for concurrent operations
Built-in caching with TTL
Smart rate limiting to prevent API quota exhaustion
Request batching where possible
🛡️ Robust Error Handling
Comprehensive error management
Automatic retry logic for transient failures
Detailed error messages for debugging
Related MCP server: Ultimate Google Docs & Drive MCP Server
Installation
Prerequisites
Python 3.10 or higher
Google Cloud Project with Workspace APIs enabled
OAuth 2.0 credentials
Step 1: Clone and Setup
# Clone the repository
git clone https://github.com/YOUR_USERNAME/google-workspace-mcp.git
cd google-workspace-mcp
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
pip install -e .
# Create config directory
mkdir -p configStep 2: Google Cloud Console Setup
Go to Google Cloud Console
Create a new project or select existing one
Enable the following APIs:
Google Drive API
Google Docs API
Google Sheets API
Google Slides API
Google Forms API
Gmail API
Configure OAuth Consent Screen:
Go to "APIs & Services" > "OAuth consent screen"
Choose "External" user type
Fill in required fields (App name, User support email, Developer contact)
Add scopes:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/documentshttps://www.googleapis.com/auth/spreadsheetshttps://www.googleapis.com/auth/presentationshttps://www.googleapis.com/auth/formshttps://www.googleapis.com/auth/gmail.modify
Create OAuth 2.0 Client ID:
Go to "Credentials" > "Create Credentials" > "OAuth client ID"
Choose "Desktop app" as application type
Download credentials JSON file
Copy
config/credentials.json.exampletoconfig/credentials.jsonReplace the example values with your downloaded credentials
Step 3: Initial Authentication
# Run server for first-time authentication
python3 -m google_workspace_mcp
# Browser will open for OAuth consent
# Grant necessary permissions
# Token will be saved automaticallyStep 4: Claude Code Integration
Add to your Claude Code MCP settings (~/.claude/config/settings.json):
{
"mcpServers": {
"google-workspace": {
"command": "/usr/local/bin/python3",
"args": ["-m", "google_workspace_mcp"],
"cwd": "/path/to/your/google-workspace-mcp",
"env": {}
}
}
}Note: Replace /path/to/your/google-workspace-mcp with your actual installation path.
Available Tools
Google Drive (8 tools)
drive_search_files- Search files/foldersdrive_read_file- Read file contentdrive_create_file- Create new filedrive_update_file- Update existing filedrive_delete_file- Delete filedrive_upload_file- Upload local filedrive_download_file- Download to localdrive_list_shared_drives- List Team Drives
Google Docs (4 tools)
docs_create- Create documentdocs_read- Read documentdocs_update- Update documentdocs_delete- Delete document
Google Sheets (4 tools)
sheets_create- Create spreadsheetsheets_read- Read rangesheets_update- Update rangesheets_delete- Delete spreadsheet
Google Slides (4 tools)
slides_create- Create presentationslides_read- Read presentationslides_update- Update slidesslides_delete- Delete presentation
Google Forms (5 tools)
forms_create- Create formforms_read- Read form structureforms_update- Update formforms_delete- Delete formforms_get_responses- Get form responses
Gmail (6 tools)
gmail_search_messages- Search emailsgmail_read_message- Read email contentgmail_send_message- Send new emailgmail_reply_message- Reply to emailgmail_delete_message- Delete emailgmail_list_labels- List labels
Usage Examples
Search Drive Files
In Claude Code:
"Search my Drive for files named 'project report'"
Uses: drive_search_files with query parameterRead and Summarize Document
"Read the document with ID xyz and summarize it"
Uses: drive_read_file → Processes contentSend Email
"Send an email to team@example.com with subject 'Meeting Update' and body '...'"
Uses: gmail_send_messageCreate Spreadsheet
"Create a new spreadsheet called 'Q4 Budget' with headers A1:E1"
Uses: sheets_create → sheets_updateConfiguration
Environment Variables
# Optional: Custom config directory
export GW_MCP_CONFIG_DIR=~/.config/gw-mcp
# Optional: Log level
export GW_MCP_LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERRORCache Settings
Default cache TTL: 300 seconds (5 minutes) Max cache size: 1000 items
Rate Limiting
Default limits:
100 requests per 60 seconds per service
Burst limit: 10 consecutive requests
Troubleshooting
Authentication Issues
# Clear stored tokens
rm ~/.config/gw-mcp/token.pickle
# Re-authenticate
python3 -m google_workspace_mcpPermission Errors
Verify all required APIs are enabled in Google Cloud Console
Check OAuth scopes in consent screen configuration
Ensure credentials.json is in correct location
Rate Limit Errors
Server automatically handles rate limiting with exponential backoff
Check Google Cloud Console quotas if persistent issues
Import Errors
# Reinstall dependencies
pip install -r requirements.txt --force-reinstallDevelopment
Running Tests
pytest tests/
pytest tests/ --cov=src --cov-report=htmlProject Structure
google-workspace-mcp/
├── src/
│ ├── auth/ # OAuth authentication
│ ├── services/ # Google API wrappers
│ ├── tools/ # MCP tool definitions
│ ├── utils/ # Utilities (logging, caching, etc.)
│ └── server.py # Main MCP server
├── config/ # Configuration files
├── tests/ # Test suite
├── requirements.txt # Dependencies
├── setup.py # Package setup
└── README.md # This fileArchitecture
Claude Code (MCP Client)
↓
MCP Protocol (stdio)
↓
Google Workspace MCP Server
├── MCP Handler (Tool Registry)
├── Service Layer (API Wrappers)
│ ├── Drive Service
│ ├── Docs Service
│ ├── Sheets Service
│ ├── Slides Service
│ ├── Forms Service
│ └── Gmail Service
├── Auth Manager (OAuth 2.0)
└── Infrastructure (Cache, Rate Limit, Logging)
↓
Google Workspace APIsSecurity Considerations
Token Storage: Tokens encrypted and stored securely in user config directory
Scope Minimization: Only requests necessary permissions
No Credential Logging: Sensitive data never logged
Automatic Token Refresh: Expired tokens refreshed automatically
Rate Limiting: Prevents quota exhaustion and API abuse
Contributing
Contributions welcome! Please:
Fork the repository
Create a feature branch
Add tests for new functionality
Submit a pull request
License
MIT License - see LICENSE file for details
Support
For issues and questions:
Open an issue on GitHub
Check troubleshooting section
Review Google Workspace API documentation
Acknowledgments
Built with MCP Python SDK
Designed for Claude Code
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.
Latest Blog Posts
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/crazybass81/google-workspace-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server