MCP Hub
Back to servers

iCloud Calendar MCP

An MCP server that enables LLMs to view and create events in an iCloud Calendar by connecting via Apple ID and app-specific passwords.

Stars
1
Forks
1
Updated
Dec 15, 2025

iCloud Calendar MCP

An MCP server letting you see and create events in you iCloud Calendar

Image of claude creating an event in my calendar Image of claude checking if i am available on sunday

Setup

Here is a detailed guide for setting up the MCP server for yourself:

Locally

This is how you set up the MCP server locally on your machine.

First, you need to clone this repository, and create a .env file in the root folder of the project. In the .env file you will need to set 2 variables like this:

ICLOUD_APPLE_ID="email@example.com"
ICLOUD_APP_PWD="xxxx-xxxx-xxxx-xxxx"

Where the ICLOUD_APPLE_ID is your iCloud email address.

The ICLOUD_APP_PWD you will get by visiting account.apple.com and logging in. You will then click "App-specific passwords" and create a new. You can call this whatever you want, but make sure to copy the password when it is created, because you will not be able to see it afterwards.

When these variables are set in the .env file, you are ready to add the MCP server to your preferred LLM. In this example, i will be using Claude Desktop.

Open claude, and using the hamburger menu in the top-left corner, navigate to "File>Settings>Developer>Local MCP Servers". Click "Edit Config" and open the JSON file in a code editor. In the JSON file, insert this:

{
  "mcpServers": {
    "calendar": {
      "command": "python",
      "args": [
        "/Users/herman/Source/Repos/icloud-calendar-mcp-python/main.py"
      ]
    }
  }
}

But change the source of the MCP server to where you have your located.

You will then need to restart Claude Desktop, and make sure the "calendar" tool is enabled: Screenshot on how to enable the MCP on Claude Desktop

On the internet (using FastMCP Cloud)

This is how you deploy the MCP server on the internet and connect to it using Docker and deploying as container app.

(Not yet finished)

On the internet (using Docker)

This is how you deploy the MCP server on the internet and connect to it using Docker and deploying as container app.

(Not yet finished)

Contribution

If you want to contribute to this project, you are very free to do.

Just create an issue or open a pull request :P

Reviews

No reviews yet

Sign in to write a review