Skip to main content
Glama

Локальный MCP-сервер Snagit

Локальный MCP-сервер, который позволяет GitHub Copilot записывать демо-видео с помощью копии TechSmith Snagit, уже установленной на вашем компьютере. Copilot управляет записью так же, как и всем остальным — прохождением по терминалу, развёртыванием или сеансом Playwright для развёрнутого приложения — и получает на выходе MP4.

Он общается со Snagit через собственный COM-интерфейс автоматизации SNAGIT.VideoCapture, поэтому здесь нет имитации горячих клавиш, сценариев пользовательского интерфейса и сторонних программ записи экрана.

Требования

  • Windows

  • Snagit 2023 или новее, установленный и запущенный хотя бы один раз (проверено на Snagit 2025, 25.4.0.8498)

  • Python 3.10+

Related MCP server: snip-mcp

Установка

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 предлагает запустить сервер, как только вы откроете папку. Чтобы использовать его из любой рабочей области, добавьте тот же блок в свой пользовательский mcp.json с абсолютными путями вместо ${workspaceFolder}.

Записи сохраняются в 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 с открытым окном, а не в фоновом режиме. В сочетании с MCP-сервером Playwright сеанс выглядит так:

  1. Playwright MCP открывает URL вашего App Service в браузере с открытым окном и выполняет вход.

  2. list_windows с title_contains: "Edge" (или Chrome) возвращает дескриптор окна браузера.

  3. start_recording с target: "window" и этим дескриптором. Он возвращается после обратного отсчёта Snagit, так что следующее действие уже попадает в кадр.

  4. Playwright щёлкает по сценарию; wait между шагами позволяет за ним следить.

  5. stop_recording возвращает путь к MP4.

Для обзора репозитория, когда нужно переключаться между VS Code, терминалом, порталом Azure и браузером, используйте target: "fullscreen" с display_index из list_displays вместо отдельного окна.

Попросите об этом простым языком, например:

Запиши демо процесса развёртывания: покажи предварительные требования в README, запусти скрипт развёртывания, затем открой URL App Service и пройдись по созданию записи. Используй дисплей 0.

Как это управляет Snagit

Эти особенности были установлены экспериментально, и тайминги в src/snagit_mcp/recorder.py зависят от них:

  • Последовательность: Capture() для подготовки, пауза 3 секунды, Start(), затем Stop(). Если вызвать Start() слишком рано после Capture(), получится пустой MP4 размером 2 КБ.

  • Snagit воспроизводит обратный отсчёт ~3,4 секунды после Start(). start_recording поглощает его и возвращается только после начала реальной записи.

  • Панель записи Snagit должна оставаться видимой. Установка HideRecordingUI = True незаметно усекает записи до пары секунд. Панель находится за пределами захватываемой области, поэтому в видео не попадает.

  • В этой сборке Snagit микрофон и системный звук нельзя настроить через COM — эти сеттеры вызывают исключение, а неудачная запись может заблокировать механизм захвата. Поэтому звук следует настройкам, заданным в самом Snagit. Если нужен закадровый голос, настройте его там перед записью.

  • RecordingDuration, FrameCount и AverageFrameRate имеют смысл только после Stop(); во время записи recording_status сообщает собственное время сервера.

  • Вывод идёт сразу в файл. Редактор Snagit не открывается между дублями.

Проверка после обновления Snagit

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

Записывает реальный 5-секундный клип через инструменты MCP и проверяет длительность полученного MP4. Если будущий выпуск Snagit изменит поведение обратного отсчёта или подготовки, это будет обнаружено.

Устранение неполадок

Симптом

Исправление

check_snagit_setup сообщает об ошибке COM

Запустите Snagit один раз, чтобы он зарегистрировал свой COM-сервер, затем повторите попытку

Записи пустые или длятся пару секунд

Механизм захвата завис: Stop-Process -Name SnagitCapture -Force, затем снова запустите SnagitCapture.exe

Snagit did not arm the recorder

В Snagit уже открыт захват — отмените его и повторите попытку

Координаты области выглядят смещёнными на масштабированном дисплее

Сервер устанавливает DPI-совместимость на монитор при запуске; проверьте dpi_awareness в check_snagit_setup

Примечание о том, что попадает в кадр

Запись экрана захватывает всё, что отображается на экране, включая вывод терминала, токены, сеансы портала и уведомления. Закройте или очистите всё конфиденциальное перед записью и просмотрите MP4 перед публикацией.

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

Maintenance

Maintainers
Response time
Release cycle
Releases (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 Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.

  • Voice-powered bug reporting with 13 MCP tools. Record bugs by talking; let AI find and fix them.

  • Remote MCP for Copilot CLI switch gate MCP, structured receipts, audit logs, and reviewer-ready evid

View all MCP Connectors

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/paullizer/LocalSnagitMCPServer'

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