Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Apple Shortcuts MCP: build, lint and sign iOS Shortcuts (.shortcut) from Claude, Codex or any LLM.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
SHORTCUT_FORGE_OUTYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"shortcut-forge": {
"command": "uvx",
"args": [
"shortcut-forge",
"mcp"
],
"env": {
"SHORTCUT_FORGE_OUT": "your-value"
}
}
}
}Run this in your terminal
claude mcp add shortcut-forge --env SHORTCUT_FORGE_OUT=your-value -- uvx shortcut-forge mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"shortcut-forge": {
"command": "uvx",
"args": [
"shortcut-forge",
"mcp"
],
"env": {
"SHORTCUT_FORGE_OUT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"shortcut-forge": {
"type": "stdio",
"command": "uvx",
"args": [
"shortcut-forge",
"mcp"
],
"env": {
"SHORTCUT_FORGE_OUT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
SHORTCUT_FORGE_OUT envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account Hyunki6040, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.1) reached the registry 24 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
shortcut-forge: the Apple Shortcuts MCP server that ships shortcuts that actually run
Describe an automation to Claude, Codex or ChatGPT → get a signed .shortcut file → tap it on your iPhone.
Apple Shortcuts MCP · iOS Shortcuts generator · Siri Shortcuts for AI agents · iOS 27 aware · macOS auto-signing · open shortcut library
English · 한국어 · 日本語 · 简体中文
*"I asked ChatGPT for a shortcut and got fourteen steps to tap in by hand."*
*"The file imported fine. Then: 'Choose a value for each parameter of this action.'"*
*"iOS 27 can build a shortcut from a description, but only on my iPhone 15 Pro, one shortcut at a time, and I can't
review or version what it changed."*
*"Every MCP server I found for Shortcuts only runs shortcuts I already have."*
*"Every time I fix the family shortcut, everyone has to download it again."*
Apple Shortcuts is the most powerful automation layer on the iPhone, and still the hardest thing to get an AI to produce. The file format is undocumented, a structurally valid plist can still break on the device, and nothing catches the difference until you're staring at an error on your phone.
shortcut-forge is an MCP server, a Claude plugin and a Python library that turns *"make me a shortcut that…"* into a signed `.shortcut` file that has been checked against the ways shortcuts really fail on iPhone.
You: "Every time I take my vitamins, log them to Apple Health, tick off today's reminder
and set up tomorrow's, but never create duplicates." Claude: → shortcut_library("supplements") → shortcut_from_template("supplement-tracker", …) ✓ 750 actions · 0 lint errors · signed on your Mac → ~/Downloads/shortcut-forge/Supplement Check.shortcut (AirDrop / iCloud Drive → tap → Add)
| Apple "Describe a Shortcut" (iOS 27) | Asking a chatbot | Other Shortcuts MCPs | shortcut-forge | |
|---|---|---|---|---|
| Works from Claude, Codex, ChatGPT, Cursor… | – | ✓ | some | ✓ |
| No new iPhone required | needs iPhone 15 Pro+ / Apple silicon | ✓ | ✓ | ✓ |
| Output you can read, diff, version, review | – | text | varies | JSON spec + plist |
| Checked against real on-device failures | n/a (native) | – | structure only | 15 semantic rules |
| Signed and importable on iPhone | ✓ (native) | – | rarely | ✓ auto on macOS |
| Updates without re-downloading | – | – | – | remote config + update check |
| Shared, remixable library | – | – | – | ✓ 20+ entries |
Apple's built-in builder is great for quick personal one-liners and lives right in the app; use it. Reach for shortcut-forge when you want an AI *you already use* to build something bigger, reviewable and shareable.
Claude Code (plugin = MCP server + skill + /shortcut command)
/plugin marketplace add Hyunki6040/shortcut-forge
/plugin install shortcut-forge@shortcut-forge
Claude Desktop: double-click shortcut-forge.mcpb from Releases, or:
{ "mcpServers": { "shortcut-forge": { "command": "uvx", "args": ["shortcut-forge", "mcp"] } } }
OpenAI Codex
codex mcp add shortcut-forge -- uvx shortcut-forge mcp
ChatGPT, Gemini, any chatbot: connect over HTTP (shortcut-forge mcp --http) or, with no MCP at all, paste prompts/LLM_PROMPT.md and drop the JSON it writes into the Mac watch folder (below). Cursor, VS Code, Windsurf, Gemini CLI: see docs/CLIENTS.md.
Python / CLI
uv tool install shortcut-forge # or: pipx install shortcut-forge
shortcut-forge template supplement-tracker --sign
iOS only imports signed shortcuts, and only a Mac can sign them. shortcut-forge makes that invisible:
shortcut-forge mac install-agent # launchd agent, starts at login
iCloud Drive/Shortcut Forge/ ← drop *.json specs or *.unsigned.shortcut (from any device or AI)
iCloud Drive/Shortcut Forge/Signed/ ← signed .shortcut appears in seconds → open it on your iPhone iCloud Drive/Shortcut Forge/Failed/ ← anything that failed lint, with a .log explaining why
Ask ChatGPT on your phone for a spec, save it to Files, and the shortcut is ready on the same phone before you finish your coffee. In Claude Desktop / Claude Code on a Mac, signing happens inside the tool call.
From the Open Shortcut Library. Every one is a readable spec, lint-clean in CI.
| Shortcut | What it does | |
|---|---|---|
| 🌤 | Morning Brief | Your messy thoughts → a 3-line plan by Apple Intelligence → a reminder |
| 🎯 | Focus Block | Blocks 25/50/90 min on your calendar from right now |
| ✅ | Meeting → Action Items | Notes in, reminders out, summary on the clipboard |
| 🌐 | Clipboard Translate | Translate whatever you copied, result back on the clipboard |
| ☕️ | Caffeine Log | One tap → Apple Health, warns past 400 mg |
| 💸 | Expense Log | Amount + category → CSV in Stored Content → paste into your sheet |
| 🅿️ | Parking Spot | Save where you parked, open it in Maps later |
| 📡 | Webhook Trigger | POST JSON to n8n / Zapier / Home Assistant |
| 🐙 | GitHub Issue | File an issue from your phone |
| 🍱 | Lunch Picker | Reads options from a JSON URL: edit once, every phone updates, no reinstall |
| 💊 | 영양제 체크 (the original) | The real 1,073-action shortcut that started this project. Two people, ten time slots, alternate-day doses, Health + Reminders + Apple Intelligence |
…and more: mood journal, sleep diary, grocery list, weather voice brief, low-battery nudge, water log.
Built something? [Share it →](LIBRARY.md) Tell your AI *"submit this to the shortcut-forge library"*.
Plain language in any MCP client:
shortcut_lint + shortcut_inspectPython: variables work in f-strings.
from shortcut_forge import Shortcut
sc = Shortcut("Hello", version="1.0.0") name = sc.ask("What's your name?") with sc.if_(name, "contains", "Claude") as br: sc.notify("Hi twin", f"Nice to meet another Claude, {name}") br.otherwise() sc.notify("Hi", f"Welcome, {name}") sc.storage_set("last_name", name) # iOS 27 Stored Content, done right sc.health_log("Vitamin D", "50") # mcg → mg handled for you sc.save("Hello.unsigned.shortcut")
JSON (what the MCP tools and chatbots write): 50+ step types, plus a raw escape hatch for any action.
{"name": "Hello", "version": "1.0.0", "actions": [
{"ask": "What's your name?", "as": "name"}, {"if": ["{{name}}", "contains", "Claude"], "then": [{"notify": "Hi twin", "body": "{{name}}"}], "else": [{"notify": "Hi", "body": "Welcome, {{name}}"}]} ]}
| Tool | What it does |
|---|---|
shortcut_build | JSON spec → .shortcut, always linted, signed on macOS |
shortcut_library | Browse / fetch 20+ community shortcuts as starting points |
shortcut_from_template | supplement-tracker (multi-user), water-log |
shortcut_lint | 15 rules (SF000–SF014) for any unsigned shortcut, including ones exported from the app |
shortcut_inspect | Indented outline of a shortcut |
shortcut_sign | shortcuts sign wrapper, verifies the AEA1 header |
shortcut_publish | Sign + manifest.json so installed copies can update themselves |
shortcut_submit | Package your shortcut + PR commands for the library |
shortcut_llm_prompt | System prompt for chatbots without MCP |
shortcut_reference | spec · pitfalls · lint-rules · health-types · templates · library · ios27 |
We built a two-person tracker by having Claude generate the plist. It took more than a dozen import → run → screenshot rounds. Every failure was invisible at build time:
| What we wrote | What the iPhone did | Rule |
|---|---|---|
| Stored Content set from a variable | Saved nothing, no error | SF001 |
| Health sample "77.4 mcg" of B12 | Logged 77,400,000 mcg (the unit string is read as grams) | SF003 |
If is "Lunch" | Comparison field empty → run aborted | SF005 |
| Delete a stored key that isn't there | Error 16 | SF002 |
| Mark found reminders as done | A picker popped up mid-run | SF007 |
| Get Contents of URL on every run | Offline once → whole shortcut aborts | SF014 |
| Create tomorrow's reminder | Duplicates on every run | builder |
The builder can't produce these; the linter catches them in any shortcut. Full notes: PITFALLS.md.
.shortcut file?.short or .shortcuts) is an Apple Shortcuts workflow: a binary property list (WFWorkflowActions, WFWorkflowIcon, …) where every action is an identifier like is.workflow.actions.gettext plus parameters. Variables are "token strings" with UTF-16 offsets.AEA1. Unsigned plists import on a Mac but iOS refuses them.anyone (any device can import) or people-who-know-me (contacts only). Only macOS can sign (shortcuts sign), which is why shortcut-forge automates the Mac side..wflow was the format of the old *Workflow* app that became Shortcuts; iCloud links (icloud.com/shortcuts/…) are snapshots created from the app and can't be generated or updated programmatically.Do I need a Mac? To *sign*, yes (Apple's rule). Building and linting run anywhere; the watch-folder agent lets one Mac sign for every device you own. Does my data leave my machine? No. The server runs locally; nothing is uploaded. Library shortcuts that use remote_config fetch only the JSON URL they name. Is this affiliated with Apple or Anthropic?
Only the beginning is shown; read the rest in the repo