关于 prefab
prefab-mcp 是连接 Prefab 的 MCP 服务,让 Agent 查看项目模板并按需部署。它支持先预览部署内容,也能读取监视文件夹与模板占位符。
主要功能
- 01列出并查看模板详情
- 02预览部署内容及缺失值
- 03按提供的值部署模板
- 04查看受监视文件夹与规则
- 05查看全局占位符和预设值
适用场景
- 01查找适合新项目的模板
- 02部署客户或活动文件夹结构
- 03部署前检查所需占位符
- 04查看 Prefab 的文件夹监视规则
MCP 相关
该服务向 MCP 客户端提供模板查询、部署预览和部署等工具。读取功能可在 Prefab 未运行时使用;部署需要 Prefab 正在运行,并获得目标文件夹权限。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
prefab-mcp
适用于 Prefab 的 MCP 服务,让 Agent 能查看你的模板并为你部署模板。
"在我的桌面上为 Northwind 创建一个新的客户文件夹,用于秋季营销活动"
提供的功能
| 工具 | 功能 |
|---|---|
list_templates | 列出所有模板、模板会创建的内容以及所需信息 |
describe_template | 完整介绍单个模板:结构、占位符和操作 |
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 的 Settings ▸ Permissions 中启用 Let agents and scripts control Prefab。此选项默认关闭;关闭时仍可读取模板,但无法创建和部署。
此开关从 Prefab 1.1.6 开始提供。使用更早版本时,读取工具可用,其余工具会说明这一点。
需要 macOS、已安装并至少打开过一次的 Prefab,以及 Node 18+(.mcpb 安装方式除外)。
工作原理
Prefab 在沙盒中运行,且无法访问网络,因此不能托管任何内容。此 MCP 服务在旁边运行:它直接从应用组(~/Library/Group Containers/group.VFDG327T66.prefab)中读取资料库,并通过 Finder 扩展使用的同一个 prefab:// URL 请求应用部署。有两点需要注意:
- 部署时 Prefab 必须正在运行。读取则不受影响。
- 目标必须是 Prefab 已获授权访问的文件夹。 在你指定文件夹之前,macOS 会阻止沙盒应用访问你的文件夹。
preview_deploy和deploy_template都会先检查并说明这一点,不会留下 Agent 无法处理的权限对话框。在 Prefab 的 Settings ▸ Permissions 中授权文件夹。
这里的任何操作都不会写入 Prefab 的资料库。这些文件由应用管理;如果在应用不知情的情况下编辑它们,下次保存时更改就会被覆盖。
开发
npm test # 检查占位符解析是否与应用中的 Swift 实现逐项匹配
npm run try '[["list_templates",{}]]' # 按照客户端的调用方式调用工具
src/resolve.js 是 RenamePattern.swift 的有意重复实现。修改其中一个时,也要修改另一个——npm test 会编译 Swift 并比较两者。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。