How to give Claude access to your calendar with MCP

By Rida F'kih · August 14, 2026 · Updated November 10, 2026

To give Claude access to your calendar, connect it to Keeper.sh, a calendar sync service, through its MCP server at https://www.keeper.sh/mcp: add that URL as a custom connector in Claude or Claude Desktop, or run claude mcp add --transport http keeper https://www.keeper.sh/mcp in Claude Code. You approve access once in the browser over OAuth 2.1, so there is no API key to copy. Claude can then read and change events on every calendar linked to your Keeper.sh account, including Google Calendar, Outlook, iCloud, Fastmail and CalDAV.

Connect Keeper.sh as a custom connector in Claude and Claude Desktop

In Claude on the web and in Claude Desktop, Keeper.sh is added as a custom connector from Customize > Connectors, and the browser handles sign-in. You need a Keeper.sh account with at least one calendar linked first.

  1. Open Customize > Connectors and choose + Add, then Add custom connector.
  2. Name it Keeper.sh and paste https://www.keeper.sh/mcp as the remote MCP server URL, then continue.
  3. Keep the sign-in settings Claude detects. If it asks how to identify itself, Register automatically works, because Keeper.sh accepts dynamic client registration. Leave the own-OAuth-client fields and request headers empty.
  4. Click Add, then sign in to Keeper.sh in the browser tab that opens and click Allow on the Authorize MCP access screen.
  5. In a chat, open + > Connectors, turn Keeper.sh on and ask what is on your calendar tomorrow.

Anthropic's custom connector guide lists the same menus (checked 10 November 2026). Custom connectors work on the Free, Pro, Max, Ultra, Team and Enterprise plans, and Free is limited to one. On Team and Enterprise, an Owner adds the connector under Organization settings > Connectors before members can sign in. Do not edit claude_desktop_config.json; that file is for local servers.

Connect Keeper.sh to Claude Code

In Claude Code, register the server over HTTP with one command and sign in once with claude mcp login or /mcp. The --scope user flag makes Keeper.sh available in every project instead of only the current one.

claude mcp add --scope user --transport http keeper https://www.keeper.sh/mcp
claude mcp login keeper

claude mcp login opens the browser for the same Keeper.sh consent screen. Inside a session you can run /mcp instead, pick keeper and authenticate there. Add --no-browser to the login command on a remote machine and paste the redirect URL back when prompted.

To share the server with a team through version control, put it in .mcp.json at the project root. The type must be http, because Claude Code reads an entry without a type as a local command:

{
  "mcpServers": {
    "keeper": {
      "type": "http",
      "url": "https://www.keeper.sh/mcp"
    }
  }
}

Each teammate still signs in with their own Keeper.sh account. Do not add an Authorization header or token: OAuth replaces both. Claude Code's MCP documentation covers the scopes and file locations (checked 10 November 2026), and claude mcp logout keeper clears the stored sign-in.

The Authorize MCP access screen lists every permission Claude is asking for, and you grant or refuse them together with Allow or Deny. There is no per-permission toggle on the screen.

Clients register with every Keeper.sh scope by default, so the list Claude shows usually includes these entries:

  • Read your Keeper.sh data, which every tool call requires.
  • Create, edit and delete your events, and pause or trigger syncing.
  • View your calendar events, sources, sync destinations, source-destination mappings and sync status.
  • Stay connected when you're away, which lets Claude refresh its access without sending you back through consent.

Claude signs in with the authorization code flow and PKCE, and never sees your password or your calendar providers' passwords. Access tokens last 30 days and refresh tokens 90 days. To cut Claude off, remove the connector under Customize > Connectors in Claude, or run claude mcp remove keeper in Claude Code. Your calendars and Keeper.sh's sync carry on unchanged. The full scope reference is in the Keeper.sh MCP server documentation.

What Claude can do with your calendars once connected

Once connected, Claude works across all your linked calendars through 27 tools: it can read events in a date range, find open time, create, edit and delete events, answer invitations, pause or trigger a sync, choose which calendar copies into which and what the copies show, and manage calendar links. Writes go to the provider that owns the calendar, so an event Claude creates appears in Google Calendar or Outlook exactly like one you made by hand.

Claude sees one merged view of a work Outlook account, a personal Google account and a family iCloud calendar, so a question such as "when am I free on Thursday" is answered against all of them at once, and Keeper.sh keeps copying busy time between them as usual (calendar sync features).

Keeper.sh's April 2026 launch note for the Claude connector describes its read-only start; the same release added creating, editing, deleting and answering events. For example requests, see what an AI agent can do with your calendar, and for every tool and its inputs, the Keeper.sh MCP server documentation.

Google-only alternatives: Claude's connector, Google's MCP server and nspady

If every calendar you use is a Google Calendar, three Google-only options exist, and none of them reads Outlook, iCloud, Fastmail or CalDAV calendars.

OptionCalendarsCan create or change eventsSetup
Keeper.sh MCP serverGoogle Calendar, Outlook, iCloud, Fastmail and CalDAVYesOne URL and a browser sign-in
Claude's Google Calendar connectorOne Google accountNo, read-onlyConnect in Customize > Connectors on Pro, Max, Ultra, Team or Enterprise
Google's Calendar MCP serverGoogle CalendarYesGoogle Cloud project, two APIs and an OAuth client
nspady google-calendar-mcpOne or more Google accountsYesRuns locally with your own Google OAuth credentials

Claude's built-in Google Calendar connector answers questions about meetings and availability but cannot create, edit or delete events (checked 10 November 2026). Google's Calendar MCP server is a Developer Preview at https://calendarmcp.googleapis.com/mcp/v1, and it needs the Calendar API and Calendar MCP API enabled in a Google Cloud project (checked 10 November 2026). The nspady/google-calendar-mcp server runs locally with npx @cocal/google-calendar-mcp and a Desktop-app OAuth client, and its tokens expire after 7 days while the Google app stays in test mode (checked 10 November 2026).

Keeper.sh plan limits for Claude and MCP calls

Claude's calls to Keeper.sh count against the same daily allowance as the REST API, so the plan decides how many questions Claude can ask in a day.

  • Free: $0, 2 calendar accounts, 3 connections, 1 shareable calendar link and 25 API calls a day shared between REST and MCP. Past that, calls return a 429 error. Changes land every 30 minutes.
  • Pro: $5 a month or $45 a year, with no daily cap on MCP calls. Google and Outlook changes land within seconds, and iCloud, Fastmail and CalDAV changes land every minute.

A single question can take more than one call, for example listing calendars and then reading events. Forcing a sync from Claude is limited to once a minute on both plans. Current prices and plan details are on the pricing page.

Fixing common Claude connection errors

  • Use https://www.keeper.sh/mcp exactly. The address without www answers with a redirect instead of the server, so paste the full URL.
  • Do not use https://www.keeper.sh/mcp/sse, which returns 404. Keeper.sh serves MCP over streamable HTTP only, so choose --transport http in Claude Code.
  • Do not add an Authorization header, a Keeper.sh API token or your own OAuth client ID and secret. The client registers itself and gets its token from the consent screen.
  • A first request answered with 401 is normal. It is how Claude discovers where to sign in, and the browser sign-in follows.
  • If Claude says it has no calendars to read, link at least one calendar in your Keeper.sh dashboard and ask again.
  • On Free, a 429 response means the 25 daily calls are used up.

Questions about connecting Claude to your calendar

Does Claude need an API key to reach my calendar?

No. Keeper.sh's MCP server signs Claude in over OAuth 2.1: you approve access once on a consent screen in the browser, and there is no key or token to paste.

Can I add a custom calendar connector on Claude's Free plan?

Yes. Custom connectors work on Claude's Free, Pro, Max, Ultra, Team and Enterprise plans, and Free is limited to one custom connector.

Can Claude create events in Outlook or iCloud, not only Google Calendar?

Yes. Through Keeper.sh's MCP server, Claude creates, edits and deletes events on linked Google Calendar, Outlook, iCloud, Fastmail and CalDAV calendars. Each write goes to the provider that owns the calendar.

How many calendar requests can Claude make in a day?

Keeper.sh's Free plan allows 25 API calls a day, shared between the REST API and MCP, and one question can take more than one call. Pro has no daily cap on MCP calls.

How do I remove Claude's access to my calendars?

Remove the Keeper.sh connector in Claude's connector settings, or run claude mcp remove keeper in Claude Code. Your calendars and their sync carry on unchanged.

Can Keeper.sh use cookies for analytics?