Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Apple Shortcuts MCP: build, lint and sign iOS Shortcuts (.shortcut) from Claude, Codex or any LLM.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
SHORTCUT_FORGE_OUT你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"shortcut-forge": {
"command": "uvx",
"args": [
"shortcut-forge",
"mcp"
],
"env": {
"SHORTCUT_FORGE_OUT": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add shortcut-forge --env SHORTCUT_FORGE_OUT=your-value -- uvx shortcut-forge mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"shortcut-forge": {
"command": "uvx",
"args": [
"shortcut-forge",
"mcp"
],
"env": {
"SHORTCUT_FORGE_OUT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"shortcut-forge": {
"type": "stdio",
"command": "uvx",
"args": [
"shortcut-forge",
"mcp"
],
"env": {
"SHORTCUT_FORGE_OUT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
SHORTCUT_FORGE_OUT env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 Hyunki6040 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.1)于24天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
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.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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?
只显示了开头部分;其余内容请在仓库中阅读