Apple Mail MCP

Fast MCP server for Apple Mail with batch JXA (87x faster) and FTS5 search index (700-3500x faster).

Apple Mail MCP

Python 3.11+ License: GPL v3 macOS MCP Code style: ruff CI

A fast MCP server for Apple Mail — disk-first email reading, 87x faster batch fetching via JXA, and an FTS5 search index for 700–3500x faster body search (~2ms vs ~7s).

Read the docs for the full guide.

Quick Start

pipx install apple-mail-mcp

Add to your MCP client:

{
  "mcpServers": {
    "mail": {
      "command": "apple-mail-mcp"
    }
  }
}

Build the Search Index (Recommended)

# Requires Full Disk Access for Terminal
# System Settings → Privacy & Security → Full Disk Access → Add Terminal

apple-mail-mcp index --verbose

Tools

ToolPurpose
list_accounts()List email accounts
list_mailboxes(account?)List mailboxes
get_emails(filter?, limit?)Get emails — all, unread, flagged, today, this_week
get_email(message_id)Get single email with full content + attachments
search(query, scope?)Search — all, subject, sender, body, attachments
get_attachment(message_id, filename)Extract attachment content (base64)

Performance

ScenarioApple Mail MCPBest alternativeSpeedup
Fetch single email6msunsupportedOnly one (disk-first)
Fetch 50 emails301ms13,800ms+46x faster
Search (subject)10ms148ms15x faster
Search (body)22msunsupportedOnly one
List accounts118ms134msFastest

Benchmarked against 5 other Apple Mail MCP servers at the MCP protocol level.

Configuration

VariableDefaultDescription
APPLE_MAIL_DEFAULT_ACCOUNTFirst accountDefault email account
APPLE_MAIL_DEFAULT_MAILBOXINBOXDefault mailbox
APPLE_MAIL_INDEX_PATH~/.apple-mail-mcp/index.dbIndex location
APPLE_MAIL_INDEX_MAX_EMAILS5000Max emails indexed per mailbox
APPLE_MAIL_INDEX_EXCLUDE_MAILBOXESDraftsMailboxes to skip in search
{
  "mcpServers": {
    "mail": {
      "command": "apple-mail-mcp",
      "args": ["--watch"],
      "env": {
        "APPLE_MAIL_DEFAULT_ACCOUNT": "Work"
      }
    }
  }
}

Migrating from apple-mcp?

If you used supermemoryai/apple-mcp (archived January 2026), apple-mail-mcp is a maintained alternative for the Mail portion specifically. Notes, Messages, Contacts, Calendar, and Reminders are out of scope.

apple-mcp (mail tool, action)apple-mail-mcp
read_emailsget_emails(filter?, limit?) + get_email(message_id)
search_emailssearch(query, scope?) — 5 scopes: all, subject, sender, body, attachments
send_emailNot yet supported (planned)

What's different: available on PyPI (pipx install apple-mail-mcp), disk-first single-email reads (~1-5ms via .emlx parsing), 87x faster batch fetching via JXA, FTS5 search index for ~2ms body search, and disk-based sync that avoids JXA timeouts and false-success responses.

Development

git clone https://github.com/imdinu/apple-mail-mcp
cd apple-mail-mcp
uv sync
uv run ruff check src/
uv run pytest

License

GPL-3.0-or-later

Related Servers