
playwright-spatial-layout-mcp
vola-treblaMIT
AI-агенты анализируют DOM и знают, что элемент существует. Но они не видят реальную картину: элемент может уехать за край экрана, перекрыться sticky-шапкой или наложиться на соседний блок при адаптивной вёрстке. Стандартное дерево доступности не даёт ответа — нужна геометрия рендера.
Playwright Spatial Layout MCP решает эту проблему. Он запускает браузер Playwright и возвращает агенту реальные координаты, размеры, z-index и пересечения элементов. Разработчики и QA-инженеры получают инструмент для анализа падений тестов на основе геометрии страницы, а не логической структуры DOM.
Установка
npx -y playwright-spatial-layout-mcpХарактеристики
Общее
- СтатусСообщество
- Разработчикvola-trebla
- ЛицензияMIT
Технологии
- ЯзыкиTypeScript
- Транспортstdio
Описание
Возможности
extract_bounding_boxes— извлекает координаты (x, y), размеры (width, height), z-index и видимость для CSS-селекторов. Можно указать произвольный viewport, например 375×812 для iPhone.detect_visual_occlusion— проверяет, перекрывает ли один элемент другой. Возвращает коэффициент пересечения (0…1) и площадь наложения в пикселях.verify_spatial_relationships— проверяет правила компоновки: выше (above), ниже (below), левее (left_of), правее (right_of), внутри (contains), не пересекаются (not_overlapping). Возвращает pass/fail с пояснением.- Эмуляция устройств — анализ вёрстки на разных разрешениях экрана для поиска мобильных багов.
- Произвольные CSS-селекторы — указывайте любые селекторы, как в обычном Playwright.
- Пиксельная точность — оперирует реальными пикселями рендера, а не DOM.
- Автоматическая установка браузеров — Playwright устанавливается через npx без лишних действий.
Как подключить
Добавьте сервер в конфигурацию MCP-клиента. Для Claude Desktop файл конфигурации — claude_desktop_config.json. Простое объявление npx-команды:
{
"mcpServers": {
"playwright-spatial-layout": {
"command": "npx",
"args": ["-y", "playwright-spatial-layout-mcp"]
}
}
}
Перезапустите клиент. При первом запуске сервер автоматически скачает браузеры Playwright, дополнительная настройка не требуется.
Примеры запросов
- «Проверь, перекрывает ли cookie-баннер кнопку оформления заказа на мобильном разрешении 375×812. Верни процент перекрытия.»
- «Извлеки bounding boxes для всех элементов с дата-атрибутом data-testid на странице логина. Покажи, какие из них не попадают в видимую область.»
- «Проверь пространственные отношения: сайдбар должен располагаться слева от основного контента, а шапка — выше hero-секции. Используй verify_spatial_relationships.»
- «Найди причину, почему кнопка "Отправить" недоступна для клика. Примени detect_visual_occlusion для кнопки и предполагаемого оверлея.»
Технические детали
- Язык: TypeScript
- Транспорт: stdio
- Лицензия: MIT
- Разработчик: vola-trebla
- Совместимость: Любой MCP-клиент (Claude Desktop, VS Code Cline, Continue.dev, Cursor IDE)