Skip to main content
Glama

google-mcp-server

by robcerda
README.md4.5 kB
# Google MCP Server > Connect Claude to your Google Workspace with intelligent contact resolution and secure OAuth2 authentication Transform Claude into your Google productivity assistant. Send emails to "John Smith" instead of john.smith@company.com, share files by name, and create calendar events with automatic attendee resolution. ## ✨ Key Features - **🧠 Smart Contact Resolution**: `send email to Spencer Varney about the meeting` → automatically finds spencer.varney@company.com - **🔒 Secure by Default**: Uses [restricted scopes](https://developers.google.com/workspace/drive/api/guides/api-specific-auth) compatible with [Google Advanced Protection](https://landing.google.com/advancedprotection/) - **📱 50+ Tools**: Complete Gmail, Drive, Calendar integration with shared drive support - **⚡ Safety First**: All send/share operations require explicit confirmation ## 🚀 Quick Start ### 1. Install ```bash git clone https://github.com/robcerda/google-mcp-server cd google-mcp-server uv sync ``` ### 2. Configure Google 1. [Create a Google Cloud project](https://console.cloud.google.com) and enable APIs (Drive, Gmail, Calendar, People) 2. Create OAuth2 credentials (Desktop application type) 3. Copy your credentials to `.env`: ```bash cp .env.example .env # Edit .env with your GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET ``` ### 3. Add to Claude Desktop Add to `claude_desktop_config.json`: ```json { "mcpServers": { "google-services": { "command": "/path/to/google-mcp-server/.venv/bin/mcp", "args": ["run", "/path/to/google-mcp-server/server.py"] } } } ``` ## 💡 Examples **Smart Email** (resolves contacts automatically): ``` Send an email to Spencer Varney about tomorrow's meeting ``` **Safe File Sharing** (shows preview, requires confirmation): ``` Share the Q4 report with the marketing team as editors ``` **Calendar with Attendees** (resolves multiple contacts): ``` Create a meeting tomorrow 2-3pm with Spencer, John, and Sarah ``` ## 🔐 Security & Scopes This server uses **intentionally restrictive OAuth scopes** for maximum security by default. These scopes are compatible with [Google Advanced Protection Program](https://landing.google.com/advancedprotection/) and follow the principle of least privilege. ### Default Scopes (Security-First) - `drive.file` - Only files created by this app (not full Drive access) - `gmail.send` + `gmail.readonly` + `gmail.labels` - Send, read, and manage labels - `contacts.readonly` - Read contacts for smart name resolution - `calendar` - Full calendar access (Google doesn't offer restricted calendar scopes) ### Expanding Permissions If you need broader access, add scopes to your `.env` file: ```env # Example: Full Drive access + Gmail modify GOOGLE_ADDITIONAL_SCOPES=https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/gmail.modify # Common broader scopes: # https://www.googleapis.com/auth/drive - Full Google Drive access # https://www.googleapis.com/auth/gmail.modify - Full Gmail modification # https://www.googleapis.com/auth/spreadsheets - Google Sheets access # https://www.googleapis.com/auth/contacts - Full contacts read/write ``` **Security Note**: The default restricted scopes protect your account even if credentials are compromised. Only expand permissions if you specifically need the additional functionality. **File**: Scopes are defined in `src/google_mcp_server/auth.py` (`DEFAULT_SCOPES`) ## 📚 Documentation - **[Complete Setup Guide](docs/setup.md)** - Detailed Google Cloud Console configuration - **[All Tools Reference](docs/tools.md)** - Complete list of 50+ available tools - **[Usage Examples](docs/examples.md)** - Common workflows and advanced usage - **[Troubleshooting](docs/troubleshooting.md)** - Solutions for common issues ## 🛡️ Safety Features All potentially dangerous operations use a **two-step confirmation process**: 1. **Prepare**: `prepare_send_email()` → Shows preview, resolves contacts 2. **Confirm**: `confirm_send_email()` → Actually sends after your approval No emails, file shares, or calendar invites are sent without explicit confirmation. ## 🤝 Contributing 1. Fork the repository 2. Create a feature branch 3. Add tests for new functionality 4. Submit a pull request ## 📄 License MIT License - see [LICENSE](LICENSE) file for details. --- **Questions?** Check the [documentation](docs/) or [open an issue](https://github.com/robcerda/google-mcp-server/issues).

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/robcerda/google-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server