MT

mike-tih/icloud-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

13 stars 24 forks Качество 84 Тренд 40MIT

iCloud MCP working with app specific tokens, providing access to Contacts, Calendar and Mail, communicating with CalDav, CardDav and IMAP.

Обзор

Model Context Protocol server for iCloud. Gives Claude (Desktop, Code, claude.ai connectors) and any other MCP client full access to an iCloud account: - (CalDAV): list/search/create/update/delete events, recurring events (RRULE), alerts (VALARM), IANA timezones, all-day events, iTIP invitations and cancellations by email. - (CardDAV): list/search/get/create/update/delete, including notes; labels (home/work/custom) survive updates. - (IMAP/SMTP): folders, listing, server-side search, full messages with attachments, attachment download, sending (HTML, attachments, threaded replies), drafts, move/delete/read flags. Every tool carries MCP annotations (readOnlyHint, destructiveHint) so clients can ask for confirmation before writes. Errors are returned as MCP tool errors with actionable messages (e.g. wrong password vs. missing credentials). - : calendar/contact/event IDs are full URLs, pass them back verbatim.

README

Показан фрагмент оригинального README. Открыть оригинал.

iCloud MCP Server

Model Context Protocol server for iCloud. Gives Claude (Desktop, Code, claude.ai connectors) and any other MCP client full access to an iCloud account:

  • Calendar (CalDAV): list/search/create/update/delete events, recurring events (RRULE), alerts (VALARM), IANA timezones, all-day events, iTIP invitations and cancellations by email.
  • Contacts (CardDAV): list/search/get/create/update/delete, including notes; labels (home/work/custom) survive updates.
  • Mail (IMAP/SMTP): folders, listing, server-side search, full messages with attachments, attachment download, sending (HTML, attachments, threaded replies), drafts, move/delete/read flags.

Runs in two modes with the same code:

Mode Transport Typical use Credentials
Local (“offline”) stdio Claude Desktop / Claude Code launch it as a subprocess on your machine .env or environment variables
Server Streamable HTTP, stateless Docker / Cloud Run / any host, many users Per-request headers or HTTP Basic auth, env fallback

Tools

Tool Description
calendar_list_calendars Calendars with IDs; Reminders lists are flagged read_only
calendar_list_events Events in a date range, recurring series expanded per occurrence, sorted by start
calendar_list_subscriptions Subscribed (webcal/ICS) calendars with IDs and feed host (never the feed URL)
calendar_list_subscribed_events Events from subscribed calendars, fetched from their feeds; failures reported in feed_errors
calendar_search_events Text search over summary/description/location
calendar_create_event Create an event: timezone, all-day, rrule, reminders (minutes before start or "09:00" time of day), attendees (invitations sent by email)
calendar_update_event Partial update; change timezone/recurrence/alerts; re-sends invitations when attendees change
calendar_delete_event Delete and email cancellations to attendees
contacts_list / contacts_search / contacts_get Read contacts (name, phones, emails, addresses, organization, title, notes)
contacts_create / contacts_update / contacts_delete Write contacts
email_list_folders Folders with IMAP flags
email_list_messages Newest messages of a folder with readable body_text, unread, has_attachments
email_search Server-side IMAP search: query, sender, recipient, subject, body, since, before, unread_only (AND)
email_get_message / email_get_messages Full message(s): headers, body_text, optional raw body_html, attachment list
email_get_attachment Download an attachment: save to a local directory (stdio) or return it inline
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "icloud": { "command": "/absolute/path/to/icloud-mcp/.venv/bin/icloud-mcp", "env": { "ICLOUD_EMAIL": "[email protected]", "ICLOUD_APP_SPECIFIC_PASSWORD": "xxxx-xxxx-xxxx-xxxx", "DEFAULT_TIMEZONE": "Europe/Berlin" } } } }