Siri快捷指令服务

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

作者 By dvcrn
本地部署 Siri快捷指令 自动化工具
GitHub

Siri快捷方式MCP服务器

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

特性

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

工具

基础工具

  1. list_shortcuts
  • 列出系统上所有可用的Siri快捷键
  • 无需输入
  • 返回:快捷方式名称数组

JSON``` 1 2 3{ “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配置中:


JSON```
1
2
3
4
5
6
7
8
9
10
11
12{
  "mcpServers": {
    "siri-shortcuts": {
      "command": "npx",
      "args": ["mcp-server-siri-shortcuts"],
      "env": {
        "GENERATE_SHORTCUT_TOOLS": "true",
        "INJECT_SHORTCUT_LIST": "false"
      }
    }
  }
}

实现细节

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