Calendar access for AI assistants and agents

By Rida F'kih · November 10, 2026

An AI assistant can read and change your calendars through the Keeper.sh MCP server at https://www.keeper.sh/mcp: one sign-in gives it every calendar you have connected, whichever service each one lives on. Keeper.sh is a calendar sync service that copies events between Google Calendar, Outlook, iCloud, Fastmail and any CalDAV server, so every calendar shows you as busy at the same times. It is free for 2 calendar accounts and 3 connections, and Pro is $5 a month for unlimited calendars.

One connection for calendars on different services

Keeper.sh's MCP server reads every calendar account connected to Keeper.sh in one call, using the same connections Keeper.sh holds to sync them. A work Outlook mailbox, a personal Google account and a family iCloud calendar are read together, and each event comes back with the calendar and provider it belongs to. Writes go to the provider that owns the calendar, so an event the assistant creates appears in Google Calendar or Outlook like one you made by hand.

What an assistant can do through Keeper.sh

  • Read a day or a week across every connected calendar at once.
  • Find open time of a given length inside the working hours you name.
  • Book, move and cancel events on the calendar you name.
  • Answer invitations by accepting, declining or marking one tentative. The organiser sees the response.
  • Change what syncs where, or pause one calendar's sync without disconnecting it.
  • Manage links: subscribe to a calendar from its .ics link, and create or change the shareable calendar links Keeper.sh publishes.

The Keeper.sh MCP server documentation lists every tool with its arguments, and what an AI agent can do with your calendar walks through each one with example prompts.

Connecting or removing a Google, Outlook, iCloud, Fastmail or CalDAV account needs your own sign-in, so that happens in the Keeper.sh dashboard.

Connect an assistant

You need a Keeper.sh account with at least one calendar connected. There is no API key to copy: the client registers itself and you approve it in the browser.

  1. Create a Keeper.sh account and connect your calendars from Add a calendar.

  2. Point the MCP client at https://www.keeper.sh/mcp. In Claude Code that is one command:

    claude mcp add --scope user --transport http keeper https://www.keeper.sh/mcp
    
  3. Sign in to Keeper.sh in the browser tab the client opens and choose Allow on the Authorize MCP access screen.

  4. Ask what is on your calendar tomorrow. The assistant should call get_events.

In Claude on the web and Claude Desktop, the same URL goes in as a custom connector. How to give Claude access to your calendar has each menu and the fixes for common connection errors.

For a script or an agent you run yourself, the same operations are available as a REST API under /api/v1. Create a token under Settings > API Tokens; tokens start with kpr_ and are shown once.

The server is an OAuth 2.1 protected resource. The assistant signs in with the authorization code flow and PKCE, and never sees your Keeper.sh password or the passwords of your calendar providers.

The Authorize MCP access screen lists what the client is asking for, and you accept or refuse the list as a whole with Allow or Deny. Access tokens last 30 days and refresh tokens 90 days. To cut an assistant off, remove the Keeper.sh connector in that client. Your calendars and their sync carry on unchanged.

Confirmations and untrusted event text

  • Confirm deletions and RSVPs. Other people see a cancelled meeting or an invitation response, so leave the client's confirmation prompt on for both.
  • Treat event text as untrusted. A description is written by whoever sent the invitation, and an assistant that reads your calendar reads that text too.

Plan limits and price

Each tool call is one API call. A question such as "what is on tomorrow?" is one call. Finding a slot and booking it is three: find the open time, look up the calendar to book on, and create the event.

  • Free: $0 for 2 calendar accounts and 3 connections, with 25 calls a day shared between the REST API and MCP. Past that, calls return 429.
  • Pro: $5 a month or $45 a year for unlimited calendars, with no daily cap on calls (pricing).

On Pro, Google and Outlook changes land within seconds, and iCloud, Fastmail and CalDAV changes land every minute. On Free, changes land every 30 minutes. An event the assistant creates is written to its own calendar straight away on either plan; the plan's speed is how soon the busy block reaches your other calendars.

Changing what a calendar's copies show needs Pro through an assistant, the same as in the dashboard. The calendar sync features page covers those settings.

Giving a human assistant your availability

A person who schedules for you can work from a shareable calendar link. The link shows every event as "Busy" with no title, description or location, and they subscribe to it in their own calendar app. On Pro, a second link can include event titles for the person who needs them. The recipe for sharing your busy times and keeping the details private builds the link.

Common questions about AI assistants and Keeper.sh

Can an AI assistant use Keeper.sh on the Free plan?

Yes. Keeper.sh's Free plan includes the MCP server and REST API with 25 calls a day shared between them. Pro has no daily cap.

Does the assistant see my Google, Microsoft or Apple password?

No. Keeper.sh signs the assistant in over OAuth 2.1 with a consent screen, so the assistant holds a Keeper.sh access token and never a calendar provider's password.

Can one assistant work across Google Calendar, Outlook and iCloud at once?

Yes. Keeper.sh's MCP server reads and writes every calendar account connected to your Keeper.sh account, so one question is answered against all of them.

Do I need an API key to connect an assistant?

No. Keeper.sh's MCP server uses OAuth sign-in with dynamic client registration, so you approve the client in the browser. API tokens are only for calling the REST API yourself.

Which assistants can connect to Keeper.sh?

Keeper.sh works with any client that supports remote MCP servers over HTTP with OAuth, including Claude on the web, Claude Desktop and Claude Code.

Can Keeper.sh use cookies for analytics?