Skip to content

v0.2.2

Choose a tag to compare

@ErnestoCobos ErnestoCobos released this 01 Jul 17:30
· 2 commits to main since this release
Immutable release. Only release title and notes can be modified.

Same fix as the (unpublished) v0.2.1 — re-tagged because GitHub's immutable
releases permanently bound the v0.2.1 tag to a release created without assets.

Fixes

  • Don't crash the server when Full Disk Access is missing. When a GUI MCP client (e.g. Claude Desktop) launches the server as a subprocess without Full Disk Access, find_mail_directory() used to raise PermissionError out of startup and the whole server exited — the client showed "Server disconnected" with a bare traceback. The server now starts anyway and logs a clear, actionable Full-Disk-Access warning; read/search/index tools report full_disk_access_denied until the grant is in place, while write tools (Mail.app scripting, gated by Automation) keep working. New library_mail_permission_denied() helper distinguishes "denied" from "no mailbox"; regression test included.

Install from this release (no PyPI needed)

# wheel (persistent CLI):
uv tool install --force ./cobos_apple_mail_mcp-0.2.2-py3-none-any.whl
# or single-file .pyz — run with Python 3.12 (the ABI it was built for):
python3.12 apple-mail-mcp.pyz serve
# -full.pyz additionally bundles [watch]+[semantic]+[attachments].

Verify with shasum -a 256 -c SHA256SUMS.txt. Then grant the app running the server
Full Disk Access (System Settings → Privacy & Security) — see the wiki's
Permissions & troubleshooting for the "Server disconnected" symptom and fix.