Enables full calendar management including viewing calendars, checking schedules, creating and canceling events, and searching events within specific date ranges.
Allows creation of Google Meet video conference links automatically when scheduling calendar events with attendees.
π Google Calendar MCP Server
A powerful Model Context Protocol (MCP) server that lets Claude interact with your Google Calendar seamlessly!
Transform Claude into your personal calendar assistant with full Google Calendar integration. Create meetings, check schedules, manage events, and more - all through natural conversation with Claude.
π What Can This Do?
β¨ Smart Calendar Management
π View all your calendars - See every calendar you have access to
π Check your schedule - Get today's events or upcoming events for any timeframe
π― Create meetings instantly - Set up Google Meet events with attendees
β Cancel events - Remove events you no longer need
π Search events - Find events within specific date ranges
π€ Claude Integration Examples
Ask Claude things like:
"What meetings do I have today?"
"Schedule a team standup for tomorrow at 10 AM with the engineering team"
"Cancel my 3 PM meeting on Friday"
"What's my schedule looking like next week?"
"Create a Google Meet for our client review next Tuesday"
π Quick Start
Step 1: Prerequisites
Python 3.8 or higher
A Google account with Calendar access
Nango account for authentication (handles Google OAuth for you)
Step 2: Installation
Step 3: Set Up Environment Variables
Create a .env file in the project directory:
Edit .env with your Nango credentials:
π§ Need help with Nango setup? Check the Nango Setup Guide below!
Step 4: Configure Claude Desktop
Add this configuration to your Claude Desktop settings:
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json
Step 5: Test It Out!
Restart Claude Desktop completely
Start a new conversation with Claude
Ask Claude: "What meetings do I have today?"
If everything is set up correctly, Claude will be able to access your Google Calendar! π
π οΈ Available Tools
Tool | Description | Example Use |
| List all your Google Calendars | "Show me all my calendars" |
| Get events from a specific calendar | "What's on my work calendar this week?" |
| Create a new event with Google Meet | "Schedule a team meeting for Friday at 2 PM" |
| Delete/cancel an event | "Cancel my 3 PM meeting today" |
| Get today's events | "What's my schedule today?" |
| Get upcoming events | "What do I have coming up next week?" |
π§ Nango Setup Guide
Nango handles the complex Google OAuth flow for you. Here's how to set it up:
1. Create a Nango Account
Go to Nango.dev and sign up
Create a new project
2. Set Up Google Calendar Integration
In your Nango dashboard, add a new integration
Choose "Google Calendar" as the provider
Follow Nango's guide to configure Google OAuth credentials
3. Get Your Credentials
NANGO_SECRET_KEY: Found in your Nango project settings
NANGO_CONNECTION_ID: Created when a user connects their Google account
NANGO_INTEGRATION_ID: The ID of your Google Calendar integration
4. Test Your Connection
π§ͺ Testing Your Setup
Option 1: Test with MCP Inspector
Option 2: Direct Python Test
Option 3: Test with Claude
Ask Claude: "Can you check what calendar tools are available?"
π Troubleshooting
Common Issues
β "Failed to retrieve calendars"
Check your Nango credentials in
.envVerify your Google Calendar connection in Nango dashboard
Ensure the Google account has calendar access
β "NANGO_CONNECTION_ID environment variable is required"
Make sure your
.envfile is in the same directory as the Python scriptCheck that all environment variables are set correctly
Restart Claude Desktop after making changes
β Claude can't find the calendar tools
Verify the full path in your Claude config is correct
Make sure you restarted Claude Desktop completely
Check the Claude Desktop logs for error messages
Getting Help
Check the logs: Claude Desktop shows MCP server logs in its developer console
Test your .env: Run
python -c "from dotenv import load_dotenv; load_dotenv(); import os; print(os.environ.get('NANGO_CONNECTION_ID'))"Verify file paths: Make sure all paths in your Claude config are absolute paths
π Example Usage with Claude
Once set up, you can have natural conversations with Claude about your calendar:
You: "What's my schedule looking like today?"
Claude: I'll check your calendar for today's events.
You have 1 event today: Team Standup from 9:00 AM to 9:30 AM.
You: "Schedule a client meeting for next Friday at 2 PM with
Claude: I'll create that meeting for you with a Google Meet link.
β Created "Client Meeting" for Friday, January 19th at 2:00 PM with
π Security & Privacy
Your credentials: Stored locally in your
.envfile - never sharedGoogle access: Managed through Nango's secure OAuth flow
Data handling: All calendar data stays between your Google account, Nango, and Claude
No data storage: This MCP server doesn't store any of your calendar information
π€ Contributing
Found a bug or want to add a feature?
Fork the repository
Create a feature branch
Make your changes
Test thoroughly
Submit a pull request
π License
MIT License - feel free to use this in your own projects!
π Enjoy your new AI-powered calendar assistant!
If you found this helpful, consider starring the repository and sharing it with others who might benefit from AI calendar management.