Skip to content

v0.8.0 — New adapters & expansion

Choose a tag to compare

@elfensky elfensky released this 25 Jul 13:07
· 134 commits to main since this release

New surface plus the distribution infrastructure later milestones sit on. On PyPI: uvx macos-apps-mcp / pip install macos-apps-mcp==0.8.0.

Added

  • Music adapter (#69) — six tools over Music.app (Automation): music_search + now_playing (reads → Pointers), and music_control / play_playlist / set_volume / set_mode (additive, reversible playback). Smart-punctuation-insensitive matching (fold_text both sides); one bulk Apple Event scales library search; locale-proof integer-second position/duration.
  • Indexed Mail search (#70) — mail_search over Mail's Envelope Index + mail_index_bodies FTS5 body sidecar (WAL + busy_timeout).
  • launchd daemon + TCC-to-bundle (#71) — a Developer-ID-signed .app under launchd owns the TCC grants; clients connect via a stdio shim over a home-pinned unix socket, so one grant serves every client with no re-prompts. New CLI roles (daemon/shim/register/install-agent); scripts/build_app.sh. Bare macos-apps-mcp stays the stdio server. See docs/DAEMON.md.
  • doctor deployment section (#71) — mode, launchd agent status, per-service grant identities, FDA note.

Fixed

  • EventKit events entitlement — macOS 26 silently instant-denies events full access without personal-information.calendars (#71 acceptance).
  • Full-Disk-Access visibility (#123) — FDA rows live in the system TCC.db; doctor now merges it. Installer teardown capped.
  • Socket rendezvous home-pinned (not XDG) so daemon and shim agree (#71 review).
  • CI: _agent_service bundle-gate pinned to our exact CFBundleIdentifier (host-independent tests).

Signed + notarized .app attached below (macos-apps-mcp-0.8.0.zip) — Developer-ID signed, Apple-notarized, stapled. Unzip to /Applications, then macos-apps-mcp install-agent (see docs/DAEMON.md). Or just uvx macos-apps-mcp for the stdio server.

Full changelog: CHANGELOG.md