The biggest release since launch.
Security
- Input validation on all 41 tools (zod v4). This closes an AppleScript injection class found in an internal audit.
- Supply-chain hardening:
.npmrcwith ignore-scripts, pinned lockfile.
Protocol
- Migrated from a hand-rolled JSON-RPC layer to the official
@modelcontextprotocol/serverv2 SDK. Dual-era support: legacy2024-11-05clients through the2026-07-28revision. - Tool annotations and titles on all 41 tools; structured output (
outputSchema) on all 15list-*tools. set-modenow emitstools/list_changed.
Features
- Email and Calendar are fully dual-mode. LOCAL uses Mail.app and Calendar.app via AppleScript with no credentials; CLOUD uses IMAP/CalDAV and works on any OS. Closes #1.
- New
update-eventtool. The CalDAV path is experimental: a property-preserving merge keeps RRULE, attendees and alarms intact. - Messages:
list-chats,read-messages,react-messagevia theimsgCLI. - Contacts: full email/phone arrays, digit-normalized phone search, accounts and groups.
.envnow loads from the server directory (closes #3), and contacts search no longer stops at the first 50. Thanks @vvshakirov and @cam8001 for the reports and PRs.
Install
- npm:
npx -y mcp-icloud - Claude Desktop: download
mcp-icloud-2.1.0.mcpbbelow, then Settings > Extensions > Install Extension - Breaking: requires Node 20 or newer
51 tests, CI on Node 20 and 22.