Google Calendar MCP Server
MCP ServerFreeCreate, search, and manage Google Calendar events via MCP.
Capabilities12 decomposed
oauth2-authenticated google calendar api bridge via mcp protocol
Medium confidenceImplements a stateful OAuth2 authentication system that spawns a temporary HTTP server (runAuthServer() in src/auth-server.ts) to handle Google's authorization flow, persists tokens to the user's config directory, and automatically refreshes credentials during tool execution. The MCP protocol layer translates all calendar operations into standardized tool definitions with Zod-validated JSON schemas, enabling AI assistants to invoke calendar functions through a unified interface without direct API knowledge.
Uses MCP protocol's standardized tool registry pattern (BaseToolHandler + ToolRegistry.getTools()) combined with Zod schema validation to automatically generate JSON schemas from TypeScript types, eliminating manual schema maintenance and enabling type-safe tool invocation across multiple transport modes (stdio and HTTP)
More secure than direct API key storage and more flexible than hardcoded OAuth flows because it abstracts authentication into a reusable MCP component that works across Claude Desktop, Docker, and custom clients without code changes
multi-transport mcp server deployment (stdio and http modes)
Medium confidenceProvides dual transport layer implementation where the main() function in src/index.ts routes between stdio mode (for local clients like Claude Desktop using process communication) and HTTP mode (for remote deployment with REST endpoints and Server-Sent Events). This architecture enables the same tool registry and authentication system to serve both local and distributed clients without modification, with deployment configuration managed via --transport CLI argument and docker-compose.yml for containerized setups.
Abstracts transport layer through MCP SDK's built-in transport handlers, allowing identical tool registry and authentication logic to work across stdio and HTTP without conditional branching in business logic — transport selection is purely a configuration concern in main()
More flexible than single-transport MCP servers because it supports both local (Claude Desktop) and remote (Docker/Kubernetes) deployment from one codebase, whereas most community MCP servers are hardcoded to stdio mode
timezone-aware event scheduling with automatic conversion
Medium confidenceHandles timezone-aware event creation by accepting RFC 3339 timestamps (which include timezone information) and automatically converting them to the user's calendar timezone. The system stores events in Google Calendar with timezone metadata, enabling correct display across different timezones and preventing scheduling errors when users or attendees are in different regions. Event times are returned in RFC 3339 format with timezone information, enabling AI assistants to display times correctly to users in any timezone.
Leverages RFC 3339 timestamp format to embed timezone information directly in event times, eliminating the need for separate timezone parameters and enabling automatic conversion to user's calendar timezone
More robust than manual timezone conversion because it relies on RFC 3339's standardized timezone representation, whereas manual conversion logic is error-prone and doesn't account for daylight saving time transitions
docker deployment with http transport and environment-based configuration
Medium confidenceSupports Docker containerization via docker-compose.yml that runs the MCP server in HTTP mode with environment variable configuration for OAuth credentials and port binding. The Docker setup enables remote deployment of the MCP server with automatic container orchestration, health checks, and volume mounting for persistent token storage. HTTP transport allows multiple remote clients to connect via REST endpoints and Server-Sent Events.
Provides docker-compose.yml template with HTTP transport and environment-based configuration, enabling one-command remote deployment without manual Docker setup
Simpler than manual Docker configuration by providing a template, reducing deployment friction for cloud environments
registry-based tool definition generation with zod schema validation
Medium confidenceImplements a tool registry pattern (ToolRegistry class in src/tools/registry.ts) where each calendar operation extends BaseToolHandler and declares its input schema using Zod validators. The ToolRegistry.getTools() method introspects these Zod schemas at runtime to generate MCP-compatible JSON schema definitions, ensuring type safety between the AI assistant's tool invocation and the handler's execution logic. This eliminates manual schema maintenance and enables automatic validation of tool inputs before execution.
Uses Zod's runtime schema introspection to automatically derive MCP JSON schemas from TypeScript type definitions, creating a single source of truth for both validation and schema generation — eliminates the dual-maintenance problem of keeping TypeScript types and JSON schemas in sync
More maintainable than manually-written JSON schemas because schema changes in Zod automatically propagate to MCP definitions, whereas competing MCP servers often maintain separate TypeScript types and JSON schema files that drift out of sync
event creation and updating with conflict detection and attendee management
Medium confidenceProvides structured event management through handler classes that accept Zod-validated inputs (title, start/end times, description, attendees, reminders) and execute Google Calendar API calls to create or update events. The implementation includes intelligent conflict detection that queries existing events in the target calendar to warn about scheduling overlaps, and supports multi-attendee management with RSVP status tracking. Recurring event handling is managed through Google Calendar's recurrence rule (RRULE) format, enabling complex repeat patterns without custom scheduling logic.
Implements conflict detection by querying the target calendar's event list before creation, comparing time ranges to identify overlaps, and surfacing warnings to the AI assistant — this enables the LLM to make informed scheduling decisions rather than blindly creating conflicting events
More intelligent than basic event creation APIs because it provides conflict awareness and attendee management in a single tool, whereas raw Google Calendar API requires separate queries and manual conflict resolution logic
calendar enumeration and event search with date range filtering
Medium confidenceExposes list-calendars and search-events tools that query the Google Calendar API to enumerate all calendars accessible to the authenticated user and retrieve events within specified date ranges. The search-events tool accepts start and end timestamps (RFC 3339 format) and returns matching events with full details (title, time, attendees, description). This enables AI assistants to understand the user's calendar landscape and retrieve relevant events for decision-making without loading the entire calendar history.
Separates calendar discovery (list-calendars) from event retrieval (search-events) into distinct tools with independent schemas, allowing AI assistants to first understand available calendars before querying events — this two-step pattern prevents errors from invalid calendar IDs and enables context-aware scheduling
More discoverable than raw Google Calendar API because it exposes calendar enumeration as a separate tool, whereas most calendar integrations require users to manually specify calendar IDs
reminder and notification configuration with flexible timing options
Medium confidenceSupports reminder management through event creation/update tools that accept reminder specifications (time before event, notification type). Reminders are stored in Google Calendar's reminder system and delivered via email or popup notifications based on user preferences. The implementation accepts reminder times in minutes before the event (e.g., 15 minutes, 1 day = 1440 minutes) and maps them to Google Calendar's notification API format, enabling AI assistants to set up notifications without understanding Google's internal reminder schema.
Abstracts Google Calendar's reminder API by accepting human-readable time intervals (minutes before event) and automatically converting to Google's notification format, hiding the complexity of Google's reminder schema from the AI assistant
More user-friendly than raw Google Calendar API because it accepts intuitive time intervals (e.g., '15 minutes before') instead of requiring knowledge of Google's notification type enums and delivery mechanisms
recurring event handling with rrule format support
Medium confidenceImplements recurring event creation and management by accepting recurrence rules in RFC 5545 RRULE format (e.g., 'FREQ=WEEKLY;BYDAY=MO,WE,FR') and passing them directly to Google Calendar's API. The system handles complex recurrence patterns including frequency (daily, weekly, monthly, yearly), day-of-week constraints, interval counts, and end dates. Modifications to recurring events are managed through Google Calendar's instance-level updates, enabling changes to specific occurrences without affecting the entire series.
Delegates recurrence logic entirely to Google Calendar's RRULE implementation rather than implementing custom scheduling logic, reducing maintenance burden and ensuring compatibility with Google Calendar's native recurrence features
More powerful than simple repeat-count scheduling because it supports RFC 5545 RRULE standard, enabling complex patterns like 'every 2 weeks on Monday and Friday' that would require custom logic in simpler systems
attendee invitation and rsvp status tracking
Medium confidenceManages event attendees through event creation and update tools that accept attendee email lists and track RSVP responses from Google Calendar's attendee system. When events are created or updated with attendees, Google Calendar automatically sends invitations and tracks responses (accepted, declined, tentative, no response). The system exposes attendee lists in event details, enabling AI assistants to understand who has accepted meetings and who hasn't responded. Attendee management is handled through Google Calendar's native attendee API without custom RSVP logic.
Integrates attendee management directly into event creation/update tools rather than exposing separate attendee APIs, simplifying the AI assistant's workflow — attendees are specified once during event creation and RSVP status is automatically tracked by Google Calendar
More integrated than raw Google Calendar API because attendee invitations and RSVP tracking are bundled into single event operations, whereas manual API usage requires separate attendee list management and polling for RSVP responses
event deletion with cascading effects on recurring series
Medium confidenceProvides event deletion capability through a delete-event tool that removes events from Google Calendar. For recurring events, the tool supports three deletion modes: delete single instance, delete this and all future instances, or delete entire series. The implementation handles Google Calendar's instance-level deletion semantics, where deleting a single occurrence of a recurring event creates an exception in the series rather than removing the entire series. This enables precise control over recurring event modifications without unintended side effects.
Exposes Google Calendar's instance-level deletion semantics through a single delete-event tool with mode selection, enabling precise control over recurring event modifications without requiring separate API calls for each deletion type
More flexible than simple event deletion because it supports partial deletion of recurring series (single instance or future instances) rather than all-or-nothing deletion, matching Google Calendar's native behavior
event description and metadata enrichment with structured formatting
Medium confidenceSupports rich event descriptions through event creation and update tools that accept formatted text descriptions, enabling AI assistants to include meeting agendas, notes, links, and other contextual information. The system stores descriptions as plain text or formatted strings in Google Calendar's event description field, with utility functions in src/tools/events/utils.ts handling formatting and parsing. Event metadata (title, location, description) is returned in search results, enabling AI assistants to provide detailed event information to users.
Provides utility functions in src/tools/events/utils.ts for formatting and parsing event descriptions, enabling consistent metadata handling across all event operations without duplicating formatting logic in individual tool handlers
More useful than bare event creation because it enables AI assistants to capture meeting context (agendas, notes, links) in event descriptions, whereas raw Google Calendar API treats descriptions as opaque text fields
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with Google Calendar MCP Server, ranked by overlap. Discovered automatically through the match graph.
schedjoules-public-calendars
MCP server: schedjoules-public-calendars
MintMCP
** - MCP servers for Google Calendar, Gmail, Outlook Calendar, and Outlook.
google_calendarmcp
MCP server: google_calendarmcp
gcal-mcp
MCP server: gcal-mcp
CalDAV MCP
** - A CalDAV MCP server to expose calendar operations as tools for AI assistants.
mcp-use
Opinionated MCP Framework for TypeScript (@modelcontextprotocol/sdk compatible) - Build MCP Agents, Clients and Servers with support for ChatGPT Apps, Code Mode, OAuth, Notifications, Sampling, Observability and more.
Best For
- ✓AI assistant developers integrating Google Calendar into Claude Desktop or custom MCP clients
- ✓Teams deploying calendar automation that requires OAuth2 compliance and token lifecycle management
- ✓Solo developers building LLM agents that need persistent, secure Google Calendar access
- ✓Teams deploying MCP servers across multiple environments (local development, Docker, Kubernetes)
- ✓Developers building custom MCP clients that need HTTP endpoints instead of stdio
- ✓Organizations requiring remote calendar automation with centralized MCP server infrastructure
- ✓Distributed teams scheduling meetings across multiple timezones
- ✓Personal assistants that work with users in different regions
Known Limitations
- ⚠Tokens are persisted to local filesystem in user's config directory — requires secure OS-level file permissions
- ⚠OAuth2 flow requires interactive browser redirect during initial setup — cannot be fully automated in headless environments
- ⚠Token refresh happens synchronously during tool execution, adding latency if tokens are near expiration
- ⚠HTTP mode requires additional network configuration and firewall rules — not suitable for air-gapped environments
- ⚠stdio mode is single-client only — cannot serve multiple concurrent Claude Desktop instances from one process
- ⚠Server-Sent Events in HTTP mode have no built-in reconnection logic — client must handle connection drops
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
About
Community MCP server for Google Calendar integration. Enables listing calendars, creating and updating events, searching events by date range, and managing attendees and reminders programmatically.
Categories
Alternatives to Google Calendar MCP Server
Search the Supabase docs for up-to-date guidance and troubleshoot errors quickly. Manage organizations, projects, databases, and Edge Functions, including migrations, SQL, logs, advisors, keys, and type generation, in one flow. Create and manage development branches to iterate safely, confirm costs
Compare →AI-optimized web search and content extraction via Tavily MCP.
Compare →Scrape websites and extract structured data via Firecrawl MCP.
Compare →Are you the builder of Google Calendar MCP Server?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →