Apple Shortcuts Server
The Apple Shortcuts Server enables AI assistants like Claude to control macOS Shortcuts automations. With this server, you can:
Run Shortcuts: Execute specific macOS Shortcuts by providing the shortcut's name and optional input
List Shortcuts: Retrieve all available Shortcuts for automation tasks
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Apple Shortcuts Serverrun my morning routine shortcut"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Apple Shortcuts MCP Server 🤖
A Model Context Protocol (MCP) server that lets AI assistants like Claude control Apple Shortcuts automations. This enables AI models to trigger shortcuts and automate tasks on macOS in a safe and controlled way.
What is MCP? 🤔
The Model Context Protocol (MCP) is a system that lets AI apps, like Claude Desktop, connect to external tools and data sources. It gives a clear and safe way for AI assistants to work with local services and APIs while keeping the user in control.
Related MCP server: mcp-netbird
What does this server do? 🚀
The Apple Shortcuts MCP server:
Enables AI assistants to list available shortcuts
Allows running shortcuts by name with optional input parameters
Provides a simple interface for automation control
Prerequisites 📋
Before you begin, ensure you have:
Node.js (v18 or higher)
Claude Desktop installed
macOS with Shortcuts app configured
Configuration to use Apple Shortcuts Server ⚙️
Here's the Claude Desktop configuration to use the Apple Shortcuts server:
{
"mcpServers": {
"apple-shortcuts": {
"command": "npx",
"args": ["-y", "mcp-server-apple-shortcuts"]
}
}
}Build Apple Shortcuts Server and run locally 🛠️
Clone this repository:
git clone git@github.com:recursechat/mcp-server-apple-shortcuts.gitInstall dependencies:
npm installBuild project
npm run buildHere's the Claude Desktop configuration to use the Apple Shortcuts server with a local build:
{
"mcpServers": {
"apple-shortcuts": {
"command": "npx",
"args": ["/path/to/mcp-server-apple-shortcuts/build/index.js"],
}
}
}Usage 🎯
You can ask Claude "list shortcuts" or run a specific shortcut with the shortcut name, for example "get word of the day" or "play a song".
License ⚖️
Apache-2.0
Available Tools
2 toolslist_shortcutsB
List all available shortcuts
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic function without mentioning any behavioral traits like whether the list is paginated, sorted, filtered, or if there are rate limits, authentication requirements, or side effects. This leaves significant gaps for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple tool and front-loads the essential information. Every word earns its place in conveying the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description is minimal but incomplete. It lacks context about the return format (e.g., what data is included in the list), behavioral details, or usage guidelines. While the tool is straightforward, the description doesn't provide enough information for an agent to fully understand its operation without annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the schema description coverage is 100% (though empty). The description doesn't need to add parameter semantics, so it meets the baseline expectation for a parameterless tool. No additional value is needed or provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('all available shortcuts'), providing a specific verb+resource combination. However, it doesn't differentiate from its sibling 'run_shortcut' beyond the obvious difference between listing and executing, which keeps it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, context for usage, or comparison with the sibling 'run_shortcut' tool. It merely states what the tool does without indicating appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_shortcutC
Run a Shortcuts automation by name
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the shortcut to run | |
| input | No | Optional input to pass to the shortcut |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool runs a shortcut but doesn't explain what that entails—whether it's synchronous/asynchronous, if it requires permissions, potential side effects, or error handling. This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded and appropriately sized for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of executing automations, no annotations, and no output schema, the description is incomplete. It fails to address key aspects like what the tool returns, error conditions, or behavioral traits, leaving the agent with insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, with clear descriptions for both parameters. The description adds no additional meaning beyond the schema, such as examples of valid shortcut names or input formats. Baseline 3 is appropriate since the schema adequately documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Run') and resource ('Shortcuts automation'), making the purpose understandable. However, it doesn't differentiate from the sibling tool 'list_shortcuts' beyond the basic verb difference, missing an opportunity to clarify this tool executes while the sibling enumerates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or any prerequisites. The description lacks context about dependencies, such as needing to know shortcut names from 'list_shortcuts' or handling errors if a shortcut doesn't exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: one lists available shortcuts, while the other executes a specific shortcut by name. There is no overlap or ambiguity between them, making it easy for an agent to select the correct tool based on the task.
Both tools follow a consistent verb_noun naming pattern (list_shortcuts, run_shortcut), using snake_case throughout. The naming is predictable and readable, with no deviations in style or convention.
With only two tools, the server feels thin for its apparent domain of managing and running Apple Shortcuts. While the tools cover basic listing and execution, the scope suggests potential gaps, such as creating, editing, or deleting shortcuts, making the count seem insufficient for comprehensive automation workflows.
The tool surface is significantly incomplete for a shortcuts management server. It lacks essential operations like creating, updating, or deleting shortcuts, which are core to lifecycle management. This will likely cause agent failures when tasks require modification or setup of shortcuts beyond just listing and running existing ones.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
MCP Server for an Agent Task Marketplace
Related MCP Servers
- AlicenseBqualityFmaintenanceAn MCP server to communicate with the App Store Connect API for iOS Developers25123331MIT
- Apache 2.0
- AlicenseAqualityDmaintenanceMCP Server for SurrealDB - Bridge AI assistants with SurrealDB databases107MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that gives AI read-only access to Apple Health data through shortcuts and Cloudflare, enabling queries of current stats, detailed records, and trends.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/recursechat/mcp-server-apple-shortcuts'
If you have feedback or need assistance with the MCP directory API, please join our Discord server