About Apple Shortcuts
Apple Shortcuts is an MCP server that exposes macOS Shortcuts through the `shortcuts` CLI for Rebel and other MCP clients. It is intended for users who want to inspect and run shortcuts on a Mac.
Key features
- 01List shortcuts and filter by folder
- 02Run shortcuts with text input
- 03Open shortcuts in the Shortcuts editor
- 04Configure command timeouts
Use cases
- 01Find shortcuts in a specific folder
- 02Pass text to a shortcut and run it
- 03Inspect a shortcut in the editor before running
MCP support
The MCP server provides tools to list, run, and open local shortcuts for MCP clients. It requires macOS with the Shortcuts app installed.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @mindstone/mcp-server-apple-shortcutsAPPLE_SHORTCUTS_TIMEOUT_MSMaximum time in milliseconds to wait for a shortcuts CLI invocation before terminating itLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
3Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| folder_name | string | No | Optional folder name to list shortcuts from. Omit to list all shortcuts. |
| show_identifiers | boolean | No | Whether to show internal identifiers alongside shortcut names. |
Details
From the project READMEApple Shortcuts MCP Server
An MCP server that exposes Apple Shortcuts functionality to Rebel via the macOS shortcuts CLI.
One-click install
After clicking the button, your host will prompt you to fill: APPLE_SHORTCUTS_TIMEOUT_MS.
Manual config for 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"
}
}
}
}
Status
- Version: 0.2.1 · npm
- Auth: None (
server.json) - Tools: 3 (shortcuts)
- Surface: local-cli
- Machine-readable:
STATUS.json
Prerequisites
- macOS with the Shortcuts app installed
- Node.js 18+
Setup
cd ~/mcp-servers/apple-shortcuts
npm install
npm run build
No credentials or environment variables are required.
Tools
apple_shortcuts_list
List all available shortcuts, optionally filtered by folder.
| Argument | Type | Required | Description |
|---|---|---|---|
folder_name | string | No | Folder to list from. Use "none" for shortcuts not in any folder. |
show_identifiers | boolean | No | Include internal identifiers (default: false) |
apple_shortcuts_run
Run a named shortcut with optional text input.
| Argument | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Exact name or identifier of the shortcut |
input | string | No | Text content to send to the shortcut as its Magic Variable input. Provide the literal text — the connector stores it in a private, mode-0o600 temporary file (under os.tmpdir()) and forwards that location to the macOS shortcuts CLI for you. The temporary file is removed once the shortcut returns. Do NOT supply a filename here. |
apple_shortcuts_view
Open a named shortcut in the Shortcuts app editor on the Mac, so you can visually review what it does before running it. The definition opens in the Shortcuts GUI — this tool does not return the definition as text.
| Argument | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Exact name or identifier of the shortcut to open |
Configuration
No credentials are required. One optional environment variable tunes runtime behavior:
| Variable | Default | Description |
|---|---|---|
APPLE_SHORTCUTS_TIMEOUT_MS | 120000 | Maximum time in milliseconds a shortcuts CLI invocation may run before the connector terminates it (SIGTERM, then SIGKILL after a 5s grace period). Raise this for shortcuts that legitimately take longer than two minutes. |
Output trust model
Shortcut names (apple_shortcuts_list) and shortcut stdout (apple_shortcuts_run, apple_shortcuts_view) are user-authored text returned by the local shortcuts CLI. The connector wraps all such output in <untrusted-content source="apple-shortcuts:..."> envelopes so the model treats it as data, not instructions. Shortcut names echoed back in apple_shortcuts_run / apple_shortcuts_view confirmation, error, and timeout messages are enveloped the same way — a name is attacker-controllable text once it appears in the list output.
Register in Rebel
Add the connector in Settings → Connectors with:
- Command:
node - Args:
["<absolute path to>/mcp-servers/apple-shortcuts/dist/index.js"](e.g.~/mcp-servers/apple-shortcuts/dist/index.jsexpanded to an absolute path)
Caveats
- macOS only — the
shortcutsCLI is not available on other platforms. - Shortcuts that open GUI dialogs or prompt for confirmation cannot answer from the command line; they are terminated after
APPLE_SHORTCUTS_TIMEOUT_MS(default 120s) instead of blocking forever. If termination cannot be confirmed (signal delivery fails or the process never exits after SIGKILL), the timeout error says the process may still be running rather than claiming it was stopped. - Captured stdout/stderr per invocation is bounded (1,000,000 characters per stream); output beyond the bound is dropped and marked with a truncation notice, so a shortcut emitting unbounded output cannot exhaust memory.
- Running a shortcut has the same system permissions as the logged-in user — a shortcut can send messages, delete files, make purchases, control devices, or call remote APIs.
apple_shortcuts_runis annotateddestructiveHint: trueso hosts require explicit user approval before running one.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.