MCP server by santiagosuarezalf
Google Calendar MCP for Claude Code
A local MCP server that gives Claude Code full Google Calendar access — including reminders, which the official Anthropic MCP does not support.
What is an MCP?
MCP (Model Context Protocol) is an open standard created by Anthropic that lets Claude connect to external tools and services. Think of it as a plugin system: instead of Claude only working with text, MCPs let it interact with the real world — your calendar, files, databases, APIs, etc.
This MCP acts as a bridge between Claude Code and the Google Calendar API, giving Claude the ability to create and manage events directly from your conversations.
What this MCP adds over the official one
| Feature | Official MCP | This MCP | |---|---|---| | Create events | ✅ | ✅ | | Delete events | ✅ | ✅ | | List calendars | ✅ | ✅ | | Set reminders | ❌ | ✅ | | Update reminders | ❌ | ✅ |
Requirements
- Python 3.8+
- A Google account (Gmail)
- Claude Code installed
Installation
Step 1 — Clone the repo
git clone https://github.com/YOUR_USERNAME/gcal-mcp.git
cd gcal-mcp
Step 2 — Install Python dependencies
pip3 install -r requirements.txt
Step 3 — Create your Google Cloud credentials
You need to create your own credentials. This is free and takes about 5 minutes.
- Go to console.cloud.google.com and log in with your Gmail account
- Create a new project (e.g. "Claude Calendar")
- Go to APIs & Services → Library, search for Google Calendar API and enable it
- Go to APIs & Services → Credentials → Create Credentials → OAuth client ID
- When asked "What data will you be accessing?" → select User data
- Fill in the OAuth consent screen:
- App name: anything you like (e.g.
Claude MCP) - User support email: your Gmail
- Developer contact email: your Gmail
- Skip the Scopes step
- App name: anything you like (e.g.
- Application type: Desktop app → click Create
- Download the JSON file and save it as
credentials.jsoninside thegcal-mcpfolder - Go back to APIs & Services → OAuth consent screen → Test users → click + Add users → add your Gmail address
Step 4 — Register the MCP in Claude Code
claude mcp add --scope user gcal-extended -- python3 /absolute/path/to/server.py
Replace /absolute/path/to/server.py with the real path on your machine. For example:
claude mcp add --scope user gcal-extended -- python3 /Users/yourname/gcal-mcp/server.py
Step 5 — Restart Claude Code
After restarting, the first time Claude uses the MCP a browser window will open asking you to authorize access to your Google Calendar. Click Allow. This only happens once — your token is saved locally in token.json.
Usage
Once set up, just talk to Claude naturally:
"Add a swimming session to my Gym calendar this Saturday at 2pm, 1 hour long, with reminders 3 days before, 1 day before, and the morning of."
Claude will call the MCP and create the event with all reminders included.
Available tools
| Tool | What it does |
|---|---|
| create_event | Creates an event with optional reminders |
| update_event | Updates an existing event (including reminders) |
| list_calendars | Lists all your calendars and their IDs |
| delete_event | Deletes an event |
Reminders format
Reminders are passed as a list of minutes before the event start. Examples:
| Value | Meaning |
|---|---|
| 4320 | 3 days before |
| 2880 | 2 days before |
| 1440 | 1 day before |
| 480 | 8 hours before |
| 120 | 2 hours before |
Security
credentials.jsonandtoken.jsonare in.gitignore— they will never be committed- Your credentials stay entirely on your local machine
- The MCP only requests the minimum required scope:
https://www.googleapis.com/auth/calendar
License
MIT — free to use, modify, and share.