Prefab, over MCP
Any agent that speaks the Model Context Protocol can list your templates, build new ones, and deploy them. On your Mac, with nothing leaving it.
What it looks like
Once it is connected, this is the whole interaction:
You: Set up a shoot folder for Northwind, autumn campaign, in my Clients folder.
Agent: [preview_deploy] Client Shoot would create four folders and a brief:
Northwind — Autumn Campaign/01 References, 02 Selects, 03 Delivered, Shoot Brief.md
[deploy_template] Done: /Users/you/Clients/Northwind — Autumn CampaignThe agent reads your real templates, not a guess at them, and Prefab does the creating: the same code as the Finder menu, with your actions, tags and icons applied.
Setting it up
Two steps: connect the server, then allow it. Both are one-time.
1. Add the server
Claude Desktop, and anything else that installs MCP bundles: download the extension and double-click it. Nothing else to install, because the app brings its own copy of Node.
Claude Code, Cursor, Zed, or any other client that runs a command:
claude mcp add prefab -- npx -y prefab-mcp
In a config file, that is:
{
"mcpServers": {
"prefab": { "command": "npx", "args": ["-y", "prefab-mcp"] }
}
}Needs Node 18 or later. The extension above does not.
2. Allow it in Prefab
Open Settings ▸ Permissions and switch on Let agents and scripts control Prefab. It is off until you do, and switching it off stops everything immediately. Reading your template list works without it; anything that changes or creates something does not.
That switch arrives in Prefab 1.1.6, which is with Apple for review. On an earlier version the five reading tools work as described and the rest will tell you to update.
What an agent can do
Twenty-two tools. Reading needs nothing switched on; the rest needs the switch in Settings.
Looking around
Read straight from the library on disk. These work whether or not Prefab is running.
- list_templates
- Every template, what it creates, and the values it asks for
- describe_template
- One template in full: structure, placeholders, attached actions
- preview_deploy
- What a deploy would create, and which values are still missing. Creates nothing
- list_watched_folders
- Folders Prefab is watching, and the rules on them
- list_globals
- Library-wide placeholders, actions and value presets
Making folders
Prefab does the creating, so actions, tags and icons are applied as usual.
- deploy_template
- Create a template’s folders and files, filling in the values given
Templates
Everything you can do to a template in the app, an agent can do here.
- create_template
- Add a template, described as a tree of folders and files
- update_template
- Change a template’s name, description, icon, structure or placeholders
- duplicate_template
- Copy one: the way to build on a starter template
- delete_template
- Remove a template
- import_folder
- Turn a project folder that already exists into a template
- export_templates
- Write templates to a .prefab file for another Mac
- import_archive
- Add the templates in a .prefab file
Library-wide settings
Placeholders and answers shared across every template.
- set_global_placeholder
- Add or change a global placeholder
- delete_global_placeholder
- Remove one
- set_value_preset
- Save a named set of answers, e.g. everything about one client
- delete_value_preset
- Remove a preset
Watched folders
Folders that keep tidying themselves after they are made.
- apply_rules_to_folder
- Run the rules over files already there, with a dry run first
- pause_watched_folder
- Pause or resume without losing the rules
- stop_watching_folder
- Forget the folder. Files are left alone
- undo_watched_folder_run
- Put back what the last run changed
Permission
macOS requires you to choose the folder yourself.
- request_folder_access
- Put the system’s folder picker in front of you, opened at a path
What it cannot do, and why
- Reach folders you have not granted. Prefab is sandboxed: macOS keeps it out of your folders until you point it at one. An agent asking for a folder Prefab has not been given is told so, rather than leaving a permission dialog on your screen that it cannot answer.
request_folder_accessopens the picker for you to answer yourself. - Turn on the Finder extension. Only you can enable a Finder extension, in System Settings. No app is allowed to do it, and neither is an agent.
- Work while Prefab is closed. Reading your templates works any time. Creating or deploying needs the app running, and the server will launch it if it is not.
How it works
Prefab ships without the network entitlement, so it cannot make a connection, and nothing it holds can leave your Mac. That means it cannot host a server for an agent to connect to, so the MCP server runs beside it instead:
your agent ──stdio──▶ prefab-mcp ──reads──▶ your template library (on disk)
│
└──writes a command──▶ Prefab.app ──▶ folders on diskReading goes straight to the library. Anything that changes something is handed to the app to carry out, so an agent’s edits go through exactly the same code as your own - same validation, same saves, same results. Nothing is written behind the app’s back.
Is this safe?
An agent connected to this can create folders and files wherever you have given Prefab access, and can run the actions attached to a template, including shell commands if you have set the shell runner up. That is why the switch exists, and why it starts off.
It is not an escalation, though. Anything running on your Mac as you could already create those folders itself, and going through Prefab grants it nothing new. The sandbox still applies: Prefab reaches only folders you have granted, and the agent inherits that limit.
If you would rather an agent could look but not touch, leave the switch off. The five reading tools keep working.