
Apple Mail
io.github.mp-consulting由 GitHub 帳號 mp-consulting 發布v0.7.3更新於 Nov 7, 2026
Search, read, sort and answer Apple Mail on macOS: fast local reads, drafts first, you approve sends
概覽
本機 macOS MCP 伺服器,讓助理搜尋、閱讀、整理、起草 Apple Mail 郵件,並在你核准後寄出。
- 可以做什麼
- 搜尋與閱讀郵件:全文與多條件搜尋、單封郵件、批次郵件與完整對話串、收件匣概覽、統計與高頻寄件人
- 待辦與追蹤:需要回覆的郵件、等待對方回覆、稍後提醒、排程寄送、聯絡人查詢
- 擷取與驗證:發票欄位、物流單號、驗證碼與訂位資訊,以及 SPF、DKIM、DMARC 真偽檢查
- 起草與寄送:撰寫、回覆、轉寄、列出並寄出草稿,預設存為草稿,寄出前需核准
- 整理:移動、標記、移至垃圾桶、建立信箱、管理與套用郵件規則、復原變更、取消訂閱電子報
- 附件與匯出:儲存附件、匯出為 EML 或 Markdown、將搜尋結果匯出為 CSV、JSON 或 XLSX
- 適用情境
- 適合在 Mac 上讓助理處理龐大的 Apple Mail 收件匣:分類郵件、尋找舊郵件、依你的語氣起草回覆、清理電子報、歸檔郵件,或從郵件中擷取發票與驗證碼。
- 執行需求
- 在 macOS 14 以上(Apple 晶片或 Intel)本機以 stdio 執行,可透過 Homebrew cask、DMG 或 Claude 擴充套件安裝。需為啟動伺服器的應用程式授予完整磁碟存取權與 Mail 的自動化權限。不需 API 金鑰或密碼,帳號在 Mail 中新增。若要讓 claude.ai 與手機遠端存取,需要通道與通行碼。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Apple Mail,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Apple Mail MCP
Let Claude read, search, sort and answer your Apple Mail: fast, local, and with you in control of what gets sent.
[Latest release] [CI] [macOS 14+, Apple silicon and Intel] [Swift 6] [MIT License]
Apple Mail MCP is an MCP server for the Mail app on your Mac, plus a small menu bar app. Claude (Claude Code, the Claude app, or any MCP client) can search years of mail in milliseconds, read threads, find what needs a reply, draft answers in your voice, clean up newsletters and file attachments, and it can only send an email after you click Send.
[Mail tab: three emails waiting for approval, one shown in full, recent activity] [Claude tab: Claude Code and the Claude app connected, the eight skills by slash command] [Settings tab: send policy, changes, remote access for claude.ai, search index and updates]
Any email account, ready for AI
Apple Mail MCP turns any email account you can add to Apple Mail into one that Claude and other MCP clients can work with: iCloud, Gmail and Google Workspace, Microsoft 365, Outlook.com and Exchange, Yahoo, Fastmail, your company's or your hosting provider's IMAP server, even old POP mailboxes.
Your provider needs no API, no developer account and no MCP support of its own. Add the account in
Mail › Settings › Accounts as you normally would. As soon as Mail syncs it, the account gets the same tools as
every other one: search, threads, needs-a-reply, drafts, sending with your approval, filing, snoozing,
unsubscribing, extraction and authenticity checks. Several accounts work side by side, and every tool can be
limited to one of them with account.
Your password stays in Mail and in your keychain: this app never sees it and never connects to your provider. It reads what Mail has already downloaded and asks Mail itself to move, draft or send.
Why another Mail server?
Most Mail servers drive Mail with AppleScript for everything, including reading. Mail then walks its mailboxes one message at a time, so a search through a large inbox takes minutes or times out, and Mail freezes meanwhile.
Apple Mail MCP reads Mail's own database and message files directly, the same data Mail shows you, and only talks to Mail to change something (move, flag, draft, send). Searches stay fast on any mailbox size and never disturb Mail. See Benchmarks.
- Fast on big mailboxes: a few milliseconds for searches, threads and statistics over 80,000+ messages, faster than every other Apple Mail MCP server we measured (Benchmarks).
- Full-text search of message bodies through a local index, built in about a minute.
- Safe by default: replies and new mail are saved as drafts; with "Ask me first" nothing is sent without your click; bulk changes have previews and limits; nothing is ever permanently deleted.
- Smart views out of the box: what needs your reply, what you're still waiting on, top senders, weekly stats.
- Eight Claude skills that turn the tools into workflows: triage, inbox zero, follow-ups, a reply writer that matches your voice, newsletter cleanup, research, attachments and a weekly report.
- No passwords, no cloud: it works with every account Mail has (iCloud, Gmail, Exchange, IMAP) and everything stays on your Mac.
Install
Homebrew:
Or download the app or the Claude extension from the latest release:
Both are notarized, signed with Developer ID, and run on Apple silicon and Intel Macs (macOS 14+). The server is also
listed in the MCP registry as io.github.mp-consulting/apple-mail-mcp.
Then:
- Open Apple Mail MCP: an envelope appears in the menu bar.
- Click the envelope, open the Claude tab and click Connect next to Claude Code and/or the Claude app.
- Claude Code gets the server and all the skills; new sessions see them.
- The Claude app reads its servers only at launch: click Restart Claude when the tab offers it.
For its skills, switch the Skills list to Claude app and click Export, then upload each
.zipin Claude › Settings › Capabilities › Skills.
- Give macOS permissions (one time, see Permissions).
From a terminal, the same setup is:
Any other MCP client: run /Applications/Apple Mail MCP.app/Contents/Helpers/Apple Mail MCP Server.app/Contents/MacOS/apple-mail-mcp as a stdio server (Homebrew also links it as
apple-mail-mcp). Before 0.6 the server was at Apple Mail MCP.app/Contents/MacOS/apple-mail-mcp; the menu bar
app moves Claude Code's and the Claude app's settings to the new path, other clients need it by hand.
Permissions
macOS asks for two permissions, for the app that starts the server (Claude, your terminal, VS Code…):
Give Full Disk Access to Apple Mail MCP too, for the panel's counts and the search index. If something is
missing, every tool answers with the exact app to allow, and the panel shows it under Needs attention.
Run apple-mail-mcp doctor for a full check.
claude.ai and your phone
The Claude apps on iPhone, Android and the web reach Mail on your Mac as a custom connector. The menu bar app serves MCP over HTTP with OAuth; a tunnel (such as cloudflared) publishes it at an HTTPS address of yours. Turn it on in More settings… › Remote access:
- Enter the public address the tunnel publishes, such as
https://mcp.example.com/me/mail. Several servers can share one host name, each on its own path. - Route that path to the port (8590 by default) in the tunnel. The route must also carry the discovery documents,
which OAuth puts at the root with the path appended; the settings show the exact path pattern, for example
^/(\.well-known/[^/]+/)?me/mail(/.*)?$. - Set a passcode to approve connections from anywhere, or approve them in the menu bar app.
- In claude.ai, Settings › Connectors › Add custom connector with the connector URL (no client ID or secret). Connect opens the sign-in page:
[The sign-in page: Connect Claude to Apple Mail, a choice of full access or read only, the passcode field with Allow, Approve on my Mac, and Don't allow] [The menu bar app asks: Claude wants to connect to Apple Mail, with Deny and Allow]
A connection may do what Claude on the Mac may do, or only read; sending and big changes still wait for your OK in the menu bar app. Connected apps lists each one, and Disconnect ends it at its next request. Tokens last an hour and refresh for 90 days of use; the server keeps only their hashes. Details, the tunnel set-up and the security model: docs/remote.md.
What Claude can do
Message ids are Mail's own; a moved message gets a new id, which move_messages returns.
The skills are also served as MCP prompts (in Claude Code: /mcp__apple-mail__mail-triage and so on), and two
resources, mail://inbox/unread and mail://needs-response, notify subscribed clients when mail changes.
Snoozes and scheduled sends are carried out by the menu bar app, so it has to be running for them.
Skills
Pick them in the panel's Claude tab: each one shows what it does and whether it's installed.
Claude picks the right skill from your request; in Claude Code you can also start one with its slash command. In the Claude app, skills are used automatically once uploaded.
They follow the same rules as the server: drafts before sending, previews before bulk changes, and quoting as little of your mail as possible. When the app updates, skills you installed update with it.
You stay in control
[The approval window: one email shown in full with a 1 of 3 pager, two more waiting below]
When Claude wants to send, a small window pops up (and the panel's Mail tab shows a count). With several emails waiting you review them one by one; nothing goes out without a click on Send.
- Send policy (Settings): Ask me first (the default) shows each outgoing email (recipients, subject, text, attachments) for Send or Don't Send, and refuses to send while the menu bar app is not running; Send right away; or Never send (drafts only).
- Signed approvals: your answers and scheduled sends are signed with a key in your Keychain, so another program cannot approve a send by writing a file.
- Drafts by default: compose, reply and forward save to Drafts unless Claude is asked to send.
- Batch limits: at most 50 messages per change by default;
dry_runpreviews moves and trash. Optionally, moves and trashes above a size you choose wait for your OK in the menu bar app. - Undo: every move, trash and flag change can be put back with
undo_change(the journal keeps Message-IDs and mailbox names only, owner-only). - Unsubscribing follows the send policy: with Ask me first you confirm each one. One-click requests go only to senders whose DKIM signature verified for their own domain; for anyone else you get the link.
- No permanent deletion: Trash only, never emptied.
- Files: saved attachments can't go into startup, config or system folders; secrets (
~/.ssh,.env, keychains, browser profiles, Mail's own data) can't be attached. Optional allowlists in Settings. - Read-only mode:
apple-mail-mcp --read-onlyoffers only the reading tools. - Activity: every tool call is listed in the Mail tab (never with message content).
- Search index without text: Mail's data is behind Full Disk Access; the body index in
~/Library/Application Support/apple-mail-mcpis not, so it stores no words, only keyed hashes (no order, no positions). The key ("Apple Mail MCP search index key") is in your Keychain, in an access group only the app and its server can claim (the Claude extension, which runs the server on its own, keeps its key in the login Keychain), so another app cannot use the index, and even with the key it could only test guessed words. The file is owner-only and kept out of Time Machine. If the key is missing or refused, body searches scan messages instead.
Benchmarks
The same questions to every Apple Mail MCP server in the MCP registry, over MCP stdio like a client sees it, on an Apple M1 (16 GB) with a real mailbox (account of 80,551 messages, 1,336 in its inbox), version 0.6.0. Median of 25 warm runs each. The servers that read Mail's files are called in turns, one call each per round, so a change in the machine's load hits them all alike. Full tables, with response sizes: Benchmarks/compare-mcp-servers.md.
– : the server has no tool for that question.
The servers that drive Mail with AppleScript, measured the same way (0.6.0, one call per question for every server, Benchmarks/compare-servers.md), take seconds where Apple Mail MCP takes milliseconds, and keep Mail busy while they do: ipsupport-llc 1.6.1 answered in 0.17–11 s, the Python mcp-apple-mail in 8–84 s; on this mailbox jakobfigur 0.6.2 and jayvee6 0.1.0 failed, kiki830621 2.0.1 timed out after 3 minutes, and the questions the others could not answer timed out or errored inside Mail. Apple Mail MCP answered all 13 in 0.8–17 ms.
Without the body index, a body search scans recent messages in parallel instead (27 ms here). Building the index for the whole mailbox takes about a minute.
Reproduce: Scripts/bench-servers.sh fetches and prepares the other servers (pinned versions, release files
checked against the registry's SHA-256), then runs mail-bench compare; --fresh-index gives our server a
throwaway index so no Keychain prompt can hold up the run. mail-bench store gives in-process timings on your
mail, and mail-bench synthetic --messages 100000 a generated mailbox that involves no personal data. CI runs the
synthetic benchmark on every push.
Command line
Settings live in ~/Library/Application Support/apple-mail-mcp/settings.json and are shared by the app and
every server (changes apply immediately).
How it works
- MailStore reads Mail's index (accounts, mailboxes, Gmail labels, flags, categories, threads) and parses messages (MIME, charsets, HTML to text) without Mail running.
- MailAutomation sends Apple Events built from Mail's scripting dictionary (no AppleScript), addressing messages by id, serialized across processes.
- MailMCPKit defines the tools, policies, approvals and skills; MailMCPBar is the SwiftUI menu bar app (Liquid Glass on macOS 26).
Development
Requires Xcode 26 (Swift 6.2) for the app; the server builds with Swift 6.1. See CLAUDE.md for the architecture and the Mail quirks the code relies on, and CHANGELOG.md for releases.
Credits
Inspired by patrickfreyer/apple-mail-mcp, whose tool set and path-guard rules shaped this one.
License
MIT © 2026 Mickael Palma. Not affiliated with Apple. Apple Mail is a trademark of Apple Inc.
來源:README.md,提交 ab5dbb4
工具
0版本歷史
12- v0.7.3最新Nov 7, 2026
- v0.7.1Oct 30, 2026
- v0.7.0Oct 29, 2026
- v0.6.8Oct 22, 2026
- v0.6.6Oct 21, 2026
- v0.6.4Oct 21, 2026
- v0.6.2Oct 20, 2026
- v0.6.1Oct 20, 2026
- v0.6.0Oct 20, 2026
- v0.5.0Oct 19, 2026
- v0.4.3Oct 18, 2026
- v0.3.2Oct 18, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分