The scheduling layer for Yalc workflows that need to coordinate humans. Pull next week's bookings, create follow up holds, and schedule discovery calls without leaving Claude Code.
claude mcp add google-calendar --env GOOGLE_CLIENT_ID=xxx --env GOOGLE_CLIENT_SECRET=xxx --env GOOGLE_REFRESH_TOKEN=xxx -- npx -y @cocal/google-calendar-mcp
Like Gmail, multiple community Calendar MCP packages exist. The simplest path is to set up one Google Cloud OAuth client that covers both Gmail and Calendar, then install both MCPs with the same credentials. Calendar permissions to grant: calendar.readonly, calendar.events.
The Google Calendar MCP exposes the Calendar API (list events, create events, update events, find free time) as native Claude tool calls. Auth is Google OAuth, ideally shared with your Gmail MCP setup so one consent flow covers both products.
For Yalc operators, Calendar is the scheduling layer. Where Calendly handles inbound booking, the Calendar MCP handles outbound scheduling (creating holds, finding mutual availability, surfacing tomorrow's meetings into a daily briefing). It pairs especially well with workflows that need to coordinate AMs and clients.
The Calendar MCP sits at the **route** node when Yalc workflows need to coordinate humans across time. It pairs with Gmail (warm threads), Slack (team coordination), and Notion (state) to complete the operator surface.
Most useful patterns: morning briefings ("what's on my calendar today and who do I need to prep for"), automated follow-up scheduling ("book a 15 minute hold for Thursday at 3pm and email the prospect"), and capacity planning ("how many meetings do I have next week").
The scheduling node. Yalc reads upcoming events for context, creates events for follow ups, and finds availability across team calendars.
Copy paste prompts for Claude Code that invoke the Google Calendar MCP.
Multiple community packages exist. All work in Claude Code, Claude Desktop, and Cursor. Composio also exposes Google Calendar via their unified MCP URL pattern. Permissions per Google's OAuth model.
Yes. When you create the OAuth client at console.cloud.google.com, request both Gmail and Calendar scopes. Use the same client ID, secret, and refresh token across both MCP installs. Saves one consent flow.
Most Calendar MCP packages expose a "free busy" query that takes multiple email addresses and returns merged availability. Use it before creating mutual events.
Yes for reads. For writes, recurrence rules use Google's RRULE syntax which is non trivial to compose by hand. For complex recurrence, create the event manually and have Claude reference it.
Always pass events in ISO 8601 with explicit time zone (`2026-04-29T15:00:00-04:00`). Reading events returns time zone info in the response. Most bugs come from implicit time zone assumptions.
Yes. Create the event with attendees and a description; Google sends the invite automatically. For richer custom invite text, send a follow up email via the Gmail MCP after creating the event.
They serve different jobs. Calendly is for letting external people book your time. The MCP is for managing your calendar from Claude. Both can coexist on the same Google account.
Drop it into Claude Code and orchestrate from your next Yalc prompt.
claude mcp add google-calendar --env GOOGLE_CLIENT_ID=xxx --env GOOGLE_CLIENT_SECRET=xxx --env GOOGLE_REFRESH_TOKEN=xxx -- npx -y @cocal/google-calendar-mcp