On a large mail store the useful question is usually "find the message where someone mentioned X", and that only works if the index covers everything — which is why the setup step that matters is granting Full Disk Access and building the index, not the install itself. Everything here reads: there is no send, no reply and no filing, so it fits research and retrieval rather than inbox management.
A read-only reader for Apple Mail on macOS. It builds an FTS5 full-text index over the local mail store and reads .emlx files and the Envelope Index directly, with AppleScript kept as a fallback rather than the main path.
- search runs across every account and mailbox at once, scoped to all, subject, sender, body or attachments, with before and after date bounds, mailbox exclusions, paging and match highlighting
- Body search covers the whole mailbox through the index, rather than live-scanning only the most recent messages
- list_accounts and list_mailboxes enumerate what exists; get_emails lists one mailbox with filters for all, unread, flagged, today or last_7_days
- get_email fetches a single message with its full content, and finds it across accounts from the message id alone — account and mailbox are hints, not requirements
- get_email_links extracts an email's hyperlinks, deduplicated with their anchor text, with mailto:, javascript: and long tracking URLs filtered out
- get_email_attachment parses the raw MIME structure and saves a file under ~/.apple-mail-mcp/attachments/, including inline images and S/MIME parts
- Defaults set once with apple-mail-mcp init, which writes a config.toml; every key has a matching APPLE_MAIL_ environment variable, and the client's launch config can override per client
macOS with Apple Mail, and Python 3.11 or higher — installed with pipx install apple-mail-mcp and run as apple-mail-mcp. The search index is what makes body search and link extraction work: build it with apple-mail-mcp index, which needs Full Disk Access granted to Terminal under System Settings → Privacy & Security. Nothing leaves the machine and no account credentials are involved — it reads the local mail store. GPL v3.
One command — pipx install apple-mail-mcp
