keeper.sh
MCP ServerFreeCalendar sync tool & universal calendar MCP server. Aggregate, sync and control calendars on Google, Outlook, Office 365, iCloud, CalDAV or ICS.
Capabilities12 decomposed
multi-provider calendar aggregation with unified schema
Medium confidenceAggregates 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.
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
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
Medium confidenceExposes 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.
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
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
Medium confidenceExposes 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.
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
Provides real-time event notifications via webhooks, whereas polling-based sync has 1-hour latency by default
calendar export and format conversion
Medium confidenceExports 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.
Implements RFC 5545 compliant ICS export with streaming support for large calendars, supporting multiple output formats (ICS, JSON, CSV) with configurable field selection
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
Medium confidenceManages 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.
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
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
Medium confidenceImplements 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.
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
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
Medium confidenceParses 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.
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
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
Medium confidenceProvides 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.
Implements unified CRUD interface with automatic provider routing and conflict detection, abstracting away provider-specific API differences; includes explicit conflict detection before event creation
Provides conflict detection as a built-in operation, whereas most calendar APIs require separate queries to check for overlaps
recurring event expansion with timezone-aware scheduling
Medium confidenceExpands recurring events (defined via iCalendar RRULE) into individual event instances across a specified date range, handling complex recurrence patterns (daily, weekly, monthly, yearly with exceptions via EXDATE). Applies timezone-aware scheduling to ensure recurring events respect daylight saving time transitions and user timezone preferences. Caches expanded instances to avoid recomputation on repeated queries. Supports RRULE parameters like BYDAY, BYMONTH, BYSETPOS for complex scheduling patterns.
Implements RFC 5545 RRULE expansion with timezone-aware scheduling and DST handling, caching expanded instances to optimize repeated queries; includes EXDATE support for exception handling
Handles timezone-aware recurrence expansion natively, whereas many calendar libraries require manual DST adjustment or don't support complex RRULE patterns
calendar event search and filtering
Medium confidenceProvides full-text search and structured filtering across aggregated calendar events using in-memory indexing or external search backends. Supports filtering by date range, calendar source, attendees, event title/description, and custom properties. Implements efficient query execution by pre-filtering events before full-text search to reduce search space. Returns ranked results with relevance scoring for text queries.
Implements in-memory event indexing with structured filtering and relevance ranking, supporting both simple text queries and complex filter combinations; includes optional external search backend integration
Provides unified search across all calendar sources in a single query, whereas native calendar apps require separate searches in each provider
calendar availability analysis and scheduling suggestions
Medium confidenceAnalyzes aggregated calendar events to compute free time slots, busy periods, and availability patterns. Generates scheduling suggestions by finding common available time slots across multiple attendees' calendars. Implements working hours configuration (e.g., 9-5 Monday-Friday) to filter availability to business hours. Computes metrics like calendar utilization percentage, average meeting duration, and fragmentation (number of meetings per day).
Implements availability analysis with working hours filtering and multi-attendee scheduling suggestions, computing free slots by merging busy periods across calendars; includes calendar utilization metrics
Provides unified availability analysis across all calendar sources, whereas native calendar apps only show availability within a single provider
event synchronization with conflict resolution
Medium confidenceImplements bidirectional event synchronization across multiple calendar providers with conflict resolution when the same event is modified in multiple sources. Uses event UID (unique identifier) and modification timestamps to detect conflicts, applies configurable conflict resolution strategies (last-write-wins, provider-priority, manual review). Maintains a sync log to track which events have been synced and detect orphaned events. Supports incremental sync to avoid re-processing unchanged events.
Implements bidirectional event synchronization with configurable conflict resolution and sync logging, detecting conflicts via event UID and modification timestamps; includes incremental sync to optimize repeated syncs
Provides bidirectional sync with explicit conflict resolution strategies, whereas most calendar aggregators are read-only and don't support writing changes back to source calendars
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 keeper.sh, ranked by overlap. Discovered automatically through the match graph.
MintMCP
** - MCP servers for Google Calendar, Gmail, Outlook Calendar, and Outlook.
Danielpeter-99/calcom-mcp
** - MCP server for [Calcom](https://cal.com/) (Also known as [Cal.com](https://cal.com/)). Manage event types, create bookings, and access Cal.com scheduling data through LLMs.
Nextcloud Calendar
** - CalDAV Nectcloud calendar integration. Manage calendars, events, attendees, etc.
Heymoon.ai
Keep you on top of your calendar, tasks and info
Zapier
** - Connect your AI Agents to 8,000 apps instantly.
Routine
** - MCP server to interact with [Routine](https://routine.co/): calendars, tasks, notes, etc.
Best For
- ✓AI agents and LLM applications requiring cross-calendar visibility
- ✓teams managing calendars across mixed Google Workspace and Microsoft 365 environments
- ✓developers building calendar-aware automation without provider lock-in
- ✓Claude Desktop users building calendar-aware AI workflows
- ✓developers integrating calendar access into Cline or other MCP-compatible agents
- ✓teams using Claude for meeting scheduling and calendar management automation
- ✓real-time calendar synchronization systems
- ✓event-driven architectures that react to calendar changes
Known Limitations
- ⚠Real-time sync depends on provider API rate limits and polling intervals — Google Calendar API has 1000 queries/100 seconds quota
- ⚠CalDAV and ICS sources require manual URL configuration and lack automatic credential refresh
- ⚠Event property mapping is lossy for provider-specific fields (e.g., Google's conferenceData, Microsoft's organizer metadata) not in unified schema
- ⚠Timezone handling relies on iCalendar TZID parsing which may fail for non-standard timezone definitions
- ⚠MCP tool invocation is synchronous — calendar operations block the LLM response until completion
- ⚠No built-in rate limiting or quota management — rapid tool calls can hit provider API limits
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.
Repository Details
Last commit: Apr 10, 2026
About
Calendar sync tool & universal calendar MCP server. Aggregate, sync and control calendars on Google, Outlook, Office 365, iCloud, CalDAV or ICS.
Categories
Alternatives to keeper.sh
Are you the builder of keeper.sh?
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 →