Skip to main content
Glama

prefab-mcp

MCP-сервер для Prefab, чтобы агент мог видеть ваши шаблоны и развернуть один из них за вас.

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

Что он предоставляет

Инструмент

Что делает

list_templates

Каждый шаблон: что он создаёт и что запрашивает

describe_template

Один шаблон полностью: структура, плейсхолдеры, действия

preview_deploy

Что создаст развёртывание и каких значений ещё не хватает. Ничего не создаёт

deploy_template

Создаёт папки, подставляя заданные значения

list_watched_folders

Папки, за которыми следит Prefab, и правила для них

list_globals

Общие для библиотеки плейсхолдеры, действия и пресеты значений

Related MCP server: macOS Companion MCP Server

Настройка

Работает с любым клиентом, который говорит по MCP через stdio.

В виде бандла — скачайте prefab.mcpb со страницы релизов и дважды кликните по нему. Клиенты, умеющие устанавливать MCP-бандлы, включая Claude Desktop, используют собственный 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 изолирован песочницей и не имеет доступа к сети, поэтому не может быть сервером. Этот сервер работает рядом с ним: он читает библиотеку напрямую из группы приложений (~/Library/Group Containers/group.VFDG327T66.prefab) и просит приложение выполнить развёртывание через тот же URL prefab://, который использует расширение Finder. Два следствия, о которых стоит знать:

  • Для развёртывания Prefab должен быть запущен. Чтение работает в любом случае.

  • Папка назначения должна быть доступна Prefab. macOS не пускает приложение из песочницы в ваши папки, пока вы не укажете ему на одну из них. preview_deploy и deploy_template сначала проверяют это и сообщают об этом, а не оставляют на экране диалог запроса разрешения, на который агент не может ответить. Предоставьте Prefab доступ к папкам в разделе Настройки ▸ Разрешения.

Ничего из этого не пишет в библиотеку Prefab. Этими файлами владеет приложение, и правка их за его спиной будет перезаписана при следующем сохранении.

Разработка

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 — намеренная копия RenamePattern.swift. Если меняете один, поменяйте и другой: npm test скомпилирует Swift и сравнит их.

Related MCP Connectors

Related MCP Servers