Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
iCloud Mail, Calendar, Contacts, Reminders, Notes and Drive. Approval-first, self-hosted or local.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
ICLOUD_USERNAME, ICLOUD_APP_PASSWORD, ICLOUD_DISPLAY_NAME, DEFAULT_TIMEZONE, SEND_REQUIRES_APPROVAL, AGENT_NOTES_FILE, OWNER_ADDRESSES, WARMUP_ON_START, TOOL_WORKERSValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"icloud": {
"command": "uvx",
"args": [
"icloud-mcp-server",
"--local"
],
"env": {
"ICLOUD_USERNAME": "your-value",
"ICLOUD_APP_PASSWORD": "your-value",
"ICLOUD_DISPLAY_NAME": "your-value",
"DEFAULT_TIMEZONE": "your-value",
"SEND_REQUIRES_APPROVAL": "your-value",
"AGENT_NOTES_FILE": "your-value",
"OWNER_ADDRESSES": "your-value",
"WARMUP_ON_START": "your-value",
"TOOL_WORKERS": "your-value"
}
}
}
}Run this in your terminal
claude mcp add icloud --env ICLOUD_USERNAME=your-value --env ICLOUD_APP_PASSWORD=your-value --env ICLOUD_DISPLAY_NAME=your-value --env DEFAULT_TIMEZONE=your-value --env SEND_REQUIRES_APPROVAL=your-value --env AGENT_NOTES_FILE=your-value --env OWNER_ADDRESSES=your-value --env WARMUP_ON_START=your-value --env TOOL_WORKERS=your-value -- uvx icloud-mcp-server --localFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"icloud": {
"command": "uvx",
"args": [
"icloud-mcp-server",
"--local"
],
"env": {
"ICLOUD_USERNAME": "your-value",
"ICLOUD_APP_PASSWORD": "your-value",
"ICLOUD_DISPLAY_NAME": "your-value",
"DEFAULT_TIMEZONE": "your-value",
"SEND_REQUIRES_APPROVAL": "your-value",
"AGENT_NOTES_FILE": "your-value",
"OWNER_ADDRESSES": "your-value",
"WARMUP_ON_START": "your-value",
"TOOL_WORKERS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"icloud": {
"type": "stdio",
"command": "uvx",
"args": [
"icloud-mcp-server",
"--local"
],
"env": {
"ICLOUD_USERNAME": "your-value",
"ICLOUD_APP_PASSWORD": "your-value",
"ICLOUD_DISPLAY_NAME": "your-value",
"DEFAULT_TIMEZONE": "your-value",
"SEND_REQUIRES_APPROVAL": "your-value",
"AGENT_NOTES_FILE": "your-value",
"OWNER_ADDRESSES": "your-value",
"WARMUP_ON_START": "your-value",
"TOOL_WORKERS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
ICLOUD_DISPLAY_NAME envDEFAULT_TIMEZONE envSEND_REQUIRES_APPROVAL envAGENT_NOTES_FILE envOWNER_ADDRESSES envWARMUP_ON_START envTOOL_WORKERS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account epinethrone, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: ICLOUD_USERNAME, ICLOUD_APP_PASSWORD
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.12.1) reached the registry 42 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
[Run it on this computer ›](#run-it-locally) [Host it for every device ›](#quick-start) [Claude Desktop in one click ›](#claude-desktop-in-one-click)
Ask your AI about your week, your inbox or the file you saved last spring, and it just knows.
iCloud MCP connects Claude, Codex, ChatGPT or any other MCP client to the Apple account you already live in.
It runs on your own machine, keeps your password there, and asks before anything leaves.
*"Find the email from my landlord about the heating and draft a polite reply."*
*"When am I free for an hour next week? Book lunch with Anna then."*
*"Move Thursday's dentist appointment to Friday, same time. Only that one."*
*"Remind me to renew my passport on the first of next month."*
*"Find my tax return PDF in iCloud Drive and tell me what I paid last year."*
*"How long does it take me to cycle to the station, if I need to be there at nine?"*
*"Catch me up on my messages from this weekend."*
*"How did I sleep this week, compared with last month?"*
Your password stays home.
Apple has no sign-in for these services other than an app-specific password.
It lives only on your machine or in your Mac's Keychain. Your AI never sees it.
Nothing leaves without you.
Mail your AI writes waits for your approval, or lands in your Drafts.
Invitations to other people are off. Deletes go to the Trash.
Built for mail from strangers.
Everything your AI reads is marked as someone else's words, not instructions.
Hidden characters are stripped, and phishing tricks are called out.
Tested where it counts.
Over 600 offline tests on every change, including fuzzing of every parser that reads other people's data, integration tests against real mail and calendar servers,
and hands-on runs against a live iCloud account for the quirks only Apple's servers have.
Apple Health Sleep with its stages, steps, activity and heart rate per day, from your iPhone, plus your whole history from the Health app's export. Any MCP client Claude, Codex, ChatGPT, Cursor and others. ChatGPT can sign in to a hosted server without extra settings. Clearer tool names Every tool is area_verb_noun , such as mail_send_message , so any agent picks the right one. Old names still work in TOOLS .
Fewer false alarms Mail from Outlook no longer warns about hidden text. The warning stays for hidden text that addresses an AI, and you can see what was hidden. Apple Maps Travel time by bike, car, foot or transit for a departure or arrival time, and place search. Calendar travel time can use it. Messages Read and search your iMessage and SMS history. Sending is off by default, and then waits for your approval and an allowlist.
A menu bar app See health at a glance, pause the server, restart it, change credentials and sign out any connected app. Pause One switch and every tool answers that the server is paused, without disconnecting anyone. Safer Invitation allowlists, screened subjects and names, your own classifier, and fuzzing of every parser that reads other people's data.
In 0.9 to 0.11: Maps, Messages, the menu bar app and pause, drafts and folders, calendars and contact groups, and richer Reminders. In 0.6 to 0.8: about three times faster calendars, lighter mail, an instant first call, your own rules file, replies owed, clash checks and a hardened recurrence guard. Since 0.4: bulk clean-up with undo, safe unsubscribe, exact bookings, note editing, search inside Drive files, birthdays and Shortcuts. In 0.3: the one-click Claude Desktop extension, local mode, Keychain storage, free time, RSVP and scam warnings.
Mail, Calendar and Contacts use Apple's standard protocols. Reminders, Notes, iCloud Drive, Maps, Messages and Health go through an optional helper on your Mac. It connects out, so your Mac never opens a port.
| Any client on this computer | Claude Desktop, one click | Your own server | |
|---|---|---|---|
| Setup | One command or a few lines of config | Double-click an extension | Docker and an HTTPS address |
| Works in | Claude Code, Codex, Claude Desktop, Cursor, VS Code and any other MCP client on this computer | Claude Desktop on this computer | Claude and ChatGPT on the web, desktop and phone, Codex, and any client that supports remote MCP servers |
| Outgoing mail | Saved to Drafts for you to send | Saved to Drafts for you to send | Waits for your approval in a browser |
| Guide | Set up › | Install › | Quick start › |
Tested with Claude (web, desktop, phone, Claude Code and the Desktop extension) and with Codex CLI running the server locally. Any client that speaks MCP works the same way: locally it starts the server itself, and hosted it signs in with OAuth.
The server runs on your own computer. Your client starts it when it needs it and talks to it directly, so there is no public address, tunnel, Docker or OAuth. Apps on the web and on your phone can't reach it; for that, host it.
Europe/Amsterdam.It starts approval-first: mail is saved to Drafts for you to send, and invitations to other people are off. This covers Mail, Calendar and Contacts. Reminders, Notes and iCloud Drive need the Mac helper and the manual setup below.
1. Put your settings in a file only you can read.
mkdir -p ~/.icloud-mcp && chmod 700 ~/.icloud-mcp
cat > ~/.icloud-mcp/icloud.env <<'END' ICLOUD_USERNAME=you@icloud.com ICLOUD_DISPLAY_NAME=Your Name DEFAULT_TIMEZONE=Europe/Berlin END chmod 600 ~/.icloud-mcp/icloud.env
2. Keep the password in your Keychain (on a Mac). It asks for the app-specific password and never shows it on the command line:
uvx icloud-mcp-server --store-password
Not on a Mac? Add ICLOUD_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx to the file instead. Any setting from Configuration can go in it; MCP_PUBLIC_URL and MCP_OWNER_PASSWORD are not needed.
3. Add it to your client (needs uv).
Claude Code:
claude mcp add icloud -- uvx icloud-mcp-server --local --env-file ~/.icloud-mcp/icloud.env
Codex:
codex mcp add icloud -- uvx icloud-mcp-server --local --env-file ~/.icloud-mcp/icloud.env
Claude Desktop: Settings → Developer → Edit Config, add this to claude_desktop_config.json, and restart Claude. Cursor (~/.cursor/mcp.json), VS Code, Windsurf, Gemini CLI and most other clients take the same command and args in their own MCP settings:
{
"mcpServers": { "icloud": { "command": "uvx", "args": ["icloud-mcp-server", "--local", "--env-file", "/Users/YOU/.icloud-mcp/icloud.env"] } } }
If your client can't find uvx, use its full path (which uvx). Without uv, pip install icloud-mcp-server and use icloud-mcp as the command.
[!TIP]
Fewer tools, better choices. Clients pick the right tool more reliably from a short list. Add
TOOLS=essentialfor a core of 19: search, read and reply to mail; list events, find free time and create or update events; find contacts; the main Reminders, Notes and Drive tools; and the health check. Add exact names to it as needed, for exampleTOOLS=essential,mail_move_messages, or pick whole areas:TOOLS=mail,TOOLS=mail,calendar(alsocontacts,reminders,notes,drive,maps,imessage,health; the health check always stays).
How sending works locally. There is no approval page, so with the default SEND_REQUIRES_APPROVAL=true every message your AI sends is saved to your Drafts folder instead, and the result says so. You review it in Mail and press Send yourself. Set SEND_REQUIRES_APPROVAL=false to let it send directly; your client's own approval prompt is then the only check.
Reminders, Notes and iCloud Drive locally. Add ENABLE_REMINDERS=true (and/or ENABLE_NOTES, ENABLE_DRIVE) and a BRIDGE_TOKEN to the env file, start your client once, then [install the Ma
Only the beginning is shown; read the rest in the repo