
ridafkih/keeper.sh
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
캘린더 동기화 도구 및 범용 캘린더 MCP 서버. Google, Outlook, Office 365, iCloud, CalDAV 또는 ICS에서 캘린더를 집계, 동기화 및 제어할 수 있습니다.
개요
Keeper는 간단하고 오픈소스 캘린더 동기화 도구입니다. 이 도구는 원격으로 호스팅되는 iCal 또는 ICS 링크에서 이벤트를 가져와, 하나의 또는 여러 개의 캘린더로 푸시하여 시간 슬롯이 모두 일치할 수 있도록 할 수 있습니다. - 원격 소스에서 캘린더 이벤트를 집계 - 이벤트 내용에 구애받지 않는 동기화 엔진 - 하나 이상의 캘린더로 이벤트 집계 푸시 - AI 에이전트 캘린더 접근을 위한 MCP(모델 컨텍스트 프로토콜) 서버 - AGPL-3.0 오픈 소스 - 자가 호스팅 용이성 - 원격 이벤트를 쉽게 정리할 수 있음 버그를 발견하거나 기능에 대한 아이디어가 있으면 GitHub에 문제를 열면 가능한 한 빨리 분류되고 해결됩니다. 고가치 및 고품질 기여를 환영합니다. 대규모 기능 작업을 하기 전에 먼저 문제를 열어 미리 논의해 주시기 바랍니다. 개발 환경은 자동 TLS가 있는 Caddy 리버스 프록시를 사용해 HTTPS https://keeper.localhost 뒤에서 실행됩니다. .localhost TLD는 127.0.0으로 해결됩니다.
개요(AI 번역)
Keeper.sh 는 간단하고 오픈소스 캘린더 동기화 도구입니다. Google 캘린더, Outlook, iCloud, Fastmail, CalDAV 서버 또는 원격으로 호스팅되는 iCal 및 ICS 링크에서 이벤트를 끌어와, 하나의 또는 여러 개의 캘린더로 푸시하여 시간 슬롯이 모두 일치할 수 있도록 할 수 있습니다. Google, Outlook, iCloud, Fastmail, CalDAV는 각각 소스나 목적지로 사용할 수 있는 일류 통합 기능이며, iCal과 ICS 링크는 풀 전용 기능입니다. 또한 글로벌 MCP 서버이자 API 역할을 하여 귀하나 에이전트가 하나의 편리한 인터페이스에서 모든 캘린더를 관리할 수 있습니다.
추천 실행 방법은 keeper.sh 호스팅 버전으로, 서버, 도메인, 업그레이드, 백업, 그리고 사용자가 직접 등록할 구글과 마이크로소프트 로그인 앱을 제외한 동일한 코드입니다. 셀프 호스팅은 일류 경로이며, 셀프 호스팅 시 모든 프로 기능이 포함되어 있습니다 — 이는 체험판이 아니고 사라지지 않을 것입니다. 5달러 대신 유지비가 들 것입니다.
특징
- 일류 구글 캘린더, 아웃룩, 아이클라우드, 패스트메일, CalDAV 통합 기능, 각각 소스 또는 목적지로 사용 가능
- 원격 호스팅 iCal 및 ICS 링크의 풀 전용 인데스
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
README
원문 README의 일부입니다. 원문 보기.
About
Keeper.sh is a simple & open-source calendar syncing tool. It allows you to pull events from your Google Calendar, Outlook, iCloud, Fastmail, CalDAV server, or remotely hosted iCal and ICS links, and push them to one or many calendars so the time slots can align across them all. Google, Outlook, iCloud, Fastmail, and CalDAV are first-class integrations that can each be used as a source or as a destination, while iCal and ICS links are pull-only. It also serves as a global MCP server and API for you or your agents to manage all your calendars from one convenient interface.
The recommended way to run it is the hosted version at keeper.sh: the same code, minus the server, the domain, the upgrades, the backups and the Google and Microsoft sign-in apps you would otherwise register yourself. Self-hosting is a first-class path and every Pro feature is included when you self-host — that is not a trial, and it is not going away. It costs you the upkeep instead of the $5.
Features
- First-class Google Calendar, Outlook, iCloud, Fastmail, and CalDAV integrations, each usable as a source or a destination
- Pull-only ingestion of remotely hosted iCal and ICS links
- Incremental syncing on Google and Outlook using provider sync tokens rather than refetching everything
- Event content agnostic syncing engine
- Push aggregate events to one or more calendars
- Per-source privacy controls to strip event names, descriptions, and locations, replacing the title with a
{{calendar_name}}or{{event_name}}template - REST API under
/api/v1authenticated with API tokens - MCP (Model Context Protocol) server for AI agent calendar access
- Combined iCal feed you can subscribe to from any calendar app
- Open source under AGPL-3.0
- Easy to self-host
- Easy-to-purge remote events
Bug Reports & Feature Requests
If you encounter a bug or have an idea for a feature, you may open an issue on GitHub and it will be triaged and addressed as soon as possible.
Contributing
High-value and high-quality contributions are appreciated. Before working on large features you intend to see merged, please open an issue first to discuss beforehand.
Local Development
The dev environment runs behind HTTPS at https://keeper.localhost using a Caddy reverse proxy with automatic TLS. The .localhost TLD resolves to 127.0.0.1 automatically per RFC 6761 — no /etc/hosts entry is needed.
Prerequisites
Getting Started
bun install
Generate and Trust a Root CA
The dev environment runs behind HTTPS via Caddy. You need to generate a local root certificate authority and trust it so your browser accepts the certificate.
설치
docker run -d \설정
{
"mcpServers": {
"keeper": {
"type": "url",
"url": "https://keeper.example.com/mcp"
}
}
}