Skip to main content
Glama
SankofaForge

site-motion-capture

by SankofaForge

site-motion-capture

Este servidor MCP captura el movimiento en vivo de sitios web en la máquina virtual (VM) GPU alquilada en Vast.ai. Usa el grabador de Playwright existente en esa VM y copia el vídeo WebM y el informe de jank a la máquina local.

Utiliza design-inspiration para encontrar sitios candidatos. Usa este servidor después de que se haya seleccionado un sitio y sea necesario inspeccionar su comportamiento en vivo.

Herramientas

  • capture_site_motion registra la carga de la página, el desplazamiento (scroll) y el comportamiento opcional de hover o clic. Las capturas de escritorio usan 1920×1080 por defecto. Devuelve las rutas de los artefactos locales y remotos. El MCP mantiene el codificador WebM de Playwright a un objetivo de 8 Mbps para que el texto y los detalles finos de la interfaz sigan siendo legibles. Rechaza el consentimiento de cookies no esenciales por defecto y registra la acción en el informe de jank.

  • check_capture_gpu comprueba tanto nvidia-smi como el renderizador WebGL de Chromium.

Related MCP server: screenwright

Política de consentimiento e interacción

Las capturas usan consent_mode: "reject" por defecto. Las opciones públicas son:

  • reject rechaza las cookies no esenciales y registra la acción.

  • accept acepta todas las cookies solo cuando se proporciona explícitamente consent_accept_approved: true. De lo contrario, falla de forma segura.

  • none deja la página intacta y no intenta gestionar el consentimiento.

  • granular aplica los selectores de configuración, cookies opcionales y guardado, en ese orden.

El grabador usa un contexto de preflight no grabado y luego traslada su estado de almacenamiento al contexto grabado. Comprueba ambos contextos, incluidos los marcos secundarios. Para reject, accept y granular, un resultado es verified solo cuando la interfaz de consentimiento ha desaparecido tras la acción requerida. Entonces dismissed es true. Si no se encuentra ningún control seguro, el resultado es no-safe-action. Si queda una interfaz o un punto ciego impide la verificación, el resultado no está verificado. En el modo none, la ausencia de diálogo significa verified: true, dismissed: false y el resultado no-consent-surface. Si hay un diálogo, significa verified: false, dismissed: false y el resultado consent-surface-present. Si una página bloquea el consentimiento o la inspección del desplazamiento, el grabador limita esa comprobación e informa de consent-check-timeout con una entrada de punto ciego; el vídeo puede publicarse igualmente, pero no debe tratarse como verificado en cuanto al consentimiento.

El informe conserva el modo, la acción, el selector, la fase, el marco, el motivo, los intentos, el presupuesto y el número de clics.

Para un control inusual, pasa consent_selector. Debe ser un selector CSS explícito y estable para el control previsto. La misma regla se aplica a hover_selector y click_selector. Los selectores no cruzan los límites de los iframes. La detección automática puede pasar por alto controles shadow-DOM y controles ocultos detrás de shadow roots cerrados.

consent_wait_ms define cuánto tiempo espera el grabador al diálogo. Establece consent_preflight: false para omitir la pasada no grabada. Las indicaciones de localización deben estar escritas en inglés e incluir un selector explícito para cada control localizado. No te bases únicamente en el texto visible traducido.

Mantén cada captura dentro del presupuesto de interacción de 8 segundos. La pasada de descubrimiento predeterminada usa como máximo seis clics. Añade selectores explícitos para las interacciones requeridas fuera de esa pasada. El descubrimiento automático es de mejor esfuerzo y no demuestra que se haya capturado cada interacción.

El name local es un nombre base estable para los archivos .webm y .jank.json copiados. No es el ID de ejecución remoto. Mantén estable el nombre local al comparar ejecuciones. Usa el ID de ejecución remoto para los registros y la limpieza remotos. Usa overwrite: false cuando esté disponible para que se conserve una captura local existente. La limpieza informa de un estado por artefacto: removed, missing, skipped o failed. Un fallo de limpieza no significa que la captura haya fallado.

Entorno de ejecución

El servidor no tiene dependencias npm. El lanzador obtiene de ~/.zsh_secrets la clave de API de Vast y el entorno de la CLI de Vast. La clave de API no aparece en la configuración del MCP.

El lanzador resuelve el endpoint SSH de la instancia 48790763 con la CLI de Vast. Sobrescríbelo con VAST_INSTANCE_ID o SITE_MOTION_SSH_URL cuando cambie la VM de captura.

El grabador remoto debe existir en /workspace/site-motion-capture y debe proporcionar capture.mjs y 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