Icloud Calendar Server
FreeNot checkedEnables Claude (or any MCP client) to read and write events on your iCloud calendars via CalDAV.
About
Enables Claude (or any MCP client) to read and write events on your iCloud calendars via CalDAV.
README
MCP server for iCloud Calendar via CalDAV. Lets Claude (or any MCP client) read and write events on your iCloud calendars.
Published under InstaCode.
What it does
Exposes five tools:
| Tool | Purpose |
|---|---|
icloud_list_calendars |
List your iCloud calendars |
icloud_list_events |
Fetch events from a calendar in a date range |
icloud_create_event |
Create a new event |
icloud_update_event |
Update an existing event by UID |
icloud_delete_event |
Delete an event by UID |
Prerequisites
- Node.js 18+
- An Apple ID with two-factor authentication enabled
- An app-specific password generated at https://appleid.apple.com (your normal Apple ID password will not work for CalDAV)
Setup
npm install
npm run build
Set credentials via environment variables (or copy .env.example to .env and load via your runner):
export ICLOUD_USERNAME="[email protected]"
export ICLOUD_APP_PASSWORD="xxxx-xxxx-xxxx-xxxx"
Test it locally
Use the MCP Inspector to poke at the tools without wiring up a client:
npm run inspect
Then in the inspector UI: list tools, call icloud_list_calendars, etc.
Use with Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"icloud-calendar": {
"command": "node",
"args": ["/absolute/path/to/icloud-calendar-mcp-server/dist/index.js"],
"env": {
"ICLOUD_USERNAME": "[email protected]",
"ICLOUD_APP_PASSWORD": "xxxx-xxxx-xxxx-xxxx"
}
}
}
}
Restart Claude Desktop. The tools should appear under the MCP icon.
Known limitations (v0.1)
- Time zones: events are written in UTC. Timezone-aware writes are TODO.
- Recurring events: parsed as their master event; recurrence overrides aren't surfaced separately yet.
- Reminders/alarms: not yet supported on create/update.
- Attendees / invites: not yet supported.
- Update/delete by UID does a calendar scan; for very large calendars this is slow. Future improvement: maintain a UID→URL index or use server-side query reports.
Roadmap
- Timezone support on create/update
- VALARM (reminders) on create/update
-
icloud_search_eventswith text query (across calendars) -
icloud_find_free_timehelper - CardDAV companion for contacts (
https://contacts.icloud.com) - Optional Streamable HTTP transport for hosted use
Publishing
Releases are published to npm via OIDC trusted publishing — no NPM_TOKEN required in CI.
First publish (one-time, manual):
The npm trusted-publisher settings page only appears for packages that already exist on npmjs.com. So v0.1.0 must be published manually from a local machine:
npm login
npm publish --access public
--provenanceis intentionally omitted here. Provenance attestations require a supported OIDC provider (GitHub Actions, GitLab CI, etc.) and will fail locally withAutomatic provenance generation not supported for provider: null. The CI workflow below adds--provenanceautomatically.
After the first publish:
- Go to https://www.npmjs.com/package/@instacodeio/icloud-calendar-mcp-server → Settings → Trusted Publishers
- Add a publisher with:
- Repository owner:
InstaCode(or your GitHub username) - Repository name:
icloud-calendar-mcp-server - Workflow filename:
publish.yml
- Repository owner:
Subsequent releases (automated):
npm version patch # or minor / major
git push --follow-tags
The Publish to npm workflow will run on the new v* tag, verify the tag matches package.json, build, and publish with provenance.
License
MIT
Installing Icloud Calendar Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/InstaCode/icloud-calendar-mcp-serverFAQ
Is Icloud Calendar Server MCP free?
Yes, Icloud Calendar Server MCP is free — one-click install via Unyly at no cost.
Does Icloud Calendar Server need an API key?
No, Icloud Calendar Server runs without API keys or environment variables.
Is Icloud Calendar Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Icloud Calendar Server in Claude Desktop, Claude Code or Cursor?
Open Icloud Calendar Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Notion
Read and write pages in your workspace
by NotionLinear
Issues, cycles, triage — from Claude
by LinearGoogle Drive
Search and read your Drive files
by Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
by mindsdbfulcradynamics/fulcra-context-mcp
MCP server for accessing personal health and biometric data including sleep stages, heart rate, HRV, glucose, workouts, calendar, and location via the Fulcra Li
by fulcradynamicsaymericzip/intlayer
A MCP Server that enhance your IDE with AI-powered assistance for Intlayer i18n / CMS tool: smart CLI access, access to the docs.
by aymericziprinadelph/Agent-MCP
A framework for creating multi-agent systems using MCP for coordinated AI collaboration, featuring task management, shared context, and RAG capabilities.
by rinadelphWhenLabs-org/when
Developer toolkit: auto-detect stack for AI context files, catch port conflicts, validate .env schemas, spot docs drift, audit dependency licenses, and time cod
by WhenLabs-orgBeltran12138/wecom-docs-mcp-server
WeCom (Enterprise WeChat) document operations via MCP: create, read, and edit Docs and Smartsheets (9 tools). Fills the doc-CRUD gap — existing WeCom MCP server
by Beltran12138madbonez/caldav-mcp
Universal MCP server for CalDAV protocol integration. Works with any CalDAV-compatible calendar server including Yandex Calendar, Google Calendar (via CalDAV),
by madbonezCompare Icloud Calendar Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All productivity MCPs
