✉️ apple-mail-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Your Apple Mail, fully agent-operable.
**Runs locally on your Mac.** It opens the Mail store read-only, returns only
what a client asks for, and sends only when the client explicitly calls the
send tool. No third-party relay, no cloud copy of your mail.
Measured on a 300k-message store: addressing one message **0.1 ms** via Mail's own
index, against **7 to 10 s** for the AppleScript whose-clause; full-text search
**p95 under 1 ms**. Method and script: docs/benchmarks.md.
Use **Claude Code, Claude Desktop, Codex, Cursor, VS Code, or any local MCP client** to search,
read, triage, and send email through Apple Mail — your mailbox becomes
something you can
**ask, search and delegate to** — find anything in seconds, file hundreds of
messages through a reviewed plan, send polished mail as the right identity,
and let Exchange deliver scheduled messages even while your Mac is asleep.
---
✨ What you can do
🔍 **Ask your mailbox questions.** *"What did Maria send me about the memo
last week?"* Search runs at database speed — sender, mailbox, dates, unread,
attachments — and reconstructs whole conversations.
🕳️ **Find what Mail itself can't.** Mail's built-in search only skims the
first line of most messages. apple-mail-mcp indexes every message **body** on your
Mac — and for Exchange accounts it even fetches the bodies Mail never
downloaded, straight from your own mailbox on the server. Queries that
returned nothing return twenty.
🎭 **Send as the right you.** Work mail through the work lane, personal
through Gmail — one parameter picks the identity. Every message is composed
from scratch as clean, standards-correct email that renders everywhere,
*including Outlook* (the AppleScript compose path that arrives blank in
Outlook is the reason this project exists).
⏰ **Schedule like "Send Later", but scriptable.** A scheduled message is
frozen in full — attachments, identity, exact text, and since 1.8.2 the
threading headers, so a scheduled reply lands in the conversation it answers.
Exchange can execute it server-side at the requested time, lid closed; other
providers use a local background sender and deliver on its next pass (or just
after the Mac wakes).
🗂️ **Triage at scale, without fear.** *"File these 40 newsletters"* becomes a
reviewable plan: nothing moves until it is approved, every message is
re-checked before it is touched, and the result is verified against Mail's
own records afterward. Delete means Mail's Trash — nothing is ever erased.
📝 **Draft where your drafts live.** Compose into your real Exchange Drafts
folder, ready to open in Outlook or OWA — created, never auto-sent.
⚡ Why it's different
Every other Apple-Mail MCP drives AppleScript for both finding and acting.
This one doesn't — and it shows:
| Operation | AppleScript whose-clause | apple-mailbox-mcp |
|---|---|---|
| 🔍 Search 300k messages | seconds-to-timeout | **milliseconds** |
| 🎯 Address one message in a 71k mailbox | **7–10 s** (measured) | ** 💡 *New to the terminal?* Three things that look wrong and aren't:
> brew install pipx wants a typed y (Enter alone is rejected);
> pipx ensurepath may print a ⚠️ — the "pipx is ready to go!" line after it
> is the verdict; and after ensurepath, close and reopen the terminal once