Provides read-only access to the Google Calendar API, enabling users to list calendars, search and retrieve event details, check free/busy availability, and view calendar settings.
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., "@GCAL-MCPWhat's on my schedule 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.
gcal-mcp
A Google Calendar MCP server using OAuth2 bearer token auth via the Dedalus MCP framework.
Tools
Calendars
gcal_list_calendars- List all calendars accessible by the usergcal_get_calendar- Get details of a specific calendargcal_create_calendar- Create a secondary calendargcal_delete_calendar- Delete a secondary calendargcal_clear_calendar- Clear a calendar (deletes all events)gcal_patch_calendar- Patch calendar metadatagcal_update_calendar- Update calendar metadata (full replace)
Calendar List
gcal_calendarlist_get- Get a calendar list entrygcal_calendarlist_insert- Insert an existing calendar into the user's calendar listgcal_calendarlist_delete- Remove a calendar from the user's calendar listgcal_calendarlist_patch- Patch a calendar list entrygcal_calendarlist_update- Update a calendar list entry (full replace)
Events
gcal_list_events- List events from a calendargcal_get_event- Get a specific event by IDgcal_search_events- Search for events by text querygcal_get_event_instances- Get instances of a recurring eventgcal_create_event- Create an eventgcal_delete_event- Delete an eventgcal_patch_event- Patch an event (partial update)gcal_update_event- Update an event (full replace)gcal_quick_add_event- Quick add an event from a text stringgcal_move_event- Move an event to another calendargcal_import_event- Import an event (creates a private copy)
Free/Busy
gcal_get_freebusy- Query free/busy information for calendars
Settings
gcal_get_settings- Get user's calendar settingsgcal_get_setting- Get a specific calendar setting
Colors
gcal_get_colors- Get available calendar and event colors
Watch (Webhooks)
gcal_channels_stop- Stop watching a channelgcal_events_watch- Watch for changes to Events resourcesgcal_calendarlist_watch- Watch for changes to CalendarList resourcesgcal_settings_watch- Watch for changes to Settings resources
Authentication
Google Calendar API requires OAuth2. The access token is provided at runtime via Dedalus credential exchange.
Required OAuth scopes:
https://www.googleapis.com/auth/calendar- Full calendar accesshttps://www.googleapis.com/auth/calendar.events- Event access
Usage
Prerequisites
A Dedalus API key (
dsk-live-*ordsk-test-*)The
dedalus-labsPython SDK installed
Environment Variables
Example Client
See src/_client.py for a complete example client that handles the OAuth browser flow.
The first time you use the MCP server, you'll be prompted to authorize Google Calendar access via OAuth.
OAuth Flow
On first request, you'll receive an
AuthenticationErrorwith aconnect_urlOpen the URL in a browser to authorize Google Calendar access
After authorization, retry the request - credentials are now stored
Subsequent requests will work without re-authorization