apple-mcp
让 AI 助手直接操控 macOS 原生应用(iMessage/邮件/日历/备忘录)的 MCP 工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 助手直接操控 macOS 原生应用(iMessage/邮件/日历/备忘录)的 MCP 工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你在开车,突然想起要提醒妈妈明天带伞;或者你在沙发上想给朋友发条消息,但懒得伸手去拿手机——apple-mcp 就是让 AI 助手来替你搞定这一切的工具。它不是一个独立的 app,而是给 AI(比如 Claude Desktop)提供了一个「桥梁」,让它能直接操控你 Mac 上的苹果原生应用:发 iMessage、查邮件、管日历、搜备忘录……就像给 Siri 装上了一个超级大脑,而且还能执行多步骤的复杂任务链。
apple-mcp 由独立开发者 Dhravya Shah(X: @DhravyaShah)开发维护,他是 supermemory 团队的成员。这个项目诞生于 2025 年初,灵感来自于他对 AI Agent 能力的探索——他想让 AI 不仅能「聊天」,还要能真正「做事」。在 Twitter/X 上发布后迅速获得了数千 Stars,目前已有超过 3100 个 GitHub 收藏。
作者将这个项目定位为「给 Mac 用的 MCP(Model Context Protocol)工具集」。MCP 是 Anthropic 主导推出的一个开放协议,旨在让 AI 模型能够安全、受控地调用外部工具。apple-mcp 正是将 macOS 系统能力通过 MCP 协议暴露给 AI 助手使用。
类比理解:把 MCP 想象成 USB 接口——不管你用的是什么品牌的鼠标、键盘,只要插上 USB 就能用。MCP 也是如此:不管 AI 模型是 Claude、Cursor 还是其他,通过统一的 MCP 协议,就能调用 apple-mcp 提供的这些 macOS 工具,而不需要每个 AI 应用都单独去写对接 macOS 的代码。
apple-mcp 就像是 macOS 的「AI 遥控器」——它把你在 Mac 上每天都会做的 7 大类操作(联系人、备忘录、信息、邮件、日历、提醒事项、地图)全部标准化成一个工具集,让任何支持 MCP 的 AI 都能一键调用。
通过 AppleScript 与 iMessage 深度集成,支持:发送消息(指定电话号码或联系人名称即可发送 iMessage)、读取消息(获取对话历史)、定时发送(设置未来某个时间自动发送)、未读检查(快速了解有哪些未读消息)。
这是整个工具集里最实用的功能——你可以让 AI 帮你「给妈妈发一条'今晚加班可能晚回家'的消息」,AI 会自动调用 AppleScript 完成发送。
Apple Notes 读写,支持搜索、列表、创建三种操作:搜索功能可以输入关键词找到散落在各个备忘录里的灵感;列表功能可以列出某个文件夹下的所有备忘录;创建功能可以新建带标题、正文的备忘录,自动存入指定文件夹(默认「Claude」文件夹)。
Mail.app 集成:发送功能支持普通邮件、CC、BCC、带附件(通过邮件草稿实现);搜索功能可以用关键词精确搜索历史邮件;定时发送功能和消息一样支持定时;未读数功能可以快速获取收件箱未读数量。
Calendar.app 操作:搜索事件可以找到特定日期或包含关键词的日程;创建事件可以指定时间、标题、备注创建新日程;打开事件可以直接跳转到日历中的某个事件;列出事件可以查看某时间段内的所有日程。
Reminders.app 操作:搜索功能可以找到已有的提醒;创建功能可以新建提醒并设置到期时间;列表功能可以查看所有待办;打开功能可以跳转到具体提醒事项。
通讯录集成:搜索功能可以按姓名查找联系人;获取信息可以提取电话号码、邮件地址等详细信息。
地图操作:搜索地点可以查询咖啡馆、餐厅等;保存收藏可以将地点存入个人收藏;路线导航可以获取两点之间的路线;创建指南可以建立地点指南(如「北京美食地图」);标记大头针可以在地图上做标记。
这是 apple-mcp 最惊艳的特性——多步任务链。比如你参加了一场 AI 会议后,只需对 Claude 说:
「读取我的会议笔记,找到我遇到的联系人,给他们每人发一封感谢邮件」
Claude 会自动:1. 从备忘录中读取会议笔记;2. 从联系人中提取人名;3. 逐个发送感谢邮件。整个过程完全自动化,你只需要一句话。这才是真正有生产力的 AI 助手。
apple-mcp 的技术选型非常精简高效:
TypeScript 作为核心开发语言提供了类型安全保障;@modelcontextprotocol/sdk 是 Anthropic 官方 MCP 协议 SDK;AppleScript + run-applescript 实现 macOS 原生自动化能力;@jxa/run + @jxa/global-type 提供 JavaScript for Automation 补充;@hono/node-server 用于轻量 HTTP 服务层;Zod 提供运行时 schema 校验;Bun 作为极快的 JavaScript 运行时和打包器;.dxt 文件(Claude Desktop Extension)支持一键安装。
懒加载模块设计:index.ts 采用了巧妙的懒加载模式——不是一次性加载所有模块,而是按需加载。工具集包含 7 大模块(contacts、notes、message、mail、reminders、calendar、maps),只有在用户实际调用某个工具时,对应的模块才会被加载。这大大缩短了冷启动时间,也减少了内存占用。
Safe Mode 降级策略:代码中内置了 safeModeFallback 机制。当 MCP SDK 的动态导入出现问题时,会自动降级为按需加载模式,确保工具在任何环境下都能工作。
AppleScript 封装层:每个工具模块(utils/*.ts)负责把高级操作(如「发送消息」)翻译成对应的 AppleScript 脚本,然后通过 run-applescript 库执行。AppleScript 是 macOS 的原生自动化语言,可以直接操控任何支持脚本的 macOS 应用,无需额外的进程间通信或权限申请。
.dxt 一键安装格式:项目提供了一个 26MB 的 apple-mcp.dxt 文件,这是 Claude Desktop 的扩展安装包。用户只需双击这个文件或通过 Smithery 平台(一个 MCP 工具市场),即可一键安装,无需手动配置 JSON。
项目主要文件包括:index.ts(MCP 服务器入口,懒加载协调器)、tools.ts(MCP 工具定义,7个工具的 inputSchema)、utils/ 目录下各工具的 AppleScript 实现(message.ts、notes.ts、mail.ts、calendar.ts、reminders.ts、contacts.ts、maps.ts、web-search.ts)、tests/ 目录(完整集成测试套件)、manifest.json(DXT 扩展元数据)、apple-mcp.dxt(Claude Desktop 一键安装包)。
方式一(最简单,推荐):通过 Smithery 平台安装,执行命令 npx -y install-mcp apple-mcp --client claude。
方式二:Claude Desktop 手动配置,需要编辑 ~/.config/claude/claude_desktop_config.json,在 mcpServers 下添加 apple-mcp 配置,command 设为 bunx,args 设为 --no-cache apple-mcp@latest。
方式三:DXT 双击安装,下载 apple-mcp.dxt 文件双击即可在 Claude Desktop 中安装。
重要提示:macOS 专用——这是最重要的限制。项目 manifest.json 明确声明平台为 darwin,所有 AppleScript 调用都依赖 macOS 系统,无法在 Linux/Windows 上运行。即使你把 bun 环境搭好,AppleScript 也会报错。
另外还需要 bun(推荐)或 Node.js >= 18,以及 macOS 系统上需给 Terminal/Claude 授予「自动化」权限(首次使用时 macOS 会弹出提示)。
这个项目几乎没有硬件门槛:TypeScript 代码运行在 bun/node 环境中,不需要 GPU,不需要大内存,512MB RAM + 50MB 磁盘空间完全够用。毕竟它本身不运行 AI 模型,只是调用 macOS 原生接口。
这是最大的争议点。apple-mcp 需要操控你的 iMessage、邮件、日历——这些几乎是你数字生活中最敏感的数据。项目依赖 macOS 的 AppleScript 权限系统,理论上任何一个获得了 MCP 工具调用权限的 AI 都能代表你发送消息或读取邮件。建议只在本地运行的 AI 助手上使用(如 Claude Desktop),不要连接未知的远程 MCP 服务;定期检查系统偏好设置中的自动化权限;避免让 AI 自动回复来自陌生人的消息。
目前没有 Windows 或 Linux 版本,iPhone/Android 更是无缘。如果你的工作流跨平台,这个工具的适用范围会大打折扣。
AppleScript 执行依赖目标应用的脚本接口可用性。如果某个苹果 app 版本更新后移除了或更改了脚本接口,工具可能会失败。项目有测试套件覆盖各模块,但毕竟是在真实系统上测试,更新 macOS 后偶尔可能需要等待作者同步更新。
AppleScript 操作需要你登录 Mac 并有图形会话。如果 Mac 锁屏或睡眠,某些自动化操作会失败。这不是 bug,是 macOS 的安全设计。
apple-mcp 背后是「AI + 本地系统深度集成」的趋势。传统上,AI 助手是「云端大脑」,能聊天但无法操控本地应用。apple-mcp 让 AI 直接调用 macOS 原生能力,真正把 AI 变成了「数字生活的操作系统」。
这个项目只是 MCP 生态的一个例子。在 GitHub 上,支持 MCP 的工具已经覆盖了文件系统、数据库、Git、云服务等各种领域。apple-mcp 的成功也激励了更多开发者为其他平台(Windows、Linux 桌面环境)开发类似的 MCP 工具。
Stars 已超过 3100 并持续增长;项目被收录于 Glama.ai MCP 服务器目录和 Smithery MCP 市场;作者持续活跃维护,提交频率较高。
强烈推荐给:macOS 用户,日常使用 Claude Desktop 或 Cursor;需要 AI 辅助处理日常事务(写邮件、管日程、发消息);喜欢探索 AI Agent 能力的开发者。
不适合:Windows 或 Linux 用户;对隐私极度敏感(需要权衡便利性和安全性);需要在无头服务器(headless)上运行的用户。
总的来说,apple-mcp 是一个小而美的工具——它不追求大模型、不做云端部署,专注于解决一个具体问题:「如何让 AI 真正帮我做事,而不只是聊天」。如果你有一台 Mac,这个工具值得花 10 分钟装上试试。