Operations · MCP server

Google Calendar MCP and the Yalc Framework

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.

Yalc Fit Score
7/10
Auth
Google OAuth
Maintainer
Community
Tools
Read + create + update events
Last reviewed
2026-04-29
Install

Add Google Calendar to Claude Code in one command

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.

What it does

Google Calendar, plainly

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.

Where it slots in

Position in the GTM operating system

Intake
Enrich
Score
Route
Draft
Send
Listen

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 Yalc Framework

Deploying the Google Calendar MCP inside Yalc workflows

Workflow position

The scheduling node. Yalc reads upcoming events for context, creates events for follow ups, and finds availability across team calendars.

Prompt patterns

Copy paste prompts for Claude Code that invoke the Google Calendar MCP.

Yalc, give me a morning briefing for today. List every meeting on my calendar, surface 2 prep notes per meeting based on past Gmail threads with the attendees, post to Slack #my-day. → Yalc reads Calendar + Gmail + posts to Slack via three MCPs in one prompt.
Yalc, find a 30 minute window next week when both me and Jane are free, create an event titled "Q3 GTM sync", and send a calendar invite via Gmail. → Yalc queries Calendar free/busy across two accounts, picks a slot, creates the event.
Yalc, for every meeting on my calendar this week labeled "discovery", pre fill a Notion page in the Discoveries DB with attendee context, prior touchpoints, and an agenda outline. → Yalc reads Calendar, joins with Notion CRM, creates structured prep pages.

Chaining recommendations

UpstreamYalc prompt → Calendar MCP (read or create event)
DownstreamCalendar event → Gmail (invite) or Slack (notification) or Notion (prep page)

Anti patterns to avoid

Don't create events without an attendee list. The MCP can create solo holds (which is fine) but missing attendees on a meeting event is usually a mistake.
Don't auto move other people's calendar events. The MCP can update events you own, but mutating someone else's calendar without their consent will trigger trust issues fast.
Don't pull every event for context analysis. Filter by time window (today, this week, next 14 days). Calendar APIs are paginated; large pulls hit rate limits.

Compatibility

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.

Operator take

Pros, cons, who it's for

Pros

  • Pairs cleanly with Gmail MCP using the same OAuth client.
  • Read and write event coverage. Find free time queries across multiple calendars.
  • Free to use within Google's API quotas (very generous for personal use).
  • Works with both personal Google accounts and Workspace accounts.

Cons

  • Multiple competing packages. Picking one is a small but real decision.
  • OAuth setup requires a Google Cloud project. Friction the first time.
  • Workspace admins may restrict third party OAuth consent. Get IT approval before deploying for a team.
  • Time zone handling is famously messy. Always pass and store events in ISO 8601 with explicit time zone.

Who it's for

  • Founders who treat their calendar as a productivity surface, not just a record
  • Account managers coordinating across multiple client calendars
  • Anyone who wants meeting prep automated by Claude
Related

The Google Calendar ecosystem inside Yalc

Alternatives

MCPs to consider instead

FAQ

Frequently asked

Can I use the same OAuth client for Gmail and Calendar MCPs?

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.

How do I find mutual free time across multiple calendars?

Most Calendar MCP packages expose a "free busy" query that takes multiple email addresses and returns merged availability. Use it before creating mutual events.

Does the MCP handle recurring 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.

What about time zones?

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.

Can the MCP send invites with custom messages?

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.

Is this MCP necessary if I have Calendly?

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.

Install the Google Calendar MCP

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