Skip to main content
Glama

ローカルSnagit MCPサーバー

このローカルMCPサーバーを使うと、GitHub Copilotがお使いのマシンにインストール済みのTechSmith Snagitのコピーを使ってデモ動画を録画できます。Copilotは、ターミナルでのウォークスルー、デプロイ、デプロイ済みアプリに対するPlaywrightセッションなど、他のすべてを操作するのと同じように録画を制御し、MP4を受け取ります。

Snagit独自のSNAGIT.VideoCapture COMオートメーションインターフェースを通じてSnagitと通信するため、ホットキーシミュレーションもUIスクリプティングもサードパーティ製の画面録画ソフトも不要です。

要件

  • Windows

  • Snagit 2023以降がインストールされ、一度は起動済みであること(Snagit 2025、25.4.0.8498で検証済み)

  • Python 3.10以上

Related MCP server: autodemo

セットアップ

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

--selftest が "ready": true を返せば成功です。返さない場合は、トラブルシューティングを参照してください。

このリポジトリには.vscode/mcp.jsonが同梱されているため、VS Codeはフォルダを開いた時点でサーバーの起動を提案します。任意のワークスペースから使用するには、${workspaceFolder} の代わりに絶対パスを使用して、同じブロックをユーザーレベルの mcp.json に追加してください。

録画は SNAGIT_MCP_OUTPUT_DIR(デフォルトではワークスペースの recordings/ フォルダ、未設定の場合は %USERPROFILE%\Videos\Snagit MCP)に保存されます。

環境変数

デフォルト

目的

SNAGIT_MCP_OUTPUT_DIR

%USERPROFILE%\Videos\Snagit MCP

MP4の出力先

SNAGIT_MCP_MAX_WAIT_SECONDS

600

wait ツールの上限時間

SNAGIT_MCP_ENCODE_TIMEOUT_SECONDS

300

stop_recording がエンコードを待機する時間

ツール

ツール

機能

check_snagit_setup

Snagitのバージョン、COM到達性、出力フォルダ、ディスプレイ数を確認します

list_displays

モニターとそのピクセル座標を一覧表示します

list_windows

ハンドルと座標を持つ表示中のウィンドウを一覧表示します — ブラウザを見つけるのに使用します

focus_window

録画する前にウィンドウを復元して前面に表示します

start_recording

ディスプレイ、ウィンドウ、または固定領域をMP4に録画します

recording_status

録画が実行中かどうか、またその経過時間を確認します

pause_recording / resume_recording

デプロイ完了待ちなどの無音部分をスキップします

stop_recording

停止してエンコードを待ち、MP4のパスと再生時間を返します

wait

最後の画面上の操作が読み取れるように間を置きます

list_recordings

出力フォルダ内の最新のMP4を一覧表示します

また、record_app_demo プロンプト(VS Codeのスラッシュコマンド)もあり、Copilotに完全なショットリスト優先の手順を指示できます。

デプロイ済みアプリのデモを録画する

Snagitは実際のピクセルを録画するため、ブラウザを表示する必要があります — ヘッドレスではなく、ヘッド付きでPlaywrightを実行してください。Playwright MCPサーバーと組み合わせると、セッションは次のようになります。

  1. Playwright MCPがApp ServiceのURLをヘッド付きブラウザで開き、サインインします。

  2. title_contains: "Edge"(または Chrome)を指定した list_windows がブラウザのウィンドウハンドルを返します。

  3. target: "window" とそのハンドルを指定して start_recording を実行します。Snagitのカウントダウン後に戻るため、次の操作はすでにカメラに収まっています。

  4. Playwrightがシナリオをクリック操作し、各ステップ間の wait で追従しやすくします。

  5. stop_recording がMP4のパスを返します。

VS Code、ターミナル、Azureポータル、ブラウザの間を行き来するリポジトリのウォークスルーの場合は、単一のウィンドウではなく、list_displays の display_index を指定した target: "fullscreen" を使用します。

平易な言葉で依頼してください。例:

デプロイフローのデモを録画してください。READMEの前提条件を表示し、デプロイスクリプトを実行して、App ServiceのURLを開いてレコードの作成手順を進めてください。ディスプレイ0を使用してください。

Snagitの操作の仕組み

これらの動作は実験によって確認されたもので、src/snagit_mcp/recorder.py のタイミングはこれらに依存しています。

  • シーケンスは、アームするための Capture()、3秒の待機、Start()、そして Stop() です。Capture() の直後に Start() を呼び出すと、空の2KBのMP4が生成されます。

  • Snagitは Start() の後、約3.4秒のカウントダウンを再生します。start_recording はこのカウントダウンを吸収し、実際の録画が始まって初めて戻ります。

  • Snagitの録画ツールバーは表示したままにする必要があります。 HideRecordingUI = True を設定すると、録画が数秒に切り詰められてしまいます。ツールバーはキャプチャ領域の外にあるため、動画には映りません。

  • このSnagitビルドでは、マイクとシステムオーディオはCOMで設定できません。これらのセッターは例外をスローし、書き込みに失敗するとキャプチャエンジンが固まる可能性があります。そのため、オーディオはSnagit自体のキャプチャ設定で構成されているものに従います。ナレーションを入れたい場合は、録画前にそこで設定してください。

  • RecordingDuration、FrameCount、AverageFrameRate は Stop() の後にのみ意味を持ちます。録画中は、recording_status がサーバー自身の壁時計を報告します。

  • 出力は直接ファイルに書き込まれます。Snagit Editorがテイクの合間にポップアップ表示されることはありません。

Snagitアップグレード後の検証

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

MCPツールを通じて実際の5秒間のクリップを録画し、結果のMP4の再生時間を確認します。将来のSnagitリリースでカウントダウンやアーミング動作が変更された場合、これを検出できます。

トラブルシューティング

症状

修正方法

check_snagit_setup がCOMエラーを報告する

Snagitを一度起動してCOMサーバーを登録してから、再試行してください

録画が空、または数秒の長さになる

キャプチャエンジンが固まっています。Stop-Process -Name SnagitCapture -Force を実行してから、SnagitCapture.exe を再起動してください

Snagit did not arm the recorder

Snagitでキャプチャが開いています。キャンセルして再試行してください

拡大表示のディスプレイで領域座標がずれて見える

サーバーは起動時にモニターごとのDPI認識を設定します。check_snagit_setup で dpi_awareness を確認してください

画面に映るものについての注意

画面録画は、ターミナル出力、トークン、ポータルセッション、通知など、画面上のあらゆるものをキャプチャします。録画する前に機密情報を閉じるか消去し、共有する前にMP4を確認してください。

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