Skip to main content
Glama

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"
    }
  }
}
# 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/imdinu/jxa-mail-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server