Keeper
Calendar sync tool & universal calendar MCP server. Aggregate, sync and control calendars on Google, Outlook, Office 365, iCloud, CalDAV or ICS.
What is Keeper?
Keeper is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to calendar sync tool & universal calendar mcp server. aggregate, sync and control calendars on google, outlook, office 365, icloud, caldav or ics.
Calendar sync tool & universal calendar MCP server. Aggregate, sync and control calendars on Google, Outlook, Office 365, iCloud, CalDAV or ICS.
This server falls under the Business Applications category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- Calendar sync tool & universal calendar MCP server. Aggregat
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx keeper-shConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Keeper
Keeper is a self-hosted universal calendar synchronization platform and MCP server that aggregates events from Google Calendar, Microsoft Outlook, Office 365, iCloud, CalDAV, and ICS feeds into a single unified interface. Its MCP component exposes three tools — list_calendars, get_events, and get_event_count — allowing AI assistants to query your synchronized calendar data across all connected providers. Organizations and power users deploy it via Docker to gain a single API endpoint for scheduling queries regardless of which calendar services their team members use.
Prerequisites
- Docker and Docker Compose installed
- Bun v1.3.11+ (for local development only)
- PostgreSQL and Redis (bundled in Docker Compose or external instances)
- Google OAuth credentials and/or Microsoft OAuth credentials for calendar provider integrations
- An MCP client such as Claude Desktop or Claude Code
Clone the repository and prepare environment variables
Clone the keeper.sh repo and copy the example environment file. Generate required secrets using openssl.
git clone https://github.com/ridafkih/keeper.sh.git
cd keeper.sh
cp .env.example .env
# Generate required secrets
export BETTER_AUTH_SECRET=$(openssl rand -base64 32)
export ENCRYPTION_KEY=$(openssl rand -base64 32)Configure environment variables
Edit your .env file with the generated secrets and your database/Redis connection strings. Add OAuth credentials for any calendar providers you want to integrate.
# Required
BETTER_AUTH_SECRET=<generated above>
ENCRYPTION_KEY=<generated above>
DATABASE_URL=postgres://user:pass@localhost:5432/keeper
REDIS_URL=redis://localhost:6379
BETTER_AUTH_URL=https://keeper.yourdomain.com
# Optional: Google Calendar
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
# Optional: Microsoft Outlook / Office 365
MICROSOFT_CLIENT_ID=your_microsoft_client_id
MICROSOFT_CLIENT_SECRET=your_microsoft_client_secret
# MCP server
MCP_PUBLIC_URL=https://keeper.yourdomain.com/mcp
MCP_PORT=3002Start with Docker Compose
Use the standalone Docker image for the simplest deployment, or Docker Compose for a full multi-service setup including PostgreSQL and Redis.
# Standalone (easiest)
docker run -d -p 80:80 -v keeper-data:/var/lib/postgresql/data \
--env-file .env ghcr.io/ridafkih/keeper-standalone:2.11
# Or multi-service
docker compose up -dConnect your calendars
Open the Keeper web UI at your configured URL, sign in, and connect your Google, Microsoft, iCloud, or CalDAV calendar accounts. Keeper will sync and aggregate events from all providers.
Configure your MCP client
Point your MCP client to the Keeper MCP endpoint. Because Keeper uses HTTP transport, use mcp-remote or a native HTTP transport if your client supports it.
{
"mcpServers": {
"keeper": {
"command": "npx",
"args": ["mcp-remote", "https://keeper.yourdomain.com/mcp"]
}
}
}Keeper Examples
Client configuration
MCP client configuration connecting to a self-hosted Keeper instance via mcp-remote.
{
"mcpServers": {
"keeper": {
"command": "npx",
"args": ["mcp-remote", "https://keeper.yourdomain.com/mcp"]
}
}
}Prompts to try
Example prompts that use Keeper's list_calendars, get_events, and get_event_count MCP tools.
- "List all my connected calendars and their providers"
- "What meetings do I have this week across all my calendars?"
- "Get all events between 2026-06-13T00:00:00Z and 2026-06-20T23:59:59Z in America/New_York timezone"
- "How many total events are synced in my Keeper instance?"
- "Do I have any conflicts on Friday between my Google Calendar and Outlook calendar?"Troubleshooting Keeper
Google or Microsoft OAuth redirects fail during calendar connection
Set TRUSTED_ORIGINS in your .env file to include the domain from which you are accessing Keeper (e.g., TRUSTED_ORIGINS=https://keeper.yourdomain.com). Also verify your OAuth redirect URIs in Google Cloud Console or Azure AD match your BETTER_AUTH_URL.
MCP tools return empty results even after calendar sync
Check that WORKER_JOB_QUEUE_ENABLED is set to 'true' and the worker container is running. Calendar sync is handled asynchronously by the worker process — events will not appear until the initial sync job completes.
Database connection errors on startup
Ensure PostgreSQL is running and the DATABASE_URL format is correct (postgres://user:password@host:port/dbname). For Docker Compose setups, confirm the database service name matches what is in DATABASE_URL.
Frequently Asked Questions about Keeper
What is Keeper?
Keeper is a Model Context Protocol (MCP) server that calendar sync tool & universal calendar mcp server. aggregate, sync and control calendars on google, outlook, office 365, icloud, caldav or ics. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Keeper?
Follow the installation instructions on the Keeper GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with Keeper?
Keeper works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Keeper free to use?
Yes, Keeper is open source and available under the AGPL-3.0 license. You can use it freely in both personal and commercial projects.
Keeper Alternatives — Similar Business Applications Servers
Looking for alternatives to Keeper? Here are other popular business applications servers you can use with Claude, Cursor, and VS Code.
n8n
★ 189.1kA comprehensive MCP server that provides full control over n8n automation workflows through natural language. It offers 43 tools for managing workflows, executions, credentials, and data tables, with safety features like write-mode protection and dou
LobeHub
★ 77.5k🤯 LobeHub is your Chief Agent Operator, organizing your agents into 7×24 operations by hiring, scheduling, and reporting on your entire AI team.
Jeecgboot
★ 46.4kAI 低代码平台,「低代码 + 零代码」双模式驱动:低代码一键生成前后端代码,零代码 5 分钟搭建系统,AI Skills 一句话画流程、设计表单、生成整套系统。内置 AI聊天、知识库、流程编排、MCP插件等,兼容主流大模型。引领「AI 生成 → 在线配置 → 代码生成 → 手工合并->AI修改」开发模式,消除 Java 项目 80% 的重复工作,提效而不失灵活。
CowAgent
★ 44.7kCowAgent (chatgpt-on-wechat) 是基于大模型的超级AI助理,能主动思考和任务规划、访问操作系统和外部资源、创造和执行Skills、通过长期记忆和知识库不断成长,比OpenClaw更轻量和便捷。同时支持微信、飞书、钉钉、企微、QQ、公众号、网页等接入,可选择DeepSeek/OpenAI/Claude/Gemini/ MiniMax/Qwen/GLM/LinkAI,能处理文本、语音、图片和文件,可快速搭建个人AI助理和企业数字员工。
Minds Platform
★ 39.2kPlatform dedicated to building an open foundation for applied Artificial Intelligence, designed for people seeking production-ready AI systems they can truly control, extend and deploy anywhere.
Astrbot
★ 32.8kAI Agent Assistant & development framework that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨
Browse More Business Applications MCP Servers
Explore all business applications servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Keeper in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Keeper?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.