- stdio (default): Direct process communication for Claude Desktop
- HTTP: RESTful API with SSE for remote deployment
OAuth 2.0 with refresh tokens, multi-account support, secure storage in ~/.config/google-calendar-mcp/tokens.json.
src/handlers/core/- Individual tool handlers extendingBaseToolHandlersrc/tools/registry.ts- Auto-registration, schemas (Zod), and type definitions
Client → Transport → Schema Validation → Handler → Google API → Response
The server provides calendar management tools that LLMs can use for calendar operations:
list-calendars- List all available calendarslist-events- List events with date filteringsearch-events- Search events by text queryget-event- Get details of a specific event by IDcreate-event- Create new calendar eventsupdate-event- Update existing eventsdelete-event- Delete eventsrespond-to-event- Accept, decline, or tentatively accept event invitationsget-freebusy- Check availability across calendarslist-colors- List available event colorsget-current-time- Get current system time and timezone informationmanage-accounts- Manage Google account authentication (list, add, remove)
- Auto-registration: Handlers automatically discovered
- Multi-account: Normal/test account support
- Rate limiting: Respects Google Calendar quotas
- Batch operations: Efficient multi-calendar queries
- Recurring events: Advanced modification scopes
- Contextual resources: Real-time date/time information