Контроль качества
android-ui-renderer-mcp
MCP-сервер, который рендерит Android XML через Robolectric и возвращает скриншот, дерево View и точные границы без запуска эмулятора.
Что это
Локальный MCP-сервер для AI-агента, разрабатывающего Android-интерфейсы на XML и View. Агент передаёт layout, тестовые данные и размеры целевого устройства, а получает PNG, машинно-читаемую иерархию View и метаданные рендера.
Основной цикл короткий: изменить layout или View-код, отрендерить экран, посмотреть результат, проверить bounds элементов и повторить. `renderId` связывает снимок с последующими вызовами инспекции без нового рендера.
Задача, которую решает
Проверка Android UI обычно требует Layout Preview, эмулятора, физического устройства или тяжёлых screenshot-тестов. Для автономного агента это слишком медленная и плохо измеримая обратная связь. Проект даёт быстрый машинный feedback loop: PNG отвечает за визуальный контроль, View Tree и `inspect_view` — за точные размеры, состояния, padding и margins.
Что демонстрирует
- Скорость обратной связи: после изменения layout агент получает свежий PNG и View Tree, не поднимая эмулятор.
- Проверяемость: каждый результат имеет `renderId`, абсолютные bounds в пикселях и подробности конкретного View.
- Инженерную надёжность: fingerprint исходников и build generation не позволяют использовать устаревший Robolectric worker.
- Честные границы MVP: инструмент ускоряет разработку XML/View-интерфейсов, но не подменяет проверку на реальном устройстве.
Факты
Стек и архитектура
Runtime: Kotlin/JVM, Gradle, Kotlin serialization.
Транспорт: MCP stdio.
Рендер: Robolectric, themed Activity, inflate → measure/layout → draw.
Жизненный цикл: persistent MCP server и reloadable worker; при изменении исходников выполняются fingerprint, допустимая incremental build и перезапуск worker.
Инструменты: `render_layout`, `get_view_tree`, `inspect_view`; диагностика layout предусмотрена RFC как следующий слой.
Теги
След ИИ-процесса
RFC в репозитории фиксирует не только идею, но и контракт инструментов, формат View Tree, lifecycle worker, инвариант свежести и границы MVP. Реализация развивалась короткими проверяемыми шагами: от валидаторов и fingerprint до fixture-данных, геометрии, timings и production inflation configuration.
Почему это отвечает роли «превратить AI-кейсы в стандарт»
Проект превращает визуальную проверку Android UI из ручного действия в повторяемый протокол для агента: один запрос даёт и картинку, и измеряемую структуру. Это небольшой, но конкретный слой контроля качества, который можно встроить в стандарт AI-разработки мобильных интерфейсов.