v0.1.0 — first release
First tagged release of apple-mcp — one consolidated MCP server for native macOS apps, Python + FastMCP 2.0, managed with uv.
Added
- Recurrence for Calendar events and Reminders via an RFC 5545
RRULE(theFREQ/INTERVAL/COUNT/UNTILsubset). A recurring reminder requires a due date;INTERVAL/COUNTmust be positive; a date-onlyUNTILincludes the whole final day; unsupported parts (e.g.BYDAY) are rejected, not silently dropped. run_shortcut— run a Shortcut by name with optionalinput_text, via theshortcutsCLI; returns a bounded snippet of any output.safari_open— open a URL in a new Safari tab; a bare host defaults tohttps://, and onlyhttp/httpsURLs are opened (non-web schemes refused at the boundary).- Calendar
all_day; Reminderpriority(0–9) andstartdate. - Contacts read now surfaces the first phone + email in the pointer summary.
Removed
- The music adapter (weakest tool), following the earlier Files/Maps cut.
Notes
- Write tools are guarded by
APPLE_MCP_READ_ONLY, so a read-only deployment skips them. - The new surface was hardened by a multi-LLM review pass — see #38.
Verification: 133 unit tests + 22 on-device integration tests pass; ruff lint + format clean.
🤖 Generated with Claude Code