Run macOS Siri Shortcuts via MCP
Let Claude list, open, and run macOS Siri Shortcuts - every shortcut becomes its own callable tool automatically.
Why it matters
Integrate your macOS Siri Shortcuts with an MCP server to enable LLM-driven automation. Control and execute any shortcut directly from your AI applications.
Outcomes
What it gets done
List all available Siri Shortcuts on your macOS system.
Open specific Siri Shortcuts within the macOS Shortcuts app.
Run Siri Shortcuts with optional input parameters.
Dynamically invoke individual Siri Shortcuts as distinct tools.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-siri-shortcuts | bash Capabilities
Tools your agent gets
Lists all available Siri Shortcuts on the system
Opens a shortcut in the Shortcuts app
Runs a shortcut with optional input data
Overview
Siri Shortcuts MCP Server
Siri Shortcuts MCP Server exposes macOS Shortcuts to Claude, automatically generating a callable tool for every shortcut on the system alongside base list/open/run tools. Use it on macOS when Claude needs to trigger existing Shortcuts automation. Disable GENERATE_SHORTCUT_TOOLS if a large shortcut library would bloat context with too many generated tools.
What it does
Siri Shortcuts MCP Server exposes the macOS Shortcuts app to Claude via the Model Context Protocol, using the shortcuts CLI under the hood. It exposes every shortcut on your system, letting Claude list, open, or run any of them, including with text or file input.
When to use - and when NOT to
Use it when you want Claude to trigger automation you've already built in the macOS Shortcuts app - anything from simple notifications to complex multi-app workflows - by name, optionally passing text or a filepath as input. It automatically generates a dedicated tool for each shortcut (run_shortcut_[sanitized_name]) so Claude can call them directly, or you can use the generic run_shortcut with a name/UUID. Do not enable both dynamic tool generation and a very large shortcut library without considering context size - each generated tool adds to what's loaded into the model's context; disable GENERATE_SHORTCUT_TOOLS if you only need the three base tools.
Capabilities
list_shortcuts: list all available shortcuts on the system, no input required.open_shortcut: open a named shortcut in the Shortcuts app.run_shortcut: run a shortcut by name or UUID, with optional text or filepath input.- Dynamic per-shortcut tools (
run_shortcut_[sanitized_name]): automatically generated for every available shortcut, each runnable with optional input.
How to install
Configure Claude:
{
"mcpServers": {
"siri-shortcuts": {
"command": "npx",
"args": ["mcp-server-siri-shortcuts"],
"env": {
"GENERATE_SHORTCUT_TOOLS": "true",
"INJECT_SHORTCUT_LIST": "false"
}
}
}
}
GENERATE_SHORTCUT_TOOLS (default true) controls whether per-shortcut tools are generated; INJECT_SHORTCUT_LIST (default false) injects the list of available shortcuts into the run_shortcut tool description to help the LLM pick the right one. Requires macOS with the Shortcuts app and shortcuts already created.
Who it's for
macOS power users who've built automation in the Shortcuts app and want Claude to trigger it directly - notifications, file processing, multi-app workflows - instead of manually opening the Shortcuts app.
Source README
Siri Shortcuts MCP Server
This MCP server provides access to Siri shortcuts functionality via the Model Context Protocol (MCP). It allows listing, opening, and running shortcuts from the macOS Shortcuts app.
Features
- Exposes all shortcuts, meaning the LLM can call anything that is available in the Shortcuts app.
- List all available shortcuts
- Open shortcuts in the Shortcuts app
- Run shortcuts with optional input parameters
- Dynamically generated tools for each available shortcut
Tools
Base Tools
list_shortcuts- Lists all available Siri shortcuts on the system
- No input required
- Returns: Array of shortcut names
{ "shortcuts": [{ "name": "My Shortcut 1" }, { "name": "My Shortcut 2" }] }open_shortcut- Opens a shortcut in the Shortcuts app
- Input:
name(string): Name of the shortcut to open
run_shortcut- Runs a shortcut with optional input
- Input:
name(string): Name or identifier (UUID) of the shortcut to runinput(string, optional): Text input or filepath to pass to the shortcut
Dynamic Tools
The server automatically generates additional tools for each available shortcut in the format:
- Tool name:
run_shortcut_[sanitized_shortcut_name] - Description: Runs the specific shortcut
- Input:
input(string, optional): Text input or filepath to pass to the shortcut
Configuration
The server supports the following environment variables:
GENERATE_SHORTCUT_TOOLS(default:true): When set tofalse, disables the generation of dynamic shortcut tools. Only the base tools (list_shortcuts,open_shortcut,run_shortcut) will be available.INJECT_SHORTCUT_LIST(default:false): When set totrue, injects the list of available shortcuts into therun_shortcuttool description to help the LLM understand which shortcuts are available.
Usage with Claude
Add to your Claude configuration:
{
"mcpServers": {
"siri-shortcuts": {
"command": "npx",
"args": ["mcp-server-siri-shortcuts"],
"env": {
"GENERATE_SHORTCUT_TOOLS": "true",
"INJECT_SHORTCUT_LIST": "false"
}
}
}
}
Implementation Details
- Uses the macOS
shortcutsCLI command under the hood - Sanitizes shortcut names for tool naming compatibility
- Supports both direct text input and file-based input
- Returns shortcut output when available
- Implements standard MCP error handling
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.