用途
apple-mail-mcp 是一个本地运行的 MCP(Model Context Protocol)服务器,把 macOS 上的 Apple Mail 变成可由 AI 客户端操作的工具。你可以用 Claude Code、Claude Desktop、Codex、Cursor、VS Code 或任意本地 MCP 客户端,对邮箱进行提问、搜索、整理和发送。程序在 Mac 本地运行,以只读方式打开 Mail 存储,仅返回客户端明确要求的内容,仅在客户端显式调用发送工具时才发送邮件。没有第三方中继,也没有云端邮件副本。
主要能力
- 极速搜索:通过 Mail 自带的 SQLite 索引寻址单封邮件约 0.1 ms(AppleScript 的 whose 子句需 7 至 10 秒),全文搜索 p95 低于 1 ms。实测数据基于约 30 万封邮件存储,方法与脚本见 docs/benchmarks.md。
- 补全 Mail 搜不到的内容:Mail 内置搜索多数只扫首行,该工具在本地索引每封邮件正文;对 Exchange 账户,还会从服务器自己的邮箱拉取 Mail 从未下载的正文。
- 多身份发送:通过一个参数选择 From 地址,工作邮件走工作身份、个人邮件走 Gmail。每封邮件从头组合为干净、符合标准的邮件,在包括 Outlook 在内的各处正常渲染。
- 定时发送:定时消息完整冻结,包括附件、身份、精确文本,自 1.8.2 起还包括线程头。Exchange 可在服务器端于指定时间执行(合盖也有效),其他服务商使用本地后台发送器,在下一轮投递(或 Mac 唤醒后)。
- 批量整理:将“归档这 40 封新闻邮件”变为可审阅计划,未经批准不移动任何邮件,每封邮件在动手前重新检查,结果与 Mail 自身记录核对。删除即移入 Mail 的废纸篓,绝不真正擦除。
- 草稿:组合到真实的 Exchange Drafts 文件夹,可在 Outlook 或 OWA 中打开,只创建不自动发送。
使用方式
- 授予终端应用“完全磁盘访问权限”(系统设置 → 隐私与安全性 → 完全磁盘访问权限),然后退出并重新打开终端;这是 Apple 唯一的手动开关,没有弹窗。
- 安装并设置:
- uvx apple-mailbox-mcp setup
- 或 pipx install apple-mailbox-mcp
- 或通过 Homebrew:brew install parasxos/tap/apple-mail-mcp && apple-mail-mcp setup
- 注册到客户端(以 Claude Code 为例): claude mcp add --transport stdio --scope user apple-mail -- uvx apple-mailbox-mcp Claude Desktop / Cursor / VS Code 使用相同的 JSON 块(claude_desktop_config.json / .cursor/mcp.json / .vscode/mcp.json): { "mcpServers": { "apple-mail": { "command": "uvx", "args": ["apple-mailbox-mcp"] } } }
- 验证:uvx apple-mailbox-mcp status 打印就绪画面,或让客户端运行 doctor 工具,红色项会附带确切修复方法。大型邮箱首次构建正文索引在后台运行,可能需几分钟;搜索立即可用,并随索引完善而完整。
setup 会用直白语言询问所有事项(直接回车接受推荐答案),提供发送身份,构建正文搜索索引,验证夜间刷新确实运行,最后打印粘贴到 MCP 客户端的代码块。整理首次需要时授予“自动化 → Mail”权限。可随时用 apple-mail-mcp status 检查安装、下一条定时消息和失败的定时发送;用 apple-mail-mcp doctor 获取完整技术细节。
适用场景
适用于希望用 AI 客户端快速搜索、阅读、整理和发送 Apple Mail 邮件的 Mac 用户,尤其是邮箱规模大、对搜索速度和多身份发送有要求的场景。支持 Exchange 账户的正文补全、草稿和服务器端定时发送。
限制与信任设计
- 只读邮件模式:设置 EMAIL_MCP_READ_ONLY=1 后,会话中只存在 11 个非变更邮件工具。搜索仍可能维护本地正文索引,附件获取会把请求的文件写入配置的临时目录。
- 计划 → 审阅 → 应用 → 验证:批量操作冻结为可读计划,事后与 Mail 自身存储核对,从不假设结果。
- 崩溃安全的定时队列:清单更新会刷盘并原子替换,中断重写保留最后有效记录。
- 本地活动账本:发送、定时、取消和整理运行被记录,但不可写日志不会阻塞邮件;对账时以邮件本身、其 Message-ID 和定时记录为准。
- 无第三方邮件中继:邮件内容留在本地,除非是你发送的邮件,以及为 Exchange/IMAP 正文补全、草稿和服务器端定时而可选访问你自己的服务商。SMTP 密码保存在 macOS 钥匙串或 1Password;Microsoft OAuth 令牌存放在 ~/.email-mcp/graph/ 下权限 0600 的私有缓存。
- 书面契约:自 v1.0 起每个工具的形状、错误码和上限以加法方式演进,由 800 多个自动化测试保障(官方文本另处提及 1,200 多个测试与 849 个测试,具体数字以仓库为准)。
- 所有 21 个工具标明用途、解释每个输入,并声明是读取、更改还是可能删除数据。较新客户端获得结构化结果,较旧客户端保留相同 JSON 文本。
- 自诊断:apple-mail-mcp status 提供就绪、定时和恢复画面;apple-mail-mcp doctor 提供完整诊断细节和红色项的确切修复。
其他说明
项目采用 MIT 许可证,在约 30 万封邮件的存储上做过端到端实测。安装后若有帮助,可在 GitHub 上点星。其他详细信息可在仓库 docs/benchmarks.md 与架构指南中查看。