multi-provider calendar aggregation with unified schema
Aggregates calendar events from heterogeneous sources (Google Calendar, Outlook, Office 365, iCloud, CalDAV, ICS) into a single normalized event schema through provider-specific adapters. Each provider implements a standardized interface that translates proprietary event formats (Google's calendar API response structure, Microsoft Graph event objects, iCalendar RFC 5545 format) into a unified internal representation, enabling downstream tools to operate on events without provider-specific branching logic.
Unique: Implements provider-agnostic adapter pattern with RFC 5545 iCalendar as the internal canonical format, allowing CalDAV and ICS sources to be treated as first-class citizens alongside OAuth2 APIs without special-casing; most competitors (Zapier, IFTTT) treat CalDAV as a secondary integration
vs alternatives: Supports self-hosted CalDAV and ICS sources natively without cloud dependency, whereas Zapier and Make.com require paid connectors and don't support local ICS files
mcp-native calendar tool exposure for llm agents
Exposes aggregated calendar operations as MCP (Model Context Protocol) tools that Claude and other LLM clients can invoke directly. Implements the MCP tool schema specification with JSON-RPC 2.0 transport, allowing LLMs to call calendar functions (list events, create event, update event, delete event) with structured arguments and receive typed responses. The MCP server runs as a standalone process that Claude Desktop or Cline can discover and communicate with via stdio or HTTP transport.
Unique: Implements full MCP tool specification with stdio and HTTP transport options, allowing keeper.sh to be discovered and used by Claude Desktop without custom client code; includes schema validation and error handling for malformed tool calls
vs alternatives: Native MCP support means zero integration code required in Claude Desktop (just add to config.json), whereas Zapier and Make.com require custom webhook setup and don't support real-time LLM agent interaction
webhook-based real-time event notifications
Exposes webhook endpoints that receive real-time event change notifications from calendar providers (Google Calendar push notifications, Microsoft Graph change notifications) and processes them to update the aggregated calendar state. Implements webhook signature verification to ensure authenticity, handles webhook retries and exponential backoff for failed deliveries, and maintains a webhook delivery log. Supports filtering notifications by event type (created, updated, deleted) and calendar source.
Unique: Implements provider-agnostic webhook handling with signature verification and delivery logging, supporting both Google Calendar and Microsoft Graph push notifications; includes webhook filtering by event type
vs alternatives: Provides real-time event notifications via webhooks, whereas polling-based sync has 1-hour latency by default
calendar export and format conversion
Exports aggregated calendar events to multiple formats (ICS/iCalendar, JSON, CSV) with configurable filtering and field selection. Implements RFC 5545 compliant ICS generation with proper VEVENT component structure, timezone definitions, and recurrence rules. Supports exporting to file or HTTP response stream. Handles large exports (>100MB) with streaming to avoid memory exhaustion.
Unique: Implements RFC 5545 compliant ICS export with streaming support for large calendars, supporting multiple output formats (ICS, JSON, CSV) with configurable field selection
vs alternatives: Provides streaming export for large calendars without memory exhaustion, whereas most calendar apps load entire calendar into memory before export
oauth2 credential management with secure token storage
Manages OAuth2 authorization flows for Google Calendar and Microsoft Graph (Outlook/Office 365) with automatic token refresh and secure credential persistence. Implements the OAuth2 authorization code flow with PKCE (Proof Key for Code Exchange) for public clients, stores refresh tokens in encrypted local storage or environment variables, and automatically refreshes access tokens before expiration to maintain uninterrupted calendar access. Handles token revocation and re-authorization on credential invalidation.
Unique: Implements PKCE-protected OAuth2 flow with automatic token refresh and provider-agnostic credential abstraction, allowing multiple OAuth2 providers to be managed through a single interface; includes explicit token revocation support
vs alternatives: Handles token refresh automatically without user intervention, whereas manual OAuth2 implementations require developers to track expiration times and implement refresh logic separately
caldav protocol implementation with server discovery
Implements the CalDAV protocol (RFC 4791) for reading and writing calendar events to CalDAV servers (e.g., Nextcloud, Radicale, Fruux). Supports automatic server discovery via DNS SRV records and well-known URIs (.well-known/caldav), handles WebDAV PROPFIND and REPORT operations to enumerate calendars and fetch events, and implements iCalendar serialization/deserialization for event data. Supports both Basic and Digest HTTP authentication for CalDAV server access.
Unique: Implements full CalDAV protocol stack with automatic server discovery via DNS SRV and .well-known URIs, treating CalDAV as a first-class provider alongside OAuth2 APIs; includes WebDAV PROPFIND support for calendar enumeration
vs alternatives: Supports self-hosted CalDAV servers natively without requiring cloud connectors, whereas most calendar aggregators (Fantastical, Outlook) require manual CalDAV URL entry and don't support automatic discovery
ics file parsing and synchronization
Parses iCalendar (ICS) files from local paths or HTTP URLs using RFC 5545 compliant parsing, extracting VEVENT components and normalizing them into the unified event schema. Supports recurring events (RRULE), timezone definitions (VTIMEZONE), and attendee lists (ATTENDEE). Implements periodic polling to detect changes in remote ICS files and sync new/updated events into the aggregated calendar. Handles ICS file encoding variations (UTF-8, ISO-8859-1) and malformed iCalendar data gracefully.
Unique: Implements RFC 5545 compliant ICS parsing with RRULE expansion and VTIMEZONE support, treating ICS files as a first-class calendar source with automatic polling and change detection; most calendar tools treat ICS as a one-time import format
vs alternatives: Supports continuous ICS file synchronization with polling, whereas most calendar applications only support one-time ICS import without change detection
event crud operations with conflict detection
Provides create, read, update, and delete operations for calendar events across all aggregated providers through a unified API. Implements conflict detection by checking for overlapping events before creation/update, validates event properties (required fields, time ranges), and routes operations to the appropriate provider backend. Handles provider-specific constraints (e.g., Google Calendar's 5000 event limit per calendar, Microsoft's attendee limits) and returns detailed error messages for failed operations.
Unique: Implements unified CRUD interface with automatic provider routing and conflict detection, abstracting away provider-specific API differences; includes explicit conflict detection before event creation
vs alternatives: Provides conflict detection as a built-in operation, whereas most calendar APIs require separate queries to check for overlaps
+4 more capabilities