MCP Google Workspace

by 199-mcp

Not rated
GitHub

About

A comprehensive MCP server for managing Google Workspace services like Calendar, Contacts, and Gmail using OAuth2 authentication.

Details

Author
199-mcp
Categories
Productivity, Other, Communication, Community
Tags
#google-drive, #gmail, #calendar

Option A: Direct Environment Variables (Simplest - No JSON file needed!)

{ "mcpServers": { "google-workspace": { "command": "npx", "args": ](https://console.cloud.google.com/apis/library/people.googleapis.com)["-y", "mcp-google"], "env": { "GOOGLE_CLIENT_ID": "YOUR_CLIENT_ID.apps.googleusercontent.com", "GOOGLE_CLIENT_SECRET": "YOUR_CLIENT_SECRET" } } } }

The ONLY comprehensive MCP server for Google Workspace that enables Claude, Cursor, Windsurf and other AI systems to fully manage Google Calendar, Contacts, AND Gmail- read, create, update, delete, and organize across all three services!

Complete Google Workspace integration for Claude Desktop and other AI agents using the Model Context Protocol (MCP). This server provides comprehensive management capabilities for Calendar, Contacts, and Gmail with OAuth2 authentication.

Other calendar MCP servers only provideread-onlyaccess. This is theonly MCP serverthat gives AI systems like Claude, Cursor, and Windsurf the ability to:

- ✅Createnew calendar events
- ✅Updateexisting events (including recurring events)
- ✅Deleteevents
- ✅Managemultiple calendars
- ✅Check availabilityacross calendars

- ✅Listand search contacts
- ✅Createnew contacts with full details
- ✅Updateexisting contacts
- ✅Deletecontacts
- ✅Managecontact details (emails, phones, addresses, organizations)

- ✅Searchand list emails with powerful queries
- ✅Readfull email content with attachments
- ✅Sendnew emails and replies
- ✅Organizewith labels and folders
- ✅Updateemail status (read/unread, starred, important)
- ✅Createand manage drafts
- ✅Batch operationsfor bulk email management

- Multi-Calendar Support: List events from multiple calendars simultaneously
- Event Management: Create, update (including notifications), delete, and search calendar events
- Recurring Events: Advanced modification scopes for recurring events (single instance, all instances, or future instances only)
- Calendar Management: List calendars and their properties
- Free/Busy Queries: Check availability across calendars

- Contact Search: Search contacts by name, email, or other criteria
- Full Contact Details: Manage names, emails, phone numbers, addresses, organizations, and notes
- Batch Operations: List contacts with pagination support
- Field Selection: Choose which contact fields to retrieve for optimized responses

- Advanced Search: Use Gmail's powerful search operators
- Email Management: Read, send, reply, forward, and delete emails
- Label Organization: Create and manage labels/folders
- Draft Management: Create, update, and send drafts
- Batch Operations: Update multiple emails at once
- Thread Support: Handle email conversations
- Attachment Info: View attachment details (names, sizes, types)

- OAuth2 Authentication: Secure authentication with automatic token refresh
- Unified Permissions: Single authentication flow for Calendar, Contacts, and Gmail access
- Go toGoogle Cloud Console
- Create a new project or select an existing one
- Enable these APIs:

- Google Calendar API
-
Google People API

- Go to "APIs & Services" > "OAuth consent screen"
- Choose "External" user type
- Fill in required fields (app name, support email, etc.)
- Add your email as a test user (required while in test mode)

- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth client ID"
- Choose"Desktop app"as the application type
- Name your OAuth client (e.g., "MCP Calendar Client")
- Download the credentials JSON file

Add this to your Claude Desktop config file:

macOS:~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%\Claude\claude_desktop_config.json

Option A: Direct Environment Variables (Simplest - No JSON file needed!)

{ "mcpServers": { "google-workspace": { "command": "npx", "args": ["-y", "mcp-google"], "env": { "GOOGLE_CLIENT_ID": "YOUR_CLIENT_ID.apps.googleusercontent.com", "GOOGLE_CLIENT_SECRET": "YOUR_CLIENT_SECRET" } } } }

Option B: Use Downloaded Google Credentials File

{ "mcpServers": { "google-workspace": { "command": "npx", "args": ["-y", "mcp-google"], "env": { "GOOGLE_OAUTH_CREDENTIALS": "/path/to/downloaded/credentials.json" } } } }

Just use the file path where you saved the JSON file downloaded from Google Cloud Console.
- Restart Claude Desktop
- The MCP server will open a browser window for authentication
- Log in with your Google account and grant Calendar, Contacts, AND Gmail permissions
- Tokens will be saved securely for future use

Note:If upgrading from a previous version, you'll need to re-authenticate to grant the new Gmail permissions.

- GOOGLE_OAUTH_CREDENTIALS: Path to OAuth credentials JSON file
- GOOGLE_CALENDAR_MCP_TOKEN_PATH: Custom path for token storage (optional)
- NODE_ENV: Set to "production" for production use

List all accessible calendars with their properties.

List events from one or more calendars with filtering options.

Create a new calendar event with support for:

- Single or recurring events
- Attendees and notifications
- Custom colors
- Time zones

- Modifying single instances of recurring events
- Changing event details
- Managing attendees

Search for events across calendars using text queries.

Query free/busy information across multiple calendars.

List and search contacts with pagination support.

Get detailed information about a specific contact.

- Names and nicknames
- Multiple email addresses
- Phone numbers
- Physical addresses
- Organizations and job titles
- Notes and biographies

Update existing contact information with field-specific updates.

Search and list emails with powerful Gmail queries.

Read full email content including body and attachments.

Send new emails or replies with HTML support.

Modify email properties (labels, read status, star, archive).

Move emails to trash or permanently delete.

Create new labels for organizing emails.

Perform bulk operations on multiple emails.

What times am I free tomorrow between 9am and 5pm?
Create a meeting called "Team Standup" tomorrow at 10am for 30 minutes
Find all events this week that mention "project review"
Change all future instances of my weekly team meeting to 2pm
Show me all my contacts with email addresses
Create a contact for John Doe, email: john@example.com, phone: 555-1234
Update Jane Smith's phone number to 555-5678
Show me all unread emails from this week
Send an email to john@example.com with subject "Meeting Tomorrow" and body "Let's meet at 2pm"
Mark all newsletters as read and archive them
Create a label called "Important Projects" and apply it to all emails from my manager
Move all emails older than 30 days to trash

- Ensure redirect URI matches exactly:http://localhost:3000/oauth2callback
- Check that both Calendar API and People API are enabled in Google Cloud Console
- Verify OAuth credentials are for a "Desktop app" type
- If upgrading from calendar-only, re-run authentication to grant contacts permissions

- Tokens are automatically refreshed
- If issues persist, delete the token file and re-authenticate

- Ensure you've granted all requested Calendar, Contacts, and Gmail permissions
- Check that the Google account has access to the resources you're trying to access
- Ensure all required APIs are enabled in your Google Cloud project:

- Google Calendar API
- Google People API
- Gmail API

- OAuth tokens are stored with restricted permissions (0600)
- Client secrets should never be committed to version control
- Use environment variables for sensitive configuration

# Install dependencies npm install # Build npm run build # Run locally npm start

Developed byBoris Djordjevicand the199 Longevityteam.

Built on top of the originalgoogle-calendar-mcpby nspady.

Contributions are welcome! Please open an issue or submit a pull request onGitHub.

- Fixed timezone validation to support milliseconds in ISO timestamps
- Now compatible with JavaScript'sDate.toISOString()format (e.g.,2024-01-01T00:00:00.000Z)
- Improved datetime validation regex to handle both formats with and without milliseconds

- Improved authentication flow with clear, informative landing page
- Users now see exactly what permissions Claude will have before connecting
- Professional UI that clearly identifies this as Google Calendar authentication
- Added security note that credentials are never stored

- Enhanced documentation to highlight unique full calendar management capabilities
- Added "Why This MCP Server?" section emphasizing create/update/delete features
- Updated package description and keywords for better discoverability

- Simplified setup: Added support for direct environment variables (no JSON file needed!)
- Users can now useGOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRETdirectly in Claude config
- Updated README with clearer Desktop app OAuth setup instructions
- Removed unnecessary redirect URI configuration steps

- Added automatic retry logic for network errors
- Improved error handling for socket hang-up issues
- Silent recovery when events are created despite connection errors

- Initial release with enhanced OAuth2 authentication
- Comprehensive calendar management tools
- Multi-calendar support
- Free/busy queries

An MCP server for interacting with Google Workspace services like Gmail and Calendar.

Interact with Google products, including Gmail and Calendar.

Integrate Google services like Gmail, Calendar, Drive, and Tasks with MCP.

(MCP) server for Google Workspace. Drive, Gmail, Calendar, Sheets, Docs, Tasks and People via AI agents.

Interact with Google Workspace services like Gmail and Google Calendar.

Integrates Google Workspace services like Calendar, Drive, and Gmail with AI assistants.

Manage Gmail, Calendar, Drive, and Contacts through Google Workspace APIs using OAuth 2.0.

Multi-account Google MCP server for Claude Code — Gmail, Drive, Calendar, Sheets, Docs, Contacts, Search Console. 83 tools with OAuth2 multi-account switching.

A command-line tool to fetch Google Calendar schedules and convert them into custom prompts or text snippets using a template engine.

Provides various DingTalk services including contacts, department management, robot messaging, calendar, and tasks.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.