Prefire MCP
MCP-сервер и CLI: агент рендерит SwiftUI-превью в PNG на разных устройствах и сам проверяет вид экрана после правок
- 535 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Рендер запускает `xcodebuild` и тесты проекта на вашем Mac
- Агент получает скриншоты экранов приложения, на них бывают данные тестовых аккаунтов
Установка
- Работает в
Ручная установка
brew install barredewe/prefire/prefireСначала ставится CLI, затем сервер подключается командой из следующего пункта в папке проекта с .prefire.yml. Нужны Xcode 16 и Swift 6.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Рендер запускает `xcodebuild` и тесты проекта на вашем Mac
- Агент получает скриншоты экранов приложения, на них бывают данные тестовых аккаунтов
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Prefire превращает блоки #Preview из SwiftUI в снапшот-тесты, каталог компонентов Playbook и изображения, которые видит ИИ-агент. Команда `prefire render` собирает приложение и сохраняет каждое превью как PNG вместе с JSON-описанием: устройство, размер, пользовательская история, состояние и ошибка, если превью не отрисовалось. Команда `prefire mcp` отдает то же самое по MCP. Агент перечисляет превью, рендерит нужные на выбранных iPhone или iPad, в светлой или темной теме, с крупным шрифтом, и получает картинки прямо в разговоре. Скилл swiftui-preview из плагина для Claude Code подсказывает, когда и как рендерить. Команда `prefire board` раскладывает последний рендер по `previewUserStory` в HTML-доску. Рендер идет через сгенерированные снапшот-тесты в режиме записи: эталонные картинки не сравниваются и не меняются. Сами тесты, Playbook и шаблоны Stencil работают и без агента.
Для кого. iOS-разработчикам на SwiftUI, которые поручают агенту правку экранов и хотят, чтобы он сам видел результат. Дизайнерам и тестировщикам пригодится Playbook со всеми состояниями.
Подходит, если
- Агент поправил отступы, и надо убедиться, что на маленьком iPhone SE ничего не обрезано
- Темную тему и крупный шрифт Dynamic Type проверяют без ручного запуска симулятора
- Команда хочет, чтобы сборка падала при смене отступа до релиза: снапшот-тесты берутся из уже написанных #Preview
- Дизайнеру нужен каталог всех компонентов и сценариев приложения с состояниями
- Для ревью нужна HTML-доска экранов, сгруппированных по пользовательским историям
Не подходит, если
- Нужен прогон сценариев в запущенном приложении с нажатиями: Prefire только рисует превью, для управления симулятором в каталоге есть `mobile-mcp`
- Задача — сборка и запуск всего проекта: этим занимается XcodeBuildMCP
- Проект без SwiftUI-превью или на старом Xcode: рендер опирается на сгенерированные снапшот-тесты, нужны Swift 6 и Xcode 16 или новее
- Нет Mac: рендер вызывает `xcodebuild`
Пример запроса к агенту
Отрисуй превью экрана Sign in на iPhone SE и iPad в темной теме и скажи, что съехало после правки отступовMCP
- Транспорт
- stdio
- Авторизация
- не нужна
Ограничения
Рендер собирает проект и гоняет снапшот-тесты, поэтому занимает столько же времени, сколько тестовый прогон; просите у агента только затронутые превью. Нужны Swift 6.0, Xcode 16 и iOS 14 или новее, на macOS работают только снапшот-тесты. В `.prefire.yml` надо описать `render_configuration` со схемой, а проект подключает пакет Prefire с плагином `PrefireTestsPlugin` на тестовой цели. В один каталог пишет один рендер, второй ждет очереди. Тесты, сгенерированные старой версией Prefire, завершают рендер ошибкой.
Как отключить. Уберите сервер командой `claude mcp remove prefire`, плагин через `/plugin uninstall prefire@prefire`. Пакет Prefire и плагин тестов удаляются из `Package.swift`, CLI командой `brew uninstall prefire`.
Частые вопросы
Как подключить Prefire к Claude Code?
Поставьте CLI через `brew install barredewe/prefire/prefire`, затем в папке проекта выполните `claude mcp add prefire -- prefire mcp`. Для скилла, который подсказывает агенту, когда рендерить, добавьте плагин: `/plugin marketplace add BarredEwe/Prefire`, потом `/plugin install prefire@prefire`.
Нужно ли писать тесты руками?
Нет. Prefire генерирует снапшот-тесты из ваших блоков #Preview при сборке тестовой цели. В проект подключают библиотеку Prefire с плагином `PrefireTestsPlugin` и swift-snapshot-testing.
Что агент получает от рендера?
PNG каждого превью и JSON с именем, устройством, размером, масштабом, пользовательской историей, состоянием и текстом ошибки. Картинок прикладывается до шести за вызов, остальные лежат по путям из ответа.
Какие устройства и режимы доступны?
Устройства из `snapshot_devices` проекта: параметр `--device` принимает iPhone и iPad. Режим `--color-scheme` принимает light или dark, `--dynamic-type` идет от xSmall до accessibility5. На macOS устройства игнорируются.
Работает ли с Cursor и Codex?
Да. Для Cursor в документации есть кнопка добавления, для Codex команда `codex mcp add prefire -- prefire mcp`, для VS Code `code --add-mcp`. Каждый релиз выходит и как пакет `.mcpb` для клиентов вроде Claude Desktop, сервер внесен в реестр MCP.
Чем рендер отличается от Xcode Previews?
Рендер собирает приложение заново и показывает актуальный код на выбранных устройствах обычными PNG, а холст Xcode Previews может держать устаревшую или упавшую версию. Платой служит время: рендер идет как тестовый прогон.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер управляет реальным iPhone через macOS iPhone Mirroring: агент видит экран, нажимает, листает и вводит текст
Плагин показывает агенту и вам Compose Preview в браузере и перерисовывает их через секунду после сохранения, без Android Studio.
Скилл и MCP-сервер с библиотекой готовых SwiftUI-компонентов и рецептов, чтобы агент собирал iOS-экраны из проверенного кода, а не писал их с нуля
CLI проверяет экраны SwiftUI и гоняет тесты iOS без Симулятора: агент читает дерево доступности и правит вьюхи за 2 секунды.
Скилл, который для SwiftUI-приложения собирает встроенную съемку экранов и элементов и прогоняет ее по всем локалям для App Store
Агент рендерит превью Jetpack Compose в PNG и видит итог правок: плагин, CLI, расширение VS Code и MCP.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Prefire (эта карточка) | нет | не нужна | 535 | |
| XcodeBuildMCP (теперь MobileBuildMCP) | да | не нужна | 6 565 | собирает, запускает и тестирует проекты Xcode целиком, превью экранов не рисует |
| Mobile MCP | нет | не нужна | 10 529 | управляет симуляторами и устройствами и нажимает кнопки в запущенном приложении |
| SwiftUI Expert Skill | нет | 3 893 | советы по написанию кода SwiftUI без рендера результата |
Коротко о README
В описании сначала три возможности: снапшот-тесты, Playbook и рендер для ИИ-агентов. Дальше быстрый старт на пакете Swift, таблица способов установки (плагин SPM, плагин сборки Xcode, CLI через brew, Mint в бете) и разделы о выборе превью, пользовательских историях и состояниях. Отдельный документ об ИИ описывает `render_configuration`, команду `prefire render` и подключение MCP.