Apple Mail MCP
Fast MCP server for Apple Mail with batch JXA (87x faster) and FTS5 search index (700-3500x faster).
Apple Mail MCP
The only Apple Mail MCP server with full-text email search. Reliable on large mailboxes where other servers timeout — with 8 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?, before?, after?, highlight?) | Search — all, subject, sender, body, attachments |
get_email_links(message_id) | Extract links from an email |
get_email_attachment(message_id, filename) | Extract attachment content |
get_attachment(message_id, filename) | Deprecated — use get_email_attachment() |
Performance
Tested against 8 other Apple Mail MCP servers on a real ~72K-message mailbox:
- Only server with full-coverage body search. Most competitors don't support body search at all; the one that does (BastianZim) live-scans only the 5000 most recent messages — silent miss on anything older. Our FTS5 index covers the entire mailbox.
- ~3ms single email fetch via disk-first
.emlxreading (no JXA round-trip). - ~7ms subject search via FTS5 — competitive with native Rust on the same operation.
- Reliable across all 6 benchmarked operations on a 72K mailbox; AppleScript-based servers timeout, throw syntax errors, or skip operations they don't support.

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 | unset | Optional per-mailbox ceiling (default: uncapped) |
APPLE_MAIL_INDEX_EXCLUDE_MAILBOXES | Drafts | Mailboxes to skip in search |
APPLE_MAIL_READ_ONLY | false | Disable write operations |
{
"mcpServers": {
"mail": {
"command": "apple-mail-mcp",
"args": ["--watch"],
"env": {
"APPLE_MAIL_DEFAULT_ACCOUNT": "Work"
}
}
}
}
CLI Usage
All tools are also available as standalone CLI commands (no MCP server needed):
apple-mail-mcp search "quarterly report" --scope subject
apple-mail-mcp search "invoice" --after 2026-01-01 --limit 10
apple-mail-mcp read 12345
apple-mail-mcp emails --filter unread --limit 10
apple-mail-mcp accounts
apple-mail-mcp mailboxes --account Work
apple-mail-mcp extract 12345 invoice.pdf
All commands output JSON. Generate a Claude Code skill for CLI-based access:
apple-mail-mcp integrate claude > ~/.claude/skills/apple-mail.md
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
MCP Email Service
A service for managing multiple email accounts from various providers like 163, Gmail, QQ, and Outlook.
Telinfy MCP server
Send SMS, WhatsApp, and RCS messages programmatically with DLT compliance. Manage contacts, schedule campaigns, and track delivery reports.
Multichat MCP Server
A server for handling parallel unichat requests, configurable via a settings file.
WhatsApp MCP
Send and receive messages using the WhatsApp API.
X (Twitter)
An MCP server for interacting with the X (Twitter) API, requiring developer credentials.
Windows Notification Server
Allows AI assistants to send native Windows system notifications.
Cakemail MCP Server
Manage email marketing campaigns, contacts, and transactional emails with the Cakemail API.
Universal Contract AI Interface (UCAI)
Universal Contract AI Interface (UCAI) 🔗 ABI to MCP | The open standard for connecting AI agents to blockchain. MCP server generator for smart contracts. Claude + Uniswap, Aave, ERC20, NFTs, DeFi. Python CLI, Web3 integration, transaction simulation. Polygon, Arbitrum, Base, Ethereum EVM chains. Claude, GPT, LLM tooling, Solidity, OpenAI.
Gmail MCP Server
An MCP server that enables AI models to interact directly with the Gmail API to manage emails.
Desktop Notification
Send cross-platform desktop notifications from AI assistants.