关于 Apple Shortcuts
Apple Shortcuts MCP 服务通过 macOS 的 `shortcuts` 命令行向 Rebel 等 MCP 客户端提供快捷指令操作,适用于希望查看和运行本机快捷指令的用户。
主要功能
- 01列出快捷指令并按文件夹筛选
- 02运行快捷指令并传入文本
- 03在快捷指令应用中打开指令
- 04可配置命令执行超时
适用场景
- 01查找特定文件夹中的快捷指令
- 02向快捷指令传入文本并执行
- 03运行前在编辑器中检查快捷指令
MCP 相关
该 MCP 服务将本机快捷指令的列表、运行和打开功能作为工具提供给 MCP 客户端。仅支持安装了快捷指令应用的 macOS。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| folder_name | string | 否 | 要列出快捷指令的可选文件夹名称。省略则列出所有快捷指令。 |
| show_identifiers | boolean | 否 | 是否在快捷指令名称旁显示内部标识符。 |
详细介绍
Apple Shortcuts MCP 服务
一个通过 macOS shortcuts CLI 向 Rebel 提供 Apple Shortcuts 功能的 MCP 服务。
一键安装
点击按钮后,宿主将提示你填写:APPLE_SHORTCUTS_TIMEOUT_MS。
Claude Desktop / Claude Code / Goose / Continue.dev 手动配置(Apple Shortcuts)
{
"mcpServers": {
"Apple Shortcuts": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-apple-shortcuts"
],
"env": {
"APPLE_SHORTCUTS_TIMEOUT_MS": "120000"
}
}
}
}
状态
- 版本: 0.2.1 · npm
- 身份验证: 无(
server.json) - 工具: 3(shortcuts)
- 接口: 本地 CLI
- 机器可读:
STATUS.json
前置条件
- 安装了 Shortcuts 应用的 macOS
- Node.js 18+
设置
cd ~/mcp-servers/apple-shortcuts
npm install
npm run build
无需凭据或环境变量。
工具
apple_shortcuts_list
列出所有可用的快捷指令,也可按文件夹筛选。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
folder_name | string | 否 | 要列出快捷指令的文件夹。对于不在任何文件夹中的快捷指令,请使用 "none"。 |
show_identifiers | boolean | 否 | 包含内部标识符(默认值:false) |
apple_shortcuts_run
运行指定名称的快捷指令,可选择提供文本输入。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
name | string | 是 | 快捷指令的准确名称或标识符 |
input | string | 否 | 作为“魔法变量”输入发送给快捷指令的文本内容。请提供原始文本——连接器会将其存储在私有的、权限模式为 0o600 的临时文件(位于 os.tmpdir() 下),并代你将该文件位置传递给 macOS shortcuts CLI。快捷指令返回后,临时文件将被删除。请勿在此处提供文件名。 |
apple_shortcuts_view
在 Mac 上的 Shortcuts 应用编辑器中打开指定名称的快捷指令,以便你在运行前直观检查其功能。快捷指令定义会在 Shortcuts GUI 中打开——此工具不会以文本形式返回定义。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
name | string | 是 | 要打开的快捷指令的准确名称或标识符 |
配置
无需凭据。可通过一个可选环境变量调整运行时行为:
| 变量 | 默认值 | 描述 |
|---|---|---|
APPLE_SHORTCUTS_TIMEOUT_MS | 120000 | shortcuts CLI 调用运行的最长时间,超过此时间连接器将终止该调用(先发送 SIGTERM,然后在 5s 宽限期后发送 SIGKILL)。如果快捷指令确实需要运行超过两分钟,请调高此值。 |
输出信任模型
快捷指令名称(apple_shortcuts_list)和快捷指令标准输出(apple_shortcuts_run、apple_shortcuts_view)是由用户编写、通过本地 shortcuts CLI 返回的文本。连接器会将所有此类输出包装在 <untrusted-content source="apple-shortcuts:..."> 信封中,使模型将其视为数据而非指令。在 apple_shortcuts_run / apple_shortcuts_view 的确认、错误和超时消息中回显的快捷指令名称也会以同样方式包装——名称一旦出现在列表输出中,就成为攻击者可控制的文本。
在 Rebel 中注册
在 Settings → Connectors 中添加连接器:
- Command:
node - Args:
["<absolute path to>/mcp-servers/apple-shortcuts/dist/index.js"](例如,将~/mcp-servers/apple-shortcuts/dist/index.js展开为绝对路径)
注意事项
- 仅限 macOS——其他平台不提供
shortcutsCLI。 - 无法从命令行响应会打开 GUI 对话框或要求确认的快捷指令;这类快捷指令会在
APPLE_SHORTCUTS_TIMEOUT_MS(默认 120s)后终止,而不是无限期阻塞。如果无法确认终止(信号发送失败,或进程在收到 SIGKILL 后仍未退出),超时错误会提示进程可能仍在运行,而不会声称进程已停止。 - 每次调用捕获的 stdout/stderr 均有上限(每个流 1,000,000 个字符);超出上限的输出会被丢弃并标记为已截断,因此快捷指令即使输出不受限制,也不会耗尽内存。
- 运行快捷指令时,它拥有与已登录用户相同的系统权限——快捷指令可以发送消息、删除文件、进行购买、控制设备或调用远程 API。
apple_shortcuts_run标注为destructiveHint: true,因此宿主必须先获得用户明确批准,才能运行快捷指令。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。