Siri快捷指令服务

通过模型上下文协议(MCP)提供对Siri快捷指令功能的访问,支持列出、打开和运行macOS快捷指令应用中的指令。

  • by dvcrn
  • TypeScript
  • 本地部署
  • 195 星标
  • 更新于
在 GitHub 查看 dvcrn/mcp-server-siri-shortcuts

使用说明

Siri快捷方式MCP服务器

此MCP服务器通过模型上下文协议(MCP)提供对Siri快捷方式功能的访问。它允许从macOS shortcuts应用程序中列出、打开和运行快捷方式。

特性

  • 暴露 全部 快捷方式,这意味着LLM可以调用shortcuts应用程序中可用的任何内容。
  • 列出所有可用快捷方式
  • 在快捷方式应用程序中打开快捷方式
  • 使用可选输入参数运行快捷方式
  • 为每个可用快捷方式动态生成的工具

工具

基础工具

  1. list_shortcuts

    • 列出系统上所有可用的Siri快捷键
    • 无需输入
    • 返回:快捷方式名称数组
    {
      "shortcuts": [{ "name": "My Shortcut 1" }, { "name": "My Shortcut 2" }]
    }
    
  2. open_shortcut

    • 在“快捷方式”应用程序中打开快捷方式
    • 输入:
      • name (string):要打开的快捷方式的名称
  3. run_shortcut

    • 运行带有可选输入的快捷方式
    • 输入:
      • name (string):要运行的快捷方式的名称或标识符(UUID)
      • input (字符串,可选):要传递给快捷方式的文本输入或文件路径

动态工具

服务器会自动为每个可用快捷方式生成以下格式的附加工具:

  • 工具名称: run_shortcut_[sanitized_shortcut_name]
  • 说明:运行特定快捷方式
  • 输入:
    • input (字符串,可选):要传递给快捷方式的文本输入或文件路径

配置

服务器支持以下环境变量:

  • GENERATE_SHORTCUT_TOOLS (默认值: true):设置为时 false,禁用动态快捷方式工具的生成。只有基础工具(list_shortcuts, open_shortcut, run_shortcut)将可用。
  • INJECT_SHORTCUT_LIST (默认值: false):设置为时 true,将可用快捷方式列表注入到 run_shortcut 工具描述,以帮助LLM了解可用的快捷方式。

与Claude一起使用

添加到您的Claude配置中:

{
  "mcpServers": {
    "siri-shortcuts": {
      "command": "npx",
      "args": ["mcp-server-siri-shortcuts"],
      "env": {
        "GENERATE_SHORTCUT_TOOLS": "true",
        "INJECT_SHORTCUT_LIST": "false"
      }
    }
  }
}

实现细节

  • 使用macOS shortcuts 幕后的CLI命令
  • 对快捷方式名称进行消毒,以实现工具命名兼容性
  • 支持直接文本输入和基于文件的输入
  • 返回快捷方式输出(如果可用)
  • 实施标准MCP错误处理