Google Calendar MCP Server: Setup and Workflow Guide
How to set up a Google Calendar MCP server for AI scheduling
A Google Calendar MCP server turns your calendar from a passive grid into an active tool that AI can query, modify, and reason about. Instead of switching to a calendar tab to check availability, your AI assistant reads your schedule in real-time, creates events, detects conflicts, and manages invitations — all through standardized MCP tool calls.
The practical outcome: scheduling becomes a conversation, not a workflow. "Find 30 minutes with Sarah next week that does not conflict with my focus blocks" is a query your AI answers instantly instead of a manual visual scan. Google's 2025 Workspace Productivity Report found that knowledge workers spend an average of 4.8 hours per week on scheduling coordination — meetings about meetings, availability checking, and timezone math (Google).
Unlike generic AI automation posts, this guide shows real CodeWords workflows — not just theory. For related MCP setups, see Google Drive MCP server and popular MCP servers.
TL;DR
- A Google Calendar MCP server exposes calendar operations (read events, create events, check availability, manage invitations) to AI assistants via MCP protocol.
- Setup requires Google Cloud credentials with Calendar API enabled, OAuth2 consent, and an MCP server running locally or remotely.
- CodeWords automates calendar-dependent workflows — scheduling, conflict detection, reminders, and cross-calendar coordination — without manual MCP server management.
What operations does a Google Calendar MCP server support?
The server wraps Google Calendar API operations as MCP tools:
Event management - List events (by date range, calendar, or search query) - Create events (with attendees, location, description, reminders) - Update events (reschedule, add attendees, change details) - Delete events - Move events between calendars
Availability and scheduling - Check free/busy status for one or more people - Find available time slots within constraints - Detect scheduling conflicts - Suggest optimal meeting times across timezones
Calendar management - List all calendars (owned and subscribed) - Create new calendars - Update calendar settings - Subscribe to external calendars
Invitation handling - Accept/decline event invitations - Update RSVP status - Send event invitations to new attendees - Read attendee responses
How do you set up the server?
Prerequisites
- Google account with Calendar access
- Google Cloud Console project
- Node.js 18+ or Python 3.10+
- MCP-compatible client
Step 1: Enable Calendar API
In Google Cloud Console: - Select or create a project - Navigate to APIs & Services → Library - Search for "Google Calendar API" and enable it - Also enable "Google People API" if you want attendee name resolution
Step 2: Create OAuth2 credentials
- Go to APIs & Services → Credentials
- Create an OAuth client ID (Desktop application)
- Download
credentials.json - Configure OAuth consent screen with scope:
https://www.googleapis.com/auth/calendar
For read-only access, use: https://www.googleapis.com/auth/calendar.readonly
Step 3: Install the MCP server
Using the Google-provided MCP server:
git clone https://github.com/google/model-context-protocol
cd mcp-servers/google-calendar
npm install
cp credentials.json .
Or use the community calendar-specific server:
npx @anthropic-ai/google-calendar-mcp
Step 4: Authenticate
npm run auth
Authorize in the browser. Tokens store locally. The refresh token handles ongoing access without re-authentication.
Step 5: Configure your MCP client
Claude Desktop configuration:
{
"mcpServers": {
"google-calendar": {
"command": "node",
"args": ["/path/to/google-calendar-mcp/index.js"]
}
}
}
Step 6: Verify
Ask your AI: "What meetings do I have tomorrow?" A successful response confirms the connection.
What real workflows can you build with Calendar MCP?
Smart scheduling assistant
Combine Calendar MCP with an LLM to create an AI scheduling assistant: - Reads your availability preferences (focus time, no meetings before 10 AM, etc.) - Finds optimal slots when someone requests a meeting - Proposes times that respect timezone differences - Creates the event with proper description and video call link
Conflict detection and resolution
- Monitor for double-bookings across multiple calendars
- Alert on conflicts via Slack or email
- Suggest resolution options (reschedule, delegate, decline)
- Automatically resolve based on priority rules
Meeting preparation automation
- 30 minutes before each meeting: gather relevant documents, recent Slack threads, and CRM context
- Generate a briefing note with attendee backgrounds and agenda items
- Save the brief to Google Drive (see Google Drive MCP)
- Post to a dedicated Slack channel
Daily schedule briefing
- Every morning at 7 AM: summarize today's calendar
- Highlight back-to-back meetings with no buffer
- Flag meetings without agendas
- Estimate total meeting load and available focus time
How does CodeWords handle Calendar workflows?
CodeWords integrates with Google Calendar natively through its integrations layer. No MCP server setup required. The platform manages OAuth, token refresh, and API calls.
Tell Cody: "Build a workflow that runs every weekday at 8 AM, reads my calendar for the day, identifies any meeting that starts within 2 hours and has no agenda in the description, then sends me a Slack reminder to add one."
CodeWords generates a scheduled workflow with: - Calendar read step (today's events) - Filter logic (meetings without agendas) - Timing check (within 2 hours) - Slack notification step
Deploy as a serverless microservice. Runs on schedule without management. See templates for pre-built calendar workflows.
For complex calendar automation that spans multiple systems (CRM → availability check → booking → notification → follow-up), CodeWords handles the orchestration while the calendar connection is just one integration among 500+ others.
What are the timezone and multi-calendar challenges?
Timezone handling
Google Calendar API returns events in the calendar's timezone by default. When building scheduling tools across timezones: - Always store and compare in UTC - Convert to user-local timezone only for display - Include timezone in event creation (not just time) - Handle daylight saving transitions explicitly
Multi-calendar access
Users often have multiple calendars (work, personal, project-specific). The MCP server can: - Query all calendars simultaneously for conflict detection - Create events on specific calendars based on event type - Respect per-calendar visibility settings
Shared/team calendars
Accessing team calendars requires the calendar owner to share with the authenticated account. The MCP server inherits whatever permissions the authenticated Google account has.
FAQs
Can the MCP server manage other people's calendars?
Only if you have delegate access. Google Workspace allows calendar delegation (your assistant can manage your calendar). Personal Google accounts do not support this without explicit sharing.
How do I handle recurring events?
Google Calendar API supports recurring event queries. The MCP server can list instances of a recurring event, modify single occurrences ("move this Thursday's standup to 10 AM"), or modify the entire series.
What happens if the token expires while a workflow is running?
The MCP server should handle token refresh transparently. Access tokens expire after 1 hour; refresh tokens last until revoked. If refresh fails, the server returns an auth error that your client should surface. CodeWords handles this automatically with managed auth.
Can I use this for booking/appointment scheduling?
Yes, with limitations. The MCP server can check availability and create events. For customer-facing booking (Calendly-style), you would need additional logic for booking page, confirmation emails, and cancellation handling — all buildable in CodeWords.
From calendar app to scheduling intelligence
Your calendar is data. A Google Calendar MCP server makes that data accessible to AI reasoning. The result is not just automated event creation — it is schedule-aware decision making across every workflow that touches time.
Set up the MCP server for direct AI assistant access. Use CodeWords when calendar operations are steps in larger automated workflows — preparation briefings, scheduling coordination, conflict resolution, and follow-up sequences that span multiple systems and multiple days.
