site-motion-capture
site-motion-capture
Этот MCP-сервер записывает движение веб-сайта в реальном времени на арендованной Vast.ai GPU VM. Он использует существующий рекордер Playwright на этой VM и копирует WebM-видео и jank-отчёт на локальную машину.
Используйте design-inspiration, чтобы найти сайты-кандидаты. Применяйте этот сервер после того, как сайт выбран и нужно исследовать его поведение в реальном времени.
Инструменты
capture_site_motionзаписывает поведение при загрузке страницы, прокрутке и, опционально, при наведении или клике. Для десктопных записей по умолчанию используется разрешение 1920×1080. Он возвращает локальные и удалённые пути артефактов. MCP-сервер поддерживает WebM-энкодер Playwright на целевом битрейте 8 Мбит/с, чтобы текст и мелкие детали интерфейса оставались различимыми. По умолчанию он отклоняет согласия на необязательные cookie и фиксирует это действие в jank-отчёте.check_capture_gpuпроверяет иnvidia-smi, и WebGL-рендерер Chromium.
Related MCP server: EasyPlaywrightMCP
Политика согласия и взаимодействий
По умолчанию в записях используется consent_mode: "reject". Доступны следующие публичные опции:
rejectотклоняет необязательные cookie и фиксирует это действие.acceptпринимает все cookie только при явном указанииconsent_accept_approved: true. В противном случае он не выполняется (fail closed).noneне трогает страницу и не пытается обработать согласия.granularпоследовательно применяет селекторы настроек, необязательных cookie и сохранения.
Рекордер использует незаписываемый preflight-контекст, а затем переносит состояние его хранилища в записываемый контекст. Он проверяет оба контекста, включая дочерние фреймы. Для reject, accept и granular результат получает статус verified, только когда после требуемого действия диалог согласия исчез. В этом случае dismissed становится true. Если безопасный элемент управления не найден, исход — no-safe-action. Если диалог остался или слепая зона не позволяет провести проверку, результат не получает статус verified. В режиме none отсутствие диалога означает verified: true, dismissed: false и исход no-consent-surface. Наличие диалога означает verified: false, dismissed: false и исход consent-surface-present. Если страница блокирует проверку согласия или прокрутки, рекордер ограничивает эту проверку и сообщает consent-check-timeout с записью о слепой зоне; видео всё равно может быть опубликовано, но его нельзя считать проверенным по согласию. Отчёт хранит режим, действие, селектор, фазу, фрейм, причину, количество попыток, бюджет и количество кликов.
Для нестандартного элемента управления передайте consent_selector. Это должен быть явный, стабильный CSS-селектор целевого элемента управления. То же правило действует для hover_selector и click_selector. Селекторы не пересекают границы iframe. Автоматическое обнаружение может пропустить элементы в shadow-DOM и элементы, скрытые за закрытыми shadow root.
consent_wait_ms задаёт, сколько рекордер ждёт диалог. Установите consent_preflight: false, чтобы пропустить незаписываемый проход. Инструкции по локализации должны быть написаны на английском языке и включать явный селектор для каждого локализованного элемента управления. Не полагайтесь только на переведённый видимый текст.
Ограничивайте каждую запись 8-секундным бюджетом взаимодействий. Проход обнаружения по умолчанию использует не более шести кликов. Для требуемых взаимодействий за пределами этого прохода добавляйте явные селекторы. Автоматическое обнаружение выполняется по принципу best-effort и не доказывает, что каждое взаимодействие было записано.
Локальный name — это стабильная основа имени файла для скопированных файлов .webm и .jank.json. Это не удалённый ID запуска. При сравнении запусков сохраняйте локальное имя стабильным. Для удалённых логов и очистки используйте удалённый ID запуска. Используйте overwrite: false, когда это доступно, чтобы существующая локальная запись сохранялась. Очистка сообщает один статус для каждого артефакта: removed, missing, skipped или failed. Сбой очистки не означает, что запись не удалась.
Среда выполнения
У сервера нет npm-зависимостей. Лаунчер подгружает ~/.zsh_secrets для получения API-ключа Vast и окружения Vast CLI. API-ключ не фигурирует в конфигурации MCP.
Лаунчер определяет SSH-эндпоинт для инстанса 48790763 с помощью Vast CLI. Переопределите его через VAST_INSTANCE_ID или SITE_MOTION_SSH_URL, если VM для записи изменится.
Удалённый рекордер должен находиться по пути /workspace/site-motion-capture и предоставлять capture.mjs и check-gpu-renderer.mjs.
This server cannot be deployed
Maintenance
Related MCP Connectors
Jam recordings (video, console, network) as context and proof of work for your coding agent.
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
- RecordHTMLDeprecatedcom.recordhtml
Record web pages and HTML5 creatives to MP4, WebM or GIF in a real browser.
Your coding agent records a demo or tutorial video of your web app.
Related MCP Servers
- AlicenseAqualityBmaintenanceRecords raw DOM mutations and network events during AI agent browser interactions, enabling detailed debugging and analysis of Playwright automations.599 npm1MIT
- AlicenseAqualityDmaintenanceEnables automated testing and demo video creation using Playwright, with login, session orchestration, narration, and video compilation.8MIT
- AlicenseAqualityAmaintenanceRecords narrated walkthroughs of any webapp by orchestrating Playwright, speech-mcp TTS, and FFmpeg composition.62MIT
- AlicenseNot gradedqualityBmaintenanceRecords browser sessions and provides structured context (clicks, console, network, screenshots) for AI coding agents to understand and act upon.2MIT