prefab について
prefab-mcp は Prefab と MCP エージェントをつなぎ、プロジェクトテンプレートの確認やデプロイを行う MCP サーバーです。作成前のプレビューに加え、監視フォルダーのルールや共通プレースホルダーも確認できます。
主な機能
- 01テンプレート一覧と詳細の確認
- 02デプロイ内容と不足値のプレビュー
- 03指定値を使ったテンプレートのデプロイ
- 04監視フォルダーとルールの確認
- 05共通プレースホルダーとプリセットの表示
活用シーン
- 01新規プロジェクト用テンプレートの検索
- 02顧客やキャンペーン用フォルダーの作成
- 03デプロイ前の必須プレースホルダー確認
- 04Prefab のフォルダー監視ルールの確認
MCP 対応
MCP クライアント向けにテンプレート検索、デプロイのプレビュー、デプロイ用ツールを提供します。読み取りは Prefab の終了中も可能ですが、デプロイにはアプリの起動と出力先フォルダーの権限が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
prefab-mcp
Prefab 用の MCP サーバーです。エージェントがテンプレートを確認し、代わりにデプロイできます。
"Set up a new client folder for Northwind, autumn campaign, on my Desktop"
公開するツール
| ツール | 内容 |
|---|---|
list_templates | すべてのテンプレートと、それぞれが作成するもの、必要な入力項目 |
describe_template | 1 つのテンプレートの詳細:構造、プレースホルダー、アクション |
preview_deploy | デプロイで作成されるものと、不足している値。何も作成しません |
deploy_template | 指定された値を入力してフォルダーを作成します |
list_watched_folders | Prefab が監視しているフォルダーと、そのルール |
list_globals | ライブラリ全体で使うプレースホルダー、アクション、値のプリセット |
セットアップ
stdio 経由で MCP を利用するあらゆるクライアントで動作します。
バンドルとして - リリースページから prefab.mcpb をダウンロードし、ダブルクリックします。Claude Desktop をはじめ、MCP バンドルをインストールするクライアントには Node が付属しているため、ほかにインストールするものはありません。
コマンドラインから(Claude Code、および同様の方法に対応したもの):
claude mcp add prefab -- npx -y prefab-mcp
設定ファイルで - Cursor、Zed など:
{
"mcpServers": {
"prefab": { "command": "npx", "args": ["-y", "prefab-mcp"] }
}
}
次に、Prefab の「設定 ▸ 権限」で エージェントとスクリプトによる Prefab の操作を許可 をオンにします。デフォルトではオフです。テンプレートの読み取りはこの設定がなくても動作しますが、作成とデプロイには必要です。
この設定は Prefab 1.1.6 で追加されました。それ以前のバージョンでは読み取りツールは動作しますが、それ以外のツールはその旨を知らせます。
macOS、インストールして一度起動した Prefab、および Node 18+ が必要です(.mcpb を使う場合を除く)。
仕組み
Prefab はサンドボックス化されており、ネットワークアクセスもないため、何かをホストすることはできません。その代わりに、このサーバーは Prefab のそばで動作します。アプリグループ(~/Library/Group Containers/group.VFDG327T66.prefab)からライブラリを直接読み取り、Finder 拡張機能と同じ prefab:// URL を使って、アプリにデプロイを依頼します。知っておくべき点は 2 つあります。
- デプロイするには Prefab が起動している必要があります。読み取りは起動していなくても動作します。
- デプロイ先は、Prefab にアクセスを許可したフォルダーである必要があります。 macOS では、フォルダーを指定するまでサンドボックス化されたアプリはフォルダーにアクセスできません。
preview_deployとdeploy_templateはどちらも最初に確認し、その旨を知らせます。エージェントが応答できない権限ダイアログを画面に残すことはありません。Prefab の「設定 ▸ 権限」でフォルダーへのアクセスを許可してください。
このサーバーが Prefab のライブラリに書き込むことはありません。それらのファイルはアプリが管理しており、アプリに知らせず編集すると、次回の保存時に上書きされます。
開発
npm test # プレースホルダーの解決結果がアプリの Swift と大文字・小文字まで一致するか確認
npm run try '[["list_templates",{}]]' # クライアントと同じ方法でツールを呼び出す
src/resolve.js は RenamePattern.swift を意図的に複製したものです。一方を変更したら、もう一方も変更してください。npm test は Swift をコンパイルし、両者を比較します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。