mcpField
M
Mac Shortcuts — read your Mac from any agent

Mac Shortcuts — read your Mac from any agent

本地服务
github.com生产力145 周前更新

关于 Mac Shortcuts — read your Mac from any agent

mac-shortcuts-mcp 是面向 AI Agent 的本地 MCP 服务,可读取 macOS 应用中的数据。它通过 Apple Shortcuts 执行读取,并提供 Shortcuts 动作目录。

主要功能

  1. 01读取日历事件和提醒事项
  2. 02搜索备忘录和联系人
  3. 03读取剪贴板、位置和天气
  4. 04查看设备信息和正在播放的曲目
  5. 05运行已安装的 Shortcuts
  6. 06查询 Shortcuts 动作目录

适用场景

  1. 01查看近期日程和提醒事项
  2. 02查找备忘录或联系人信息
  3. 03检查剪贴板内容或本地天气

MCP 相关

它通过本地服务向 MCP 客户端提供 Mac 数据读取工具。内置配方为只读,但运行任意已安装的 Shortcut 可能产生副作用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dominic-dk-mac-shortcuts": {
"command": "npx",
"args": [
"-y",
"mac-shortcuts-mcp"
]
}
}
}
启动命令npx -y mac-shortcuts-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmac-shortcuts-mcp0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mac-shortcuts-mcp

让任何 AI Agent 都能读取你的 Mac。 日历、提醒事项、备忘录、联系人、剪贴板、位置、天气、正在播放的内容——通过 Apple 快捷指令实现。只读、本地运行、无需账号或服务端。

适用于 Claude Code、Claude Desktop、Cursor、Codex 或任何 MCP 客户端。

npx -y mac-shortcuts-mcp setup      # install the read recipes (once)
{
  "mcpServers": {
    "mac": { "command": "npx", "args": ["-y", "mac-shortcuts-mcp"] }
  }
}

然后询问你的 Agent:“我这周的日历上有什么?” · “查找关于租约的备忘录。” · “简的电话号码是多少?”

为什么要做这个

你的 Agent 无法读取 Apple 的第一方应用。它没有相应权限,也没有 API。 快捷指令可以。 此服务将任务交给 Shortcuts.app,它拥有这些权限,并将文本返回给你。

窍门就是这么简单。这里没有什么高明之处——只是把它们连接起来。

它能做什么

工具读取内容
mac_calendar未来 N 天的事件
mac_reminders提醒事项,可指定单个列表
mac_notes符合搜索条件的备忘录及其正文
mac_contacts按姓名查找联系人
mac_clipboard当前剪贴板内容
mac_location地址和坐标
mac_weather这台 Mac 所在位置的天气
mac_device设备名称和电池电量
mac_now_playing当前正在播放的曲目
mac_shortcuts_list这台 Mac 上的所有快捷指令
mac_run_shortcut按名称运行你创建的快捷指令
mac_action_catalog搜索快捷指令操作目录——见下文
mac_setup / mac_status安装只读配方,检查准备情况

随附的配方均为只读。 mac_run_shortcut 可以运行任何已安装的快捷指令,包括会写入数据或发送消息的快捷指令。其描述会要求 Agent 在行为未知时先向你确认;但这并不是强制执行的只读沙箱。

从 Mac 读取的所有内容都会标记为数据,而非指令,因此,写着“忽略你之前的指令”的备忘录会作为文本交给 Agent,而不会被当作命令。

操作目录

此软件包中的 action-catalog.json 记录了 539 项快捷指令操作——每项操作都列出了其接受的参数键、参数类型、标签、输出类型和所需权限。

Apple 并未公开这些信息。它们是从 macOS 27 上运行的 WFActionRegistry 中提取的。

这很重要,因为错误的参数键不会引发错误——而是被静默忽略,你的快捷指令则会返回一个看似可信的错误答案。我们对此进行了精确测量:一个组合快捷指令使用了一个看似合理但实际错误的键,结果返回了 0 而不是 3,且没有任何警告。

使用 mac_action_catalog 查询键,也可以直接查看 JSON。MIT 许可,随意使用。

is.workflow.actions.addnewevent  — 새로운 이벤트  [harvested]
  출력: EKEvent
  권한: calendar, contacts, needs-interaction
  · WFCalendarItemTitle (text) — 제목
  · WFCalendarItemStartDate (date) — 시작일
  …

覆盖情况:497 项从注册表中采集,9 项根据缓存的定义字符串推断,33 项在 macOS 上不存在(仅限 iOS 的操作,加上少数并非操作的字符串——其中包括一处 Apple 拼写错误)。

如实说明设置过程

运行 mac-shortcuts-mcp setup 会在你的 Mac 上为随附配方签名,并在“快捷指令”App 中逐个打开。你需要为每个配方点击一次添加快捷指令。

此软件包提供的是可读的 XML plist 文件,而非已签名的二进制文件。打开 recipes/*.plist,就能确切查看你要安装的内容。一个要求你安装不透明文件的开源工具,并不能算真正开源。

传入 --auto 后,工具会使用辅助功能 API 为你点击添加快捷指令。这需要辅助功能权限,因此默认关闭——工具不应悄悄索取该权限。

配方首次访问联系人或日历时,macOS 会请求权限。此提示来自“快捷指令”,而非此服务。

限制

Mac 进入睡眠时,此工具无法运行。 进程会停止,无法进行通信。锁屏没有影响——我们测得,屏幕锁定时 63 次调用中有 62 次成功,速度与解锁时相同。真正的限制是睡眠。

随附配方只读取数据;任意已安装的快捷指令则可能产生副作用。仅适用于 macOS。结果会发送给你连接的 Agent。

需要一台永不休眠的设备时

装在包里的 Mac 无法响应。口袋里的手机可以。

Askew 能在锁定的 iPhone 上完成同样的事情——你的 Agent 会在手机上运行快捷指令,并在大约 3 秒内获得结果,屏幕关闭,手机就在口袋里。它不是免费的,而且解决的是另一个问题:需要推送中继、端到端加密和应用。这个工具不需要这些。

许可证

MIT。欢迎提交问题和拉取请求。


韩语

让 Agent 读取我的 Mac。 通过 Apple 快捷指令读取日历、提醒事项、备忘录、联系人、剪贴板、位置和天气。只读、本地、无账户、无服务端。

npx -y mac-shortcuts-mcp setup      # 읽기 레시피 설치 (처음 한 번)

Agent 无法读取第一方应用,是因为没有权限,也没有 API。快捷指令可以读取。 此服务会把工作交给 Shortcuts.app,然后只取回结果文本。

默认配方为只读。 但 mac_run_shortcut 也可以运行已安装的快捷指令,包括写入和发送消息。虽然会提示先询问用户是否了解其行为,但它并不是强制只读的隔离环境。从 Mac 读取的所有内容都会标记为资料,而非指令。

我们还公开了包含 539 种操作的目录。每种操作接受哪些参数键,这些值 Apple 并未提供文档说明。键名不对就会被静默忽略,不报错,并返回错误答案——我们实际测试过。任何人都可以执行操作,但要创建操作,就需要这份清单。

限制:Mac 休眠后,什么都做不了。 锁定屏幕没有问题(锁定状态下 63 次中成功 62 次,速度也相同)。休眠才是障碍。

如果你需要一台不会休眠的设备,那就是手机。Askew 可以在锁定的 iPhone 上完成同样的事情。无需点亮屏幕,大约 3 秒就能返回结果。它不是免费的,而且解决的是另一个问题——需要推送中继、端到端加密和应用。这个工具不需要这些。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。