Shortcut Forge (Apple Shortcuts MCP) について
Shortcut Forgeは、Apple Shortcutsファイルの作成、検査、署名に使えるMCPサーバー、Pythonライブラリ、コマンドラインツールです。AIクライアントで確認可能な仕様を生成し、iPhoneでの失敗につながる意味上の問題を検出できます。
主な機能
- 01JSON仕様から.shortcutファイルを生成
- 0215の意味ルールでショートカットを検査
- 03読みやすいアウトラインで内容を確認
- 04macOSでショートカットに署名
- 05コミュニティのショートカットやテンプレートを閲覧
- 06更新マニフェスト付きでショートカットを公開
活用シーン
- 01自動化の要望からiPhoneショートカットを生成
- 02書き出したショートカットを読み込み前に検査
- 03コミュニティのショートカットを元に編集
- 04Macの監視フォルダーでショートカットに署名
MCP 対応
ショートカットの生成、検査、閲覧、署名、公開に使うMCPツールを提供します。ローカルまたはHTTP経由でMCPクライアントに接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
10掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| sign | boolean | いいえ | |
| spec | object | はい | |
| sign_mode | string | いいえ | |
| output_path | any | いいえ |
詳細
shortcut-forge:実際に動くショートカットを作成する Apple Shortcuts MCP サーバー
Claude、Codex、ChatGPT に自動化を説明 → 署名済みの .shortcut ファイルを取得 → iPhone でタップ。
Apple Shortcuts MCP · iOS ショートカットジェネレーター · AI エージェント向け Siri Shortcuts · iOS 27 対応 · macOS 自動署名 · オープンなショートカットライブラリ
問題(こんな経験があるのではないでしょうか)
「ChatGPT にショートカットを頼んだら、手作業でタップする手順が 14 個も返ってきた。」
*「ファイルは問題なく読み込めた。その後、**『このアクションの各パラメーターの値を選択してください。』*と表示された。」
「iOS 27 なら説明からショートカットを作れるけれど、iPhone 15 Pro でしか使えず、一度に 1 つしか作れないうえ、変更内容を確認したりバージョン管理したりできない。」
「見つけた Shortcuts 用 MCP サーバーは、すでに持っているショートカットを実行するだけだった。」
「家族用ショートカットを修正するたびに、全員がもう一度ダウンロードしなければならない。」
Apple Shortcuts は iPhone で最も強力な自動化レイヤーですが、AI に作らせるのがいまだに最も難しいものです。ファイル形式は文書化されておらず、構造的に有効な plist でもデバイス上では動かないことがあります。スマートフォンにエラーが表示されるまで、その違いを検出する方法はありません。
解決策
shortcut-forge は、MCP サーバーであり、Claude プラグインであり、Python ライブラリでもあります。「……するショートカットを作って」という依頼を、iPhone で実際に起きるショートカットの失敗パターンに照らして検証済みの署名済み .shortcut ファイルに変換します。
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 の「ショートカットを説明」(iOS 27) | チャットボットに依頼 | その他の Shortcuts MCP | shortcut-forge | |
|---|---|---|---|---|
| Claude、Codex、ChatGPT、Cursor などから利用 | – | ✓ | 一部 | ✓ |
| 新しい iPhone が不要 | iPhone 15 Pro 以降/Apple silicon が必要 | ✓ | ✓ | ✓ |
| 読み取り、差分確認、バージョン管理、レビューができる出力 | – | テキスト | さまざま | JSON 仕様 + plist |
| 実際のデバイス上で起きる失敗を検証 | 該当なし(ネイティブ) | – | 構造のみ | 15 の意味ルール |
| iPhone で署名済みかつ読み込み可能 | ✓(ネイティブ) | – | まれ | ✓ macOS で自動署名 |
| 再ダウンロードせずに更新 | – | – | – | リモート設定 + 更新チェック |
| 共有・リミックス可能なライブラリ | – | – | – | ✓ 20 件以上 |
Apple の内蔵ビルダーは、手軽な個人用の簡単なショートカットに最適で、アプリ内ですぐ使えます。ぜひ活用してください。普段使っている AI に、より大規模でレビューや共有が可能なものを作らせたい場合は、shortcut-forge をお使いください。
インストール
Claude Code(プラグイン = MCP サーバー + スキル + /shortcut コマンド)
/plugin marketplace add Hyunki6040/shortcut-forge
/plugin install shortcut-forge@shortcut-forge
Claude Desktop:Releasesからshortcut-forge.mcpbをダブルクリックするか、次のコマンドを実行します。
{ "mcpServers": { "shortcut-forge": { "command": "uvx", "args": ["shortcut-forge", "mcp"] } } }
OpenAI Codex
codex mcp add shortcut-forge -- uvx shortcut-forge mcp
ChatGPT、Gemini、その他のチャットボット:HTTP(shortcut-forge mcp --http)経由で接続するか、MCP を使わずにprompts/LLM_PROMPT.mdを貼り付け、生成された JSON を Mac の監視フォルダー(以下を参照)に入れます。
Cursor、VS Code、Windsurf、Gemini CLI については、docs/CLIENTS.mdを参照してください。
Python / CLI
uv tool install shortcut-forge # or: pipx install shortcut-forge
shortcut-forge template supplement-tracker --sign
Mac の自動署名:仕様を入れるとショートカットが完成します
iOS では署名済みのショートカットしかインポートできず、署名できるのは Mac だけです。shortcut-forge を使えば、これを意識せずに済みます。
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
スマートフォンで ChatGPT に仕様を尋ねて、ファイルに保存すれば、コーヒーを飲み終える前に同じスマートフォンでショートカットを使えるようになります。Mac 上の Claude Desktop / Claude Code では、ツールの呼び出し中に署名が行われます。
どんなものが作れるか
Open Shortcut Libraryからご紹介します。どれも読みやすい仕様で、CI のリンターを通過しています。
| ショートカット | 機能 | |
|---|---|---|
| 🌤 | 朝のブリーフィング | まとまりのない考えを Apple Intelligence が3行の計画にまとめ、リマインダーに登録します |
| 🎯 | 集中ブロック | 今から25分/50分/90分の予定をカレンダーに登録します |
| ✅ | ミーティング → アクションアイテム | メモを入力すると、リマインダーを作成し、要約をクリップボードにコピーします |
| 🌐 | クリップボード翻訳 | コピーした内容を翻訳し、結果をクリップボードに戻します |
| ☕️ | カフェイン記録 | 1回タップするだけで Apple Health に記録し、400 mg を超えると警告します |
| 💸 | 支出記録 | 金額とカテゴリを入力すると、Stored Content に CSV を保存します。シートに貼り付けて使えます |
| 🅿️ | 駐車場所 | 駐車した場所を保存し、あとからマップで開けます |
| 📡 | Webhook トリガー | JSON を n8n / Zapier / Home Assistant に POST します |
| 🐙 | GitHub Issue | スマートフォンから Issue を作成します |
| 🍱 | ランチ選び | JSON URL から選択肢を読み込みます。1回編集すれば、再インストールなしで全員のスマートフォンに反映されます |
| 💊 | サプリチェック(オリジナル) | このプロジェクトのきっかけとなった、実際の1,073アクションのショートカットです。2人分、10個の時間枠、隔日投与、Health + Reminders + Apple Intelligence に対応しています |
…ほかにもあります:気分日記、睡眠日記、買い物リスト、天気の音声ブリーフィング、バッテリー残量低下のお知らせ、水分記録。
作ったものを共有しませんか? 共有する → AI に 「これを shortcut-forge ライブラリに登録して」 と伝えてください。
使い方
MCP クライアントなら、自然な言葉で指示できます。
- 「睡眠について尋ね、毎週日曜日に Apple Intelligence がその週を要約するショートカットを作って。」
- 「ライブラリの支出記録をベースに、通貨をウォンにして、自分のカテゴリを使うようにして。」
- 「エクスポートしたショートカットです。なぜクラッシュするのでしょうか?」 →
shortcut_lint+shortcut_inspect
Python:f-string 内で変数を使えます。
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(MCP ツールやチャットボットが生成する形式):50種類以上のステップタイプに加え、あらゆるアクションに使えるrawエスケープハッチがあります。
{"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}}"}]}
]}
MCP ツール
| ツール | 機能 |
|---|---|
shortcut_build | JSON 仕様 → .shortcut。常にリントを実行し、macOS では署名します |
shortcut_library | コミュニティのショートカットを 20 件以上参照・取得し、出発点として利用できます |
shortcut_from_template | supplement-tracker(複数ユーザー対応)、water-log |
shortcut_lint | アプリから書き出したものも含め、未署名のショートカットに適用する 15 個のルール(SF000–SF014) |
shortcut_inspect | ショートカットのインデント付きアウトライン |
shortcut_sign | shortcuts sign のラッパー。AEA1 ヘッダーを検証します |
shortcut_publish | 署名と manifest.json を行い、インストール済みのコピーが自動更新できるようにします |
shortcut_submit | ショートカットとライブラリへの PR コマンドをパッケージ化します |
shortcut_llm_prompt | MCP を使わないチャットボット用のシステムプロンプト |
shortcut_reference | spec · pitfalls · lint-rules · health-types · templates · library · ios27 |
現場メモ:「読み込めた」ことと「動作する」ことは別です
Claude に plist を生成させて、2 人用トラッカーを作りました。インポート → 実行 → スクリーンショットのサイクルを 十数回以上繰り返すことになりました。どの失敗もビルド時には見つかりませんでした。
| 指定した内容 | iPhone での動作 | ルール |
|---|---|---|
| 変数から保存済みコンテンツを設定 | 何も保存されず、エラーもなし | SF001 |
| B12 の健康サンプル「77.4 mcg」 | 77,400,000 mcgを記録(単位文字列がグラムとして解釈されます) | SF003 |
If <dictionary value> is "Lunch" | 比較フィールドが空 → 実行が中断 | SF005 |
| 存在しない保存キーを削除 | エラー 16 | SF002 |
| 見つかったリマインダーを完了済みにする | 実行中にピッカーが表示されました | SF007 |
| 実行のたびに URL の内容を取得 | 一度オフラインになっただけでショートカット全体が中断 | SF014 |
| 明日のリマインダーを作成 | 実行のたびに重複して作成 | ビルダー |
ビルダーではこれらを生成できません。リンターなら、どのショートカットでも検出できます。詳細は PITFALLS.mdをご覧ください。
.shortcut ファイルとは?
.shortcutファイル(.shortや.shortcutsではありません)は Apple ショートカットのワークフローです。バイナリプロパティリスト (WFWorkflowActions、WFWorkflowIconなど)で構成され、各アクションはis.workflow.actions.gettextのような識別子と パラメーターで表されます。変数は UTF-16 オフセットを持つ「トークン文字列」です。- iOS 15 以降、共有するショートカットファイルには署名が必要です。署名済みファイルは Apple Encrypted Archive で、先頭の
バイト列は
AEA1です。未署名の plist は Mac では読み込めますが、iOS では拒否されます。 - 署名モードは
anyone(どのデバイスでも読み込み可能)またはpeople-who-know-me(連絡先のみ)です。署名できるのは macOS のみ (shortcuts sign)であるため、shortcut-forge は Mac 側の処理を自動化します。 .wflowは、Shortcuts となった旧 Workflow アプリの形式です。iCloud リンク(icloud.com/shortcuts/…)はアプリから作成される スナップショットであり、プログラムから生成・更新することはできません。
よくある質問
Mac は必要ですか? 署名するには必要です(Apple の規則です)。ビルドとリントはどこでも実行できます。監視フォルダーエージェントを使えば、
所有するすべてのデバイス向けの署名を 1 台の Mac で行えます。
データが自分のマシンの外に送信されますか? いいえ。サーバーはローカルで動作し、何もアップロードされません。remote_config を使用するライブラリのショートカットが取得するのは、指定された JSON URL のみです。
Apple や Anthropic と関係がありますか? いいえ。これは独立したオープンソースプロジェクトです。
iOS 26 以前の場合は? ほとんどのアクションは動作します。保存済みコンテンツには iOS 27 が、モデルを使用するには Apple Intelligence が必要です(リンターはこれらに SF013 のフラグを付けます)。
ロードマップ:更新の課題(協力者募集中)
現状では、ショートカットを修正するたびに、署名し直し → 共有し直し → 全員が再ダウンロードして「置き換える」をタップする必要があります。v0.2 では、最初の解決策(データ用の remote_config、コード用の update_check + publish、署名監視フォルダー)をリリースします。次は
Shortcut Hubです。GitHub へのワンコマンド公開、常に最新バージョンを配信する固定のインストール URL、更新後も保持される設定、チーム向け署名リレー、実験的なローダーパターンを実現します。
ROADMAP.mdを読んで、取り組む項目を選んでください。実際の iPhone からのデバイスレポートは、何よりも貴重な貢献です。
貢献
- ショートカットを共有する → LIBRARY.md
- ショートカットが壊れる新たなケースを見つけましたか? エラーのスクリーンショットと最小限の仕様を添えて、落とし穴のイシューを作成してください。そこから lint ルールとビルダーの修正が生まれます。
- コード → CONTRIBUTING.md · エージェントは AGENTS.md を読みます
MIT ライセンスです。Apple Inc. または Anthropic とは提携していません。「Shortcuts」と「Siri」は Apple Inc. の商標です。
shortcut-forge によってエラーのスクリーンショットを撮り直さずに済んだなら、⭐を付けていただけると、次の人が見つけやすくなります。
キーワード:Apple Shortcuts MCP、iOS Shortcuts MCP server、Siri Shortcuts AI generator、プログラムによる .shortcut ファイルの作成、macOS CLI でのショートカットへの署名、Claude Shortcuts、Codex Shortcuts、ChatGPT Shortcuts、iOS 27 Shortcuts Stored Content、Apple Health shortcut、ショートカットライブラリ。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。