Provides tools for managing Google Calendar events including listing events within time windows, creating new events with details like summary, start/end times, description and location, and deleting events by summary name.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Calendar MCP Serverlist my events for tomorrow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Calendar MCP Server
An MCP server exposing Google Calendar tools to any MCP-compatible client (e.g., Claude Desktop, Cursor MCP CLI). It lets you:
List events in a time window
Create events
Delete events by summary
Prerequisites
Python 3.11+
A Google Cloud project with OAuth 2.0 Client ID (Desktop) for Google Calendar API
credentials.jsondownloaded locally (do not commit it)
Setup
Clone and install dependencies
Enable Google Calendar API and download OAuth credentials
Go to Google Cloud Console → APIs & Services → Credentials
Create OAuth client ID: Application type "Desktop app"
Download the JSON and save it as
credentials.jsonat the project root
First run / OAuth consent
The first call to any tool will open a browser for consent and produce token.json locally (ignored by git).
Running the MCP server
Use from MCP-compatible clients by pointing to main.py as the command.
Tools
get_google_calendar_events(maxResults, calendarId="primary", singleEvents=True, orderBy="startTime", timeMin=None, timeMax=None)
Returns a list like: [{ "title": str, "start-time": str, "end-time": str }]
create_google_calendar_event(summary, start: datetime, end: datetime, description=None, location=None, time_zone="Asia/Dhaka")
Returns the created event HTML link (if available)
delete_google_calendar_event(event_name: str)
Deletes the first exact summary match
MCP client configuration (example)
Example JSON snippet for a client config:
Notes
Keep
credentials.jsonandtoken.jsonout of git.Time strings must be RFC3339 with timezone (e.g.,
2025-08-08T00:00:00+06:00).All-day events return a
datestring instead ofdateTime.