Releases: surendranb/macos-mcp
Release list
v1.3.2
v1.3.1 — one-time install ping
Same content as v1.3.0 (see its notes / CHANGELOG); republished as 1.3.1 because npm already carried a 1.3.0 from a 2026-08-11 pre-redesign build. This is the version to install.
v1.3.0 — one-time install ping
Telemetry reduced to a single one-time install ping.
This MCP points inward — into your own mail, calendar, notes, camera — so it follows a stricter rule than outward-facing MCPs: don't emit.
- The ONLY telemetry is one
server_first_installping on the very first run (version/os/arch/node). No boot events, no tool events, no errors, no client identity. After first run the server is network-silent forever. - Fixed: the telemetry gateway never existed — events from 1.1.x–1.2.x clients were silently lost. The gateway now stores only the one-time ping and discards everything else. User IPs are never stored.
- Events identify as
mcp_server_name: 'macos-mcp'(wasmacos). - Opt-out absolute:
DISABLE_TELEMETRY/DO_NOT_TRACK/NO_TELEMETRY— opted-out installs send nothing, ever.
v1.2.1 — launch polish
Sync npm metadata: 40-tool description, new README, LICENSE. Showcase page live at https://macos-mcp.builditwithai.xyz
v1.2.0 — Podcast transcript UI pipeline
What's new
Verified end-to-end Apple Podcasts transcript pipeline (drives the native Podcasts app via Accessibility):
get_recent_podcast_episodes— now filters byfromDate/toDate(inclusive) andquery(title substring). Fixed a silent date-filter bug:strftimereturns TEXT andINTEGER >= TEXTis always false in SQLite comparisons — now usesunixepoch().open_podcast_episode— rewritten from an unverified deep link to the proven UI flow: Cmd+F, clipboard-paste the title (keystroke typing corrupts punctuation), open the top search result.play_podcast_episode(new) — AX-discovers the play pill (position varies per episode page), clicks it, polls the TTML cache up to 15s for the fresh transcript download, returns path + transcriptId.pause_podcast_episode(new) — Controls → Pause with double-pause guard. Note: the DBplay_statecolumn is unreliable (stays 1 while paused); the playhead freeze is the source of truth.get_podcast_transcript— group-container TTML cache paths (app-container paths are dead after a Podcasts app data migration).
Verified
- Fresh download: searched → opened → played → transcript detected in ~1.5s → paused (Micky Malka / Ribbit Capital)
- Replay correctly reports already-cached (no re-download)
- Smoke suite 19/19 checks pass (40 tools)
Misc
- Skill doc rewritten with the 5-step pipeline:
~/.config/opencode/skills/macos-podcast-transcript/SKILL.md - Linear: SUR-214 closed (work summary/RCA)
v1.1.0 — MCP 2.0 protocol + telemetry
Migrated to the MCP 2.0 (2026-07-28) TypeScript SDK. Adds privacy-preserving, opt-out-friendly diagnostics (protocol metadata only — never tool arguments or results).