- Home
- MCP servers
- Google Calendar
Google Calendar
- python
24
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"deciduus-calendar-mcp": {
"command": "python",
"args": [
"C:/path/to/your/calendar-mcp/run_server.py"
],
"env": {
"CALENDAR_SCOPES": "https://www.googleapis.com/auth/calendar",
"TOKEN_FILE_PATH": ".gcp-saved-tokens.json",
"GOOGLE_CLIENT_ID": "YOUR_GOOGLE_CLIENT_ID_HERE",
"OAUTH_CALLBACK_PORT": "8080",
"GOOGLE_CLIENT_SECRET": "YOUR_GOOGLE_CLIENT_SECRET_HERE"
}
}
}
}You set up a Python-based MCP server that acts as a bridge between language models and Google Calendar. It authenticates with Google using OAuth 2.0, exposes calendar actions via a FastAPI REST API, and enables you to control calendars and events through an MCP-compatible interface in your client.
How to use
To use this server with an MCP client, you run the local stdio-based MCP bridge that launches the server and exposes calendar actions to your client. The client will communicate with the server through the MCP SDK bridge, and you can perform actions such as listing calendars, creating events, updating events, and scheduling with attendee analysis.
How to install
Prerequisites you need before installation:
- Python 3.8+ installed
- Git installed
- Access to a Google Cloud Platform project
Step-by-step setup and installation commands you will run in order:
# 1) Clone the project
git clone <repository-url> # Replace with your repo URL
dcd <repository-directory>
# 2) Install Python dependencies
pip install -r requirements.txt
Additional content
Configuration, security, and usage notes are included here to help you set up, run, and test the calendar MCP server safely and effectively. The server uses an OAuth 2.0 Desktop App flow to obtain and refresh access tokens and stores tokens locally for subsequent runs.
Environment and credentials you will configure in your project root:
# Google OAuth 2.0 Client Credentials (from Google Cloud Console - Desktop app type)
GOOGLE_CLIENT_ID='YOUR_GOOGLE_CLIENT_ID_HERE'
GOOGLE_CLIENT_SECRET='YOUR_GOOGLE_CLIENT_SECRET_HERE'
# Path to the file where the user's OAuth tokens will be stored after first auth
TOKEN_FILE_PATH='.gcp-saved-tokens.json'
# Port for the local webserver during the OAuth callback (must match Google Cloud redirect URI)
OAUTH_CALLBACK_PORT=8080
# Google Calendar API Scopes (read/write is default)
CALENDAR_SCOPES='https://www.googleapis.com/auth/calendar'
Troubleshooting and tips
If you encounter issues during authentication or token storage, verify that the redirect URI matches the one configured in Google Cloud Console and that the token file path is writable by the running process.
Notes on security and maintenance
Your Google Client ID, Client Secret, and the token file are kept on your side and are not exposed to MCP clients. You should keep the tokens secure and avoid committing them to version control.
Available tools
mcp_google_calendar_list_calendars
List all calendars accessible by the authenticated user.
mcp_google_calendar_create_calendar
Create a new Google Calendar with specified summary and settings.
mcp_google_calendar_find_events
Find events using basic and advanced filtering criteria like time range and attendees.
mcp_google_calendar_create_event
Create a detailed event with fields such as title, time, location, description, and attendees.
mcp_google_calendar_quick_add_event
Add an event from natural-language text quickly.
mcp_google_calendar_update_event
Update event fields like time, title, location, or attendees.
mcp_google_calendar_delete_event
Delete a specified event.
mcp_google_calendar_add_attendee
Add attendees to an existing event.
mcp_google_calendar_check_attendee_status
Check how attendees have responded to an event invitation.
mcp_google_calendar_query_free_busy
Query free/busy information across multiple calendars.
mcp_google_calendar_schedule_mutual
Find mutual free slots and schedule meetings automatically.
mcp_google_calendar_analyze_busyness
Analyze daily event counts and durations to understand calendar busyness.