kayesFerdous/Google-Calendar-MCP-Server
3.1
If you are the rightful owner of Google-Calendar-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Google Calendar MCP Server is a protocol server that integrates Google Calendar functionalities with any MCP-compatible client, allowing users to manage their calendar events efficiently.
Tools
3
Resources
0
Prompts
0
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
uv sync # or: pip install -e .
- 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
python -m src.service # Not the server entry
python main.py # Starts the MCP over stdio
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:
{
"mcpServers": {
"google-calendar": {
"command": "python",
"args": ["main.py"],
"env": {}
}
}
}
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.