Google Calendar MCP Server
Full calendar control in three deliberately consolidated tools.
$ uvx workspace-mcp --tools calendar runs only the Google Calendar MCP tools — combine services as neededCalendar is intentionally the leanest service in Workspace MCP. Three tools — list_calendars, get_events, and manage_event — cover the entire event lifecycle, because every extra tool definition costs context window and gives the model another wrong option to pick.
manage_event consolidates create, update, and delete into a single operation-style tool, which in practice makes scheduling agents noticeably more reliable than a sprawl of single-purpose endpoints.
What you can ask
- “What does my week look like? Flag anything that conflicts with the Thursday offsite”
- “Create a 30-minute design sync every Tuesday at 10am and invite the team”
- “Move my Friday 1:1s to next Monday and add a reminder to each”
All 3 Google Calendar MCP tools
Tiers control how many tools the server registers: start lean with --tool-tier core and step up to extended or complete when a workflow needs more. Parameters and examples for every tool
are in the API reference.
list_calendars Core Lists calendars accessible to the authenticated user.get_events Core Retrieves events for a calendar and time range.manage_event Core Consolidated create, update, and delete event operations.OAuth scopes
The server requests only the scopes for the services you enable. In read-only mode it requests just the readonly variants and skips registering write tools entirely.
calendar.readonlylist calendars and read eventscalendar.eventscreate and modify eventscalendarfull calendar access (implies both)
Google Calendar MCP questions
- Why does Calendar only have three tools?
- Deliberate design. Every registered tool consumes context window and adds a decision point for the model. Consolidating create/update/delete into manage_event keeps the schema small without dropping any capability — all three tools sit in the Core tier.
- Can it see calendars shared with me, not just my own?
- Yes. list_calendars returns every calendar the authenticated account can access, including shared team calendars, and get_events works against any of them by ID.
- How do time ranges work for event queries?
- get_events takes an explicit time window, so an assistant can ask for "this week", "next Tuesday 9–5", or a whole quarter and only pull the events that matter rather than paging through everything.
Works alongside
All services: Gmail MCP·Google Drive MCP·Google Calendar MCP·Google Docs MCP·Google Sheets MCP·Google Slides MCP·Google Forms MCP·Google Tasks MCP·Google Contacts MCP·Google Chat MCP·Google Custom Search MCP·Google Apps Script MCP