Skip to main content
Glama
SankofaForge

site-motion-capture

by SankofaForge

site-motion-capture

Dieser MCP-Server erfasst die Live-Bewegung von Websites auf der gemieteten Vast.ai-GPU-VM. Er verwendet den vorhandenen Playwright-Recorder auf dieser VM und kopiert das WebM-Video sowie den Jank-Bericht auf den lokalen Rechner.

Verwenden Sie design-inspiration, um Kandidaten-Websites zu finden. Verwenden Sie diesen Server, nachdem eine Website ausgewählt wurde und ihr Live-Verhalten untersucht werden muss.

Tools

  • capture_site_motion zeichnet das Laden der Seite, Scrollen und optionales Hover- oder Klickverhalten auf. Desktop-Aufnahmen verwenden standardmäßig 1920×1080. Es gibt lokale und entfernte Artefaktpfade zurück. Der MCP-Server hält den WebM-Encoder von Playwright auf einem Zielwert von 8 Mbps, damit Text und feine UI-Details lesbar bleiben. Es lehnt nicht notwendige Cookie-Zustimmungen standardmäßig ab und zeichnet die Aktion im Jank-Bericht auf.

  • check_capture_gpu prüft sowohl nvidia-smi als auch den Chromium-WebGL-Renderer.

Related MCP server: screenwright

Richtlinie zu Zustimmung und Interaktion

Aufnahmen verwenden standardmäßig consent_mode: "reject". Die öffentlichen Optionen sind:

  • reject lehnt nicht notwendige Cookies ab und zeichnet die Aktion auf.

  • accept akzeptiert alle Cookies nur, wenn consent_accept_approved: true explizit angegeben wird. Andernfalls schlägt es fehl (Fail-closed).

  • none lässt die Seite unberührt und unternimmt keinen Versuch zur Zustimmungsbehandlung.

  • granular wendet die Selektoren für Einstellungen, optionale Cookies und Speichern der Reihe nach an.

Der Recorder verwendet einen nicht aufgezeichneten Preflight-Kontext und übernimmt dessen Speicherzustand in den aufgezeichneten Kontext. Er prüft beide Kontexte, einschließlich untergeordneter Frames. Bei reject, accept und granular gilt ein Ergebnis nur dann als verified, wenn die Zustimmungsoberfläche nach der erforderlichen Aktion verschwunden ist. dismissed ist dann true. Wird kein sicheres Bedienelement gefunden, lautet das Ergebnis no-safe-action. Bleibt eine Oberfläche bestehen oder verhindert ein blinder Fleck die Verifikation, ist das Ergebnis nicht verified. Im Modus none bedeutet kein Dialog verified: true, dismissed: false und das Ergebnis no-consent-surface. Ein vorhandener Dialog bedeutet verified: false, dismissed: false und das Ergebnis consent-surface-present. Wenn eine Seite die Zustimmungs- oder Scroll-Prüfung blockiert, begrenzt der Recorder diese Prüfung und meldet consent-check-timeout mit einem Eintrag für einen blinden Fleck; das Video kann weiterhin veröffentlicht werden, darf aber nicht als zustimmungsverifiziert behandelt werden. Der Bericht erfasst Modus, Aktion, Selektor, Phase, Frame, Grund, Versuche, Budget und Klickanzahl.

Für ein ungewöhnliches Bedienelement übergeben Sie consent_selector. Es muss ein expliziter, stabiler CSS-Selektor für das gewünschte Bedienelement sein. Dasselbe gilt für hover_selector und click_selector. Selektoren überschreiten keine iframe-Grenzen. Die automatische Erkennung kann Shadow-DOM-Bedienelemente und Bedienelemente übersehen, die hinter geschlossenen Shadow-Roots verborgen sind.

consent_wait_ms legt fest, wie lange der Recorder auf den Dialog wartet. Setzen Sie consent_preflight: false, um den nicht aufgezeichneten Durchlauf zu überspringen. Lokalisierungshinweise müssen auf Englisch verfasst sein und einen expliziten Selektor für jedes lokalisierte Bedienelement enthalten. Verlassen Sie sich nicht allein auf übersetzten sichtbaren Text.

Halten Sie jede Aufnahme innerhalb des 8-Sekunden-Interaktionsbudgets. Der standardmäßige Erkennungsdurchlauf verwendet höchstens sechs Klicks. Fügen Sie für erforderliche Interaktionen außerhalb dieses Durchlaufs explizite Selektoren hinzu. Die automatische Erkennung ist Best-Effort und beweist nicht, dass jede Interaktion erfasst wurde.

Der lokale name ist ein stabiler Dateinamensstamm für die kopierten .webm- und .jank.json-Dateien. Er ist nicht die Remote-Run-ID. Halten Sie den lokalen Namen beim Vergleich von Läufen stabil. Verwenden Sie die Remote-Run-ID für Remote-Protokolle und die Bereinigung. Verwenden Sie overwrite: false, sofern verfügbar, damit eine vorhandene lokale Aufnahme erhalten bleibt. Die Bereinigung meldet einen Status pro Artefakt: removed, missing, skipped oder failed. Ein Bereinigungsfehler bedeutet nicht, dass die Aufnahme fehlgeschlagen ist.

Laufzeit

Der Server hat keine npm-Abhängigkeiten. Der Launcher liest ~/.zsh_secrets für den Vast-API-Schlüssel und die Vast-CLI-Umgebung. Der API-Schlüssel erscheint nicht in der MCP-Konfiguration.

Der Launcher ermittelt den SSH-Endpunkt für die Instanz 48790763 mit der Vast-CLI. Überschreiben Sie ihn mit VAST_INSTANCE_ID oder SITE_MOTION_SSH_URL, wenn sich die Aufnahme-VM ändert.

Der entfernte Recorder muss unter /workspace/site-motion-capture vorhanden sein und capture.mjs sowie check-gpu-renderer.mjs bereitstellen.

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