MCP Google Calendar Plus

by 199-biotechnologies

Not rated
GitHub

About

A server for full Google Calendar management, including creating, updating, and deleting events. Requires Google OAuth2 authentication.

Details

Author
199-biotechnologies
Categories
Productivity, Other, Automation
Tags
#calendar, #google-drive

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" } } } }

A server for full Google Calendar management, including creating, updating, and deleting events. Requires Google OAuth2 authentication.

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

Interact with Google Calendar APIs to manage events and calendars.

Connect AI clients to Cal.com scheduling through the Model Context Protocol using the hosted server at mcp.cal.com or a local instance.

Sync Calendars, Scheduling Links, AI Executive Scheduling Assistant, Unified Calendar

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

Calendrz: Mirror Your Availability Across Every Calendar, Automatically.

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

Connects AI agents to the Feishu/Lark platform for automating tasks like document processing, conversation management, and calendar scheduling.

Connect AI agents with the Feishu/Lark platform for automation, including document processing, conversation management, and calendar scheduling.

Connect AI agents with the Feishu/Lark platform for automation, including document processing, conversation management, and calendar scheduling.

Integrates with Google Calendar to manage events, reminders, and schedules using OAuth 2.0.

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.