MCP ExplorerExplorer

Siri Shortcuts

@dvcrnon 14 days ago
134 MIT
FreeCommunity
System Tools
#siri#shortcuts#automation
MCP to interact with Siri Shortcuts on macOS. Exposes all Shortcuts as MCP tools.

Overview

What is Siri Shortcuts

The MCP Server for Siri Shortcuts enables access to Siri shortcuts functionality through the Model Context Protocol (MCP), allowing users to interact with the macOS Shortcuts app programmatically.

Use cases

This server can be used to list all available Siri shortcuts, open specific shortcuts, and run them with optional input parameters. It is ideal for automating tasks or integrating Siri shortcuts into larger workflows.

How to use

Users can utilize base tools such as list_shortcuts, open_shortcut, and run_shortcut. Additionally, dynamic tools for specific shortcuts can be generated automatically if enabled. Configuration involves adding the server to Claude with specified environment settings.

Key features

The server exposes all shortcuts in the Shortcuts app, supports dynamic tool generation for each shortcut, allows input parameter specification for running a shortcut, and utilizes macOS shortcuts CLI for functionality.

Where to use

This MCP Server is useful in macOS environments, particularly for developers or automation enthusiasts who want to leverage Siri shortcuts in custom applications or workflows.

Content

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.

screenshot

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

  1. 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"
        }
      ]
    }
  2. open_shortcut

    • Opens a shortcut in the Shortcuts app
    • Input:
      • name (string): Name of the shortcut to open
  3. run_shortcut

    • Runs a shortcut with optional input
    • Input:
      • name (string): Name or identifier (UUID) of the shortcut to run
      • input (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 to false, 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 to true, injects the list of available shortcuts into the run_shortcut tool 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 shortcuts CLI 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

Tools

list_shortcuts
List all available Siri shortcuts
open_shortcut
Open a shortcut in the Shortcuts app
run_shortcut
Run a shortcut with optional input and output parameters

Comments