Skip to main content
Glama
SankofaForge

site-motion-capture

by SankofaForge

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: screenwright

Политика согласия и взаимодействий

По умолчанию в записях используется 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.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

0Maintainers
No issuesResponse time
0Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

View all related MCP servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SankofaForge/site-motion-capture-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server