KS

Keeper.sh

Syncs events between Google, Outlook, iCloud, Fastmail, CalDAV and ICS calendars, and exposes a REST API and MCP server to manage them all.

v2.26.1 · Stable•AGPL-3.0•Since Dec 2025
Overall rating
activity, maturity, stars
5.4
/ 10
GitHub stars
1.4k
Contributors
13
Last commit
10h ago
Project age
10 months

About

Keeper.sh pulls events from Google Calendar, Outlook, iCloud, Fastmail, CalDAV servers and remote iCal or ICS links, then pushes them to one or many destination calendars so time slots line up across all of them. Google, Outlook, iCloud, Fastmail and CalDAV work as both source and destination, while ICS links are pull-only.

It is built for people juggling several calendars at once and for anyone who wants AI agents to manage them through the REST API and MCP server. Deletions are tracked by a mapping row that outlives the event it pointed at, so an event removed at the source still gets cleaned from the destination, and the sweep only ever touches events Keeper.sh created.

Key features

  • Google, Outlook, iCloud, Fastmail and CalDAV each work as a source or a destination

  • Remote iCal and ICS links can be ingested pull-only

  • Incremental syncing on Google and Outlook via provider sync tokens

  • Pushes aggregate events to one or more calendars

  • Per-source privacy controls strip event names, descriptions and locations

  • REST API under /api/v1 with API token authentication

  • MCP server gives AI agents access to your calendars

  • Combined iCal feed you can subscribe to from any calendar app

Requirements

PostgreSQL and Redis, with the same Redis instance shared by the API, cron and worker services. A reverse proxy in front of the keeper-standalone image is the recommended setup. You register your own Google and Microsoft OAuth apps for sign-in. Self-hosting includes every Pro feature, so there are no account or mapping limits.

Ways to run it

  • Docker image: keeper-standalone

  • Docker image: keeper-services

  • Five granular Docker service images

  • Docker Compose for local development

Recent releases