Skip to main content
Glama

Lokaler Snagit MCP-Server

Ein lokaler MCP-Server, mit dem GitHub Copilot Demo-Videos mit der auf Ihrem Rechner installierten Kopie von TechSmith Snagit aufnehmen kann. Copilot steuert die Aufnahme, während es alles andere steuert – einen Terminal-Walkthrough, eine Bereitstellung oder eine Playwright-Sitzung gegen Ihre bereitgestellte App – und erhält ein MP4 zurück.

Er kommuniziert mit Snagit über Snagits eigene SNAGIT.VideoCapture-COM-Automatisierungsschnittstelle, also keine Hotkey-Simulationen, keine UI-Skripte und kein Drittanbieter-Screen-Recorder.

Anforderungen

  • Windows

  • Snagit 2023 oder neuer, installiert und mindestens einmal gestartet (verifiziert mit Snagit 2025, 25.4.0.8498)

  • Python 3.10+

Related MCP server: autodemo

Einrichtung

py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .
.\.venv\Scripts\python.exe -m snagit_mcp --selftest

--selftest sollte "ready": true melden. Falls nicht, siehe Fehlerbehebung.

Das Repository enthält .vscode/mcp.json, sodass VS Code anbietet, den Server zu starten, sobald Sie den Ordner öffnen. Um ihn aus einem beliebigen Arbeitsbereich zu verwenden, fügen Sie denselben Block zu Ihrem benutzerbezogenen mcp.json hinzu, mit absoluten Pfaden anstelle von ${workspaceFolder}.

Aufnahmen landen in SNAGIT_MCP_OUTPUT_DIR (standardmäßig der recordings/-Ordner des Arbeitsbereichs oder %USERPROFILE%\Videos\Snagit MCP, wenn nicht gesetzt).

Umgebungsvariable

Standard

Zweck

SNAGIT_MCP_OUTPUT_DIR

%USERPROFILE%\Videos\Snagit MCP

Wo MP4s geschrieben werden

SNAGIT_MCP_MAX_WAIT_SECONDS

600

Obergrenze für das wait-Tool

SNAGIT_MCP_ENCODE_TIMEOUT_SECONDS

300

Wie lange stop_recording auf die Codierung wartet

Tools

Tool

Was es tut

check_snagit_setup

Snagit-Version, COM-Erreichbarkeit, Ausgabeordner, Anzahl der Displays

list_displays

Monitore und ihre Pixelgrenzen

list_windows

Sichtbare Fenster mit Handles und Grenzen – verwenden Sie es, um den Browser zu finden

focus_window

Ein Fenster vor der Aufnahme wiederherstellen und in den Vordergrund bringen

start_recording

Ein Display, ein Fenster oder eine feste Region als MP4 aufnehmen

recording_status

Ob eine Aufnahme läuft und wie lange

pause_recording / resume_recording

Tote Zeit überspringen, z. B. während eine Bereitstellung abgeschlossen wird

stop_recording

Stoppen, auf Codierung warten, MP4-Pfad und Dauer zurückgeben

wait

Einen Moment innehalten, damit die letzte Aktion auf dem Bildschirm lesbar ist

list_recordings

Neueste MP4s im Ausgabeordner

Es gibt auch einen record_app_demo-Prompt (einen Slash-Befehl in VS Code), der Copilot die vollständige Shot-Liste-zuerst-Prozedur gibt.

Aufnahme einer Demo einer bereitgestellten App

Snagit nimmt echte Pixel auf, daher muss der Browser sichtbar sein – führen Sie Playwright mit Fenster aus, nicht headless. In Kombination mit dem Playwright-MCP-Server sieht eine Sitzung so aus:

  1. Playwright MCP öffnet Ihre App-Service-URL in einem Browser mit Fenster und meldet sich an.

  2. list_windows mit title_contains: "Edge" (oder Chrome) gibt das Browser-Fenster-Handle zurück.

  3. start_recording mit target: "window" und diesem Handle. Es kehrt nach Snagits Countdown zurück, sodass die nächste Aktion bereits auf Kamera ist.

  4. Playwright klickt sich durch das Szenario; wait zwischen den Schritten hält es nachvollziehbar.

  5. stop_recording gibt den MP4-Pfad zurück.

Für einen Repository-Walkthrough, der zwischen VS Code, einem Terminal, dem Azure-Portal und dem Browser wechselt, verwenden Sie target: "fullscreen" mit dem display_index von list_displays anstelle eines einzelnen Fensters.

Fragen Sie in einfacher Sprache, zum Beispiel:

Nimm eine Demo des Bereitstellungsablaufs auf: Zeige die Voraussetzungen in der README, führe das Bereitstellungsskript aus, öffne dann die App-Service-URL und gehe durch das Erstellen eines Datensatzes. Verwende Display 0.

Wie es Snagit steuert

Diese Verhaltensweisen wurden experimentell ermittelt, und die Zeitabläufe in src/snagit_mcp/recorder.py hängen von ihnen ab:

  • Die Sequenz ist Capture() zum Scharfmachen, eine 3s-Beruhigungszeit, Start(), dann Stop(). Ein zu früher Aufruf von Start() nach Capture() erzeugt ein leeres 2-KB-MP4.

  • Snagit spielt nach Start() einen Countdown von ~3,4s ab. start_recording absorbiert ihn und kehrt erst zurück, wenn die echte Aufnahme begonnen hat.

  • Snagits Aufnahme-Symbolleiste muss sichtbar bleiben. Das Setzen von HideRecordingUI = True kürzt Aufnahmen stillschweigend auf ein paar Sekunden. Die Symbolleiste liegt außerhalb des aufgenommenen Bereichs, erscheint also nicht im Video.

  • Mikrofon und Systemaudio sind in diesem Snagit-Build nicht über COM einstellbar – diese Setter werfen Fehler, und ein fehlgeschlagener Schreibvorgang kann die Aufnahme-Engine blockieren. Audio folgt daher dem, was in Snagits eigenen Aufnahmeeinstellungen konfiguriert ist. Stellen Sie es dort vor der Aufnahme ein, wenn Sie eine Erzählung wünschen.

  • RecordingDuration, FrameCount und AverageFrameRate sind erst nach Stop() aussagekräftig; während einer Aufnahme meldet recording_status stattdessen die eigene Wanduhr des Servers.

  • Die Ausgabe geht direkt in eine Datei. Der Snagit-Editor erscheint nicht zwischen den Aufnahmen.

Verifizierung nach einem Snagit-Upgrade

.\.venv\Scripts\python.exe tests\smoke_recording.py

Nimmt einen echten 5-Sekunden-Clip über die MCP-Tools auf und prüft die Dauer des resultierenden MP4. Wenn eine zukünftige Snagit-Version den Countdown oder das Scharfmachverhalten ändert, wird dies es auffangen.

Fehlerbehebung

Symptom

Lösung

check_snagit_setup meldet einen COM-Fehler

Starten Sie Snagit einmal, damit es seinen COM-Server registriert, und versuchen Sie es dann erneut

Aufnahmen sind leer oder nur ein paar Sekunden lang

Die Aufnahme-Engine ist blockiert: Stop-Process -Name SnagitCapture -Force, dann starten Sie SnagitCapture.exe neu

Snagit did not arm the recorder

Eine Aufnahme ist bereits in Snagit geöffnet – brechen Sie sie ab und versuchen Sie es erneut

Regionskoordinaten wirken auf einem skalierten Display verschoben

Der Server setzt beim Start die DPI-Awareness pro Monitor; bestätigen Sie dpi_awareness in check_snagit_setup

Ein Hinweis zu dem, was auf Kamera landet

Bildschirmaufnahme erfasst alles, was auf dem Bildschirm ist, einschließlich Terminalausgaben, Tokens, Portalsitzungen und Benachrichtigungen. Schließen oder löschen Sie alles Sensible vor der Aufnahme und überprüfen Sie das MP4, bevor Sie es teilen.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables LLMs to capture screenshots and screen recordings through MCP with chunked session-based transfers for reliable image consumption. Supports multi-monitor selection, timeline capture, and compatibility with both vision and non-vision language models.
    11
    1
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables an AI agent to operate Windows applications through vision-driven UI Automation and record polished demo videos with pre-click camera zoom, narration, and cinematic effects.
    MIT