Siri快捷方式MCP服务器
此MCP服务器通过模型上下文协议(MCP)提供对Siri快捷方式功能的访问。它允许从macOS shortcuts应用程序中列出、打开和运行快捷方式。
特性
- 暴露 全部 快捷方式,这意味着LLM可以调用shortcuts应用程序中可用的任何内容。
- 列出所有可用快捷方式
- 在快捷方式应用程序中打开快捷方式
- 使用可选输入参数运行快捷方式
- 为每个可用快捷方式动态生成的工具
工具
基础工具
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错误处理