SkillAgentSearch skills...

Apple Mail MCP

Apple Mail MCP server with full-text email search — the only one that works reliably on large mailboxes. 6 tools for Claude Desktop & Claude Code.

Install / Use

/learn @imdinu/Apple Mail MCP
About this skill

Quality Score

0/100

Supported Platforms

Claude Code
Claude Desktop
Cursor

README

Apple Mail MCP

<!-- mcp-name: io.github.imdinu/apple-mail-mcp -->

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

The only Apple Mail MCP server with full-text email search. Reliable on large mailboxes where other servers timeout — with 6 tools for reading, searching, and extracting email content.

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

| Tool | Purpose | |------|---------| | list_accounts() | List email accounts | | list_mailboxes(account?) | List mailboxes | | get_emails(filter?, limit?) | Get emails — all, unread, flagged, today, last_7_days | | 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 to disk, or extract links |

Performance

Tested against 6 other Apple Mail MCP servers on a 30K+ email mailbox:

  • Only server that completes all operations without timing out
  • Only server with full-text body search (FTS5 index, ~20ms)
  • 5ms single email fetch via disk-first .emlx reading
  • 7–9ms subject search via FTS5 (vs 230ms+ for AppleScript-based servers)

Capability Matrix

Configuration

| Variable | Default | Description | |----------|---------|-------------| | APPLE_MAIL_DEFAULT_ACCOUNT | First account | Default email account | | APPLE_MAIL_DEFAULT_MAILBOX | INBOX | Default mailbox | | APPLE_MAIL_INDEX_PATH | ~/.apple-mail-mcp/index.db | Index location | | APPLE_MAIL_INDEX_MAX_EMAILS | 5000 | Max emails indexed per mailbox | | APPLE_MAIL_INDEX_EXCLUDE_MAILBOXES | Drafts | Mailboxes 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_emails | get_emails(filter?, limit?) + get_email(message_id) | | search_emails | search(query, scope?) — 5 scopes: all, subject, sender, body, attachments | | send_email | Not yet supported (planned) |

What's different: available on PyPI (pipx install apple-mail-mcp), full-text body search via FTS5 (~20ms), disk-first single-email reads (~5ms), reliable on large mailboxes (30K+) where AppleScript-based servers timeout.

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

View on GitHub
GitHub Stars7
CategoryDevelopment
Updated20h ago
Forks5

Languages

Python

Security Score

90/100

Audited on Mar 24, 2026

No findings