mcpField
A
Apple Shortcuts

Apple Shortcuts

本地服务
github.com/mindstone生产力13今天更新

关于 Apple Shortcuts

Apple Shortcuts MCP 服务通过 macOS 的 `shortcuts` 命令行向 Rebel 等 MCP 客户端提供快捷指令操作,适用于希望查看和运行本机快捷指令的用户。

主要功能

  1. 01列出快捷指令并按文件夹筛选
  2. 02运行快捷指令并传入文本
  3. 03在快捷指令应用中打开指令
  4. 04可配置命令执行超时

适用场景

  1. 01查找特定文件夹中的快捷指令
  2. 02向快捷指令传入文本并执行
  3. 03运行前在编辑器中检查快捷指令

MCP 相关

该 MCP 服务将本机快捷指令的列表、运行和打开功能作为工具提供给 MCP 客户端。仅支持安装了快捷指令应用的 macOS。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"mindstone-mcp-server-apple-shortcuts": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-apple-shortcuts"
],
"env": {
"APPLE_SHORTCUTS_TIMEOUT_MS": "<APPLE_SHORTCUTS_TIMEOUT_MS>"
}
}
}
}
启动命令npx -y @mindstone/mcp-server-apple-shortcuts
需要配置的环境变量
APPLE_SHORTCUTS_TIMEOUT_MSMaximum time in milliseconds to wait for a shortcuts CLI invocation before terminating it

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

安装包
npm@mindstone/mcp-server-apple-shortcuts0.2.1

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
folder_namestring否要列出快捷指令的可选文件夹名称。省略则列出所有快捷指令。
show_identifiersboolean否是否在快捷指令名称旁显示内部标识符。

详细介绍

Apple Shortcuts MCP 服务

一个通过 macOS shortcuts CLI 向 Rebel 提供 Apple Shortcuts 功能的 MCP 服务。

一键安装

添加到 Cursor 添加到 VS Code 添加到 VS Code Insiders

点击按钮后,宿主将提示你填写: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"
      }
    }
  }
}

状态

前置条件

  • 安装了 Shortcuts 应用的 macOS
  • Node.js 18+

设置

cd ~/mcp-servers/apple-shortcuts
npm install
npm run build

无需凭据或环境变量。

工具

apple_shortcuts_list

列出所有可用的快捷指令,也可按文件夹筛选。

参数类型必填描述
folder_namestring否要列出快捷指令的文件夹。对于不在任何文件夹中的快捷指令,请使用 "none"。
show_identifiersboolean否包含内部标识符(默认值:false)
apple_shortcuts_run

运行指定名称的快捷指令,可选择提供文本输入。

参数类型必填描述
namestring是快捷指令的准确名称或标识符
inputstring否作为“魔法变量”输入发送给快捷指令的文本内容。请提供原始文本——连接器会将其存储在私有的、权限模式为 0o600 的临时文件(位于 os.tmpdir() 下),并代你将该文件位置传递给 macOS shortcuts CLI。快捷指令返回后,临时文件将被删除。请勿在此处提供文件名。
apple_shortcuts_view

在 Mac 上的 Shortcuts 应用编辑器中打开指定名称的快捷指令,以便你在运行前直观检查其功能。快捷指令定义会在 Shortcuts GUI 中打开——此工具不会以文本形式返回定义。

参数类型必填描述
namestring是要打开的快捷指令的准确名称或标识符

配置

无需凭据。可通过一个可选环境变量调整运行时行为:

变量默认值描述
APPLE_SHORTCUTS_TIMEOUT_MS120000shortcuts 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——其他平台不提供 shortcuts CLI。
  • 无法从命令行响应会打开 GUI 对话框或要求确认的快捷指令;这类快捷指令会在 APPLE_SHORTCUTS_TIMEOUT_MS(默认 120s)后终止,而不是无限期阻塞。如果无法确认终止(信号发送失败,或进程在收到 SIGKILL 后仍未退出),超时错误会提示进程可能仍在运行,而不会声称进程已停止。
  • 每次调用捕获的 stdout/stderr 均有上限(每个流 1,000,000 个字符);超出上限的输出会被丢弃并标记为已截断,因此快捷指令即使输出不受限制,也不会耗尽内存。
  • 运行快捷指令时,它拥有与已登录用户相同的系统权限——快捷指令可以发送消息、删除文件、进行购买、控制设备或调用远程 API。apple_shortcuts_run 标注为 destructiveHint: true,因此宿主必须先获得用户明确批准,才能运行快捷指令。

评论

支持 Markdown

第一次接触 MCP?

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

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