- 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 system discovers and registers handlerssrc/schemas/- Input validation 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 querycreate-event- Create new calendar eventsupdate-event- Update existing eventsdelete-event- Delete eventsget-freebusy- Check availability across calendarslist-colors- List available event colorsget-current-time- Get current system time and timezone information
- 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