
Keeper.sh MCP Server: Calendar Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor and other assistants read and book events and find free time across all your calendars connected to Keeper.sh.
Keeper.sh is an open-source calendar sync tool, and its MCP server gives your assistant one view over Google, Outlook, iCloud, Fastmail, CalDAV and iCal calendars you have already connected there. You sign in with your Keeper.sh account in the browser, with no key to paste.
You need a Keeper.sh account with at least one calendar connected. The project's skill file says the free plan allows 25 MCP and API requests a day, and Pro is uncapped.
Good for
- People with work and personal calendars on different services
- Anyone who wants an assistant to find a free slot across all calendars
- Self-hosters who run their own Keeper.sh
Works in
14 should work
Tap an app to see how to set it up and any known problems.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Install Keeper.sh MCP
Claude Code
- 1
Copy this prompt.
Add the Keeper.sh MCP server to Claude Code. Run this command: claude mcp add --transport http keeper-sh https://www.keeper.sh/mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Sign-in with the vendor account (OAuth).
Built from the package data we hold. Not yet tested by us.
Tools
Lists your connected calendars
Returns every calendar connected to your Keeper.sh account with its provider and account.
Try: “Which calendars do I have connected?”
Network ·
list_calendarsLists your calendar accounts
Returns the connected calendar accounts and their providers, such as Google, Outlook or iCloud.
Try: “Which calendar accounts are linked?”
Network ·
list_accountsShows events in a date range
Returns events between two dates, with times shown in the time zone you give.
Try: “What is on my calendar next week?”
Network ·
get_eventsShows one event
Returns a single event by its ID.
Try: “Show me the details of that event.”
Network ·
get_eventCounts events
Returns how many events you have, optionally within a date range.
Try: “How many meetings do I have this month?”
Network ·
get_event_countLists invites you have not answered
Returns event invitations on one calendar that have no reply yet in a date range.
Try: “Which invites am I still waiting to answer?”
Network ·
get_pending_invitesFinds open slots across all calendars
Looks across every synced calendar for gaps of at least the length you ask for. Busy, out-of-office and all-day events block time. Free and working-elsewhere events do not.
Try: “Find a free 45-minute slot this week, weekdays 9 to 5.”
Network ·
find_free_timeGives your iCal feed address
Returns the iCal feed URL you can subscribe to in other calendar apps.
Try: “What is my iCal feed link?”
Network ·
get_ical_feedAdds an event
Creates an event on a connected calendar from a calendar ID, title, start and end time. A time zone makes it show correctly on iCloud and Fastmail.
Try: “Book lunch with Sam on Friday at noon.”
Write ·
create_eventChanges an event
Updates an existing event. Only the fields you give are changed.
Try: “Move my 3pm meeting to 4pm.”
Write ·
update_eventDeletes an event
Deletes a calendar event by its ID.
Try: “Cancel the Friday standup.”
Delete ·
delete_eventReplies to an invitation
Answers an invitation as accepted, declined or tentative.
Try: “Accept the Monday planning invite.”
Write ·
rsvp_eventStarts a sync now
Clears the retry delay on your sources so they are checked on the next pass, and queues a push to every destination calendar. Limited to one request a minute.
Try: “Sync my calendars now.”
Write ·
trigger_syncPauses or resumes sync for a calendar
Stops one calendar from being read or written to by Keeper.sh, or turns it back on. Stored events are kept.
Try: “Pause syncing for my work calendar.”
Write ·
pause_sync
Read from the source code
Permissions
high risk · 4 things to watch
High risk
The assistant can create, change, answer and delete events on every calendar you have connected. Ask it to confirm before it deletes or edits, and disconnect it in Keeper.sh if you stop using it.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can delete and change your events
delete_event removes events, and update_event and rsvp_event change them, on any connected calendar. There is no read-only mode, so approve each such step by hand. github.com
It reads every calendar you synced
Titles, times and invite status from all connected accounts can reach your assistant. The project says guest lists are never copied to another calendar. github.com
An API token is an alternative sign-in
Keeper.sh also accepts a kpr_ API token from Settings, API Tokens. Treat it like a password because it reaches the same calendars. keeper.sh
Free plan has a daily request cap
The project's skill file lists 25 shared MCP and API requests a day on Free. github.com
Security advisories
No published security advisories for the MCP server as of Nov 1, 2026.
2 other advisories are about the wider keeper.sh project, not this MCP server. See them on GitHub
Technical details
| Talks to | www.keeper.sh |
|---|---|
| Sign-in and keys | OAuth 2.1 sign-in with your Keeper.sh account. Access tokens last 30 days and refresh tokens 90 days, per the vendor docs. |
Questions
Is the Keeper.sh MCP server official?
Yes. It is built into Keeper.sh itself, from the ridafkih/keeper.sh repo, and hosted by the project at keeper.sh.
What is the Keeper.sh MCP server URL?
https://www.keeper.sh/mcp. Use the address with www, because keeper.sh without it redirects there.
Does it need an API key?
No. The default is browser sign-in with OAuth, and clients register themselves. You can instead use a kpr_ API token made in the dashboard under Settings, API Tokens.
Is it free?
There is a free plan. Keeper.sh's pricing page lists Pro at $5 a month or $45 a year, and the project's skill file says Free is limited to 25 MCP and API requests a day. Check the pricing page for current prices before you pay.
Can it delete events?
Yes. It has a delete_event tool, and update_event and rsvp_event change events. Ask the assistant to confirm before it makes changes.
Can I self-host it?
Yes. The README describes running the API, web, MCP, cron and worker services with Docker Compose. Then your own address replaces the hosted one.
How do I add it to Claude?
Use the install box above, pick your app and follow the browser sign-in when it asks.
Information
updated Nov 2, 2026
- Publisher
- Official
- Endpoint
https://keeper.sh/mcp- Transport
- Streamable HTTP
- Auth
- OAuth
- Version
- 1.0.0
- License
- AGPL-3.0
- Last commit
- Oct 31, 2026
- Open issues
- 123
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 5Hide
- mcp · keeper.sh
- README.md · github.com
- toolset.ts · github.com
- SKILL.md · github.com
- Pricing - Keeper.sh · keeper.sh