v0.8.0 — New adapters & expansion
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), andmusic_control/play_playlist/set_volume/set_mode(additive, reversible playback). Smart-punctuation-insensitive matching (fold_textboth sides); one bulk Apple Event scales library search; locale-proof integer-second position/duration. - Indexed Mail search (#70) —
mail_searchover Mail's Envelope Index +mail_index_bodiesFTS5 body sidecar (WAL + busy_timeout). - launchd daemon + TCC-to-bundle (#71) — a Developer-ID-signed
.appunder 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. Baremacos-apps-mcpstays the stdio server. Seedocs/DAEMON.md. doctordeployment 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;doctornow merges it. Installer teardown capped. - Socket rendezvous home-pinned (not XDG) so daemon and shim agree (#71 review).
- CI:
_agent_servicebundle-gate pinned to our exactCFBundleIdentifier(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