For agents

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 Campaign

The 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.

Download prefab.mcpb

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_access opens 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 disk

Reading 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.