Skip to main content
Glama

prefab-mcp

Un servidor MCP para Prefab, para que un agente pueda ver tus plantillas y desplegar una por ti.

"Set up a new client folder for Northwind, autumn campaign, on my Desktop"

Qué expone

Herramienta

Hace

list_templates

Cada plantilla, qué crea y qué pide

describe_template

Una plantilla completa: estructura, marcadores de posición y acciones

preview_deploy

Qué crearía un despliegue y qué valores faltan todavía. No crea nada

deploy_template

Crea las carpetas, rellenando los valores proporcionados

list_watched_folders

Carpetas que Prefab está vigilando y las reglas que se aplican en ellas

list_globals

Marcadores de posición, acciones y valores predefinidos de toda la biblioteca

Related MCP server: macOS Companion MCP Server

Configurándolo

Funciona con cualquier cliente que hable MCP a través de stdio.

Como paquete - descarga prefab.mcpb desde la página de releases y haz doble clic en él. Los clientes que instalan paquetes MCP, entre ellos Claude Desktop, traen su propio Node, así que no hay nada más que instalar.

Desde la línea de comandos (Claude Code y cualquier otro con la misma idea):

claude mcp add prefab -- npx -y prefab-mcp

En un archivo de configuración - Cursor, Zed, y la mayoría de los demás:

{
  "mcpServers": {
    "prefab": { "command": "npx", "args": ["-y", "prefab-mcp"] }
  }
}

Después, activa Permitir que los agentes y scripts controlen Prefab en Ajustes ▸ Permisos de Prefab. Está desactivada por defecto; leer tus plantillas funciona sin ello, pero crear y desplegar no.

Ese interruptor llega en Prefab 1.1.6. En una versión anterior, las herramientas de lectura funcionan y el resto lo dice.

Requiere macOS, Prefab instalado y abierto una vez, y Node 18+ (excepto para la vía .mcpb).

Cómo funciona

Prefab está en un entorno sandbox y no tiene acceso a la red, por lo que no puede alojar nada. Este servidor se ejecuta junto a él en su lugar: lee directamente los datos de la biblioteca de la carpeta del grupo de apps (~/Library/Group Containers/group.VJ327T66.prefab) y solicita a la aplicación que despliegue a través de la misma URL prefab:// que usa la extensión del Finder. Dos consecuencias que conviene saber:

  • Debe haber Prefab en ejecución para poder desplegar. Leer funciona en cualquier caso.

  • La carpeta de destino tiene que ser una a la que Prefab tenga permiso. macOS mantiene una app con sandbox fuera de tus carpetas hasta que se lo indiques. preview_deploy y deploy_template comprueban primero y avisan de ello, en lugar de dejar un diálogo de permisos en pantalla que una agente no puede responder. Concede carpetas en Prefab, en Ajustes ▸ Permisos.

Nada de esto escribe en la biblioteca de Prefab. La aplicación es la dueño de esos archivos; cambiarlos a sus espaldas sería sobrescrito la próxima vez que guarde.

Desarrollo

npm test    # checks placeholder resolution matches the app's Swift, case for case
npm run try '[["list_templates",{}]]'    # call a tool the way a client does

src/resolve.js es la curva duplicado deliberado de RenamePattern.swift. Si cambias uno, cambia el otro: npm test compila el Swift y compara los dos.

Related MCP Connectors

Related MCP Servers