Netwright — MCP-сервер для Claude Code: автоматизация WPF и WinForms
MCP-сервер, с которым ИИ-агент запускает десктопное .NET-приложение, читает его интерфейс текстом и прогоняет сценарий, не забирая у вас мышь.
Открыть на GitHubЧто делает Netwright
Netwright работает с WPF и WinForms, включая .NET Framework 4.x, а также с WinUI 3 и .NET MAUI на Windows через UI Automation. Агент стартует приложение прямо из .csproj, получает stdout, stderr и вывод Trace, а при падении — исключение со стеком. Снимок интерфейса отдаётся сжатым текстом: пустые панели разметки сворачиваются, таблицы пересказываются построчно.
Действия идут в фоне. В приложении, которое запустил Netwright, они выполняются внутри самого приложения, поэтому окно не выходит на передний план и не мешает работе. Нажатия клавиш и правый клик — отдельные команды, они ненадолго забирают фокус и возвращают его. Каждое действие сначала ждёт, пока цель станет доступной и видимой, потом ждёт затишья интерфейса: асинхронные экраны не требуют пауз в сценарии. Ошибки приходят кодом с подсказкой, что делать дальше.
Нужны Windows 10 или 11 и .NET 10 SDK. Сами приложения могут быть собраны на любой версии .NET. Проверки состояния делает desktop_expect, а desktop_export_test превращает сессию в C#-тест на Netwright.Testing для xUnit, NUnit или MSTest. Медленнее по времени на вызов, чем координатные инструменты: форма заполняется примерно за 1.8 с против 0.6 с, зато ответ уже содержит результат.
Какие задачи решает
- запустить WPF-приложение из
.csprojи увидеть вывод консоли - прочитать интерфейс окна компактным текстом вместо скриншота
- заполнить форму и отправить её, не отбирая мышь у разработчика
- дождаться загрузки асинхронного экрана без
sleepв сценарии - превратить прогнанный сценарий в C#-регрессионный тест
Примеры запросов агенту
- Запусти
src/Orders/Orders.csproj, открой экран заказа и покажи снимок интерфейса - Отметь чекбокс
#chkTermsи нажми#btnSave, потом проверь, что появилось модальное окно подтверждения - Экспортируй эту сессию в регрессионный тест на xUnit
Как установить Netwright
Установка
Команды запуска нет в реестре MCP — смотрите README репозитория
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Netwright
Как установить Netwright в Claude Code?
Выполните claude mcp add netwright -- dnx Netwright --yes. Нужны Windows 10 или 11 и .NET 10 SDK.
Что делает Netwright?
Даёт агенту набор инструментов для десктопных .NET-приложений: запуск проекта, снимок интерфейса, клики, ввод текста, проверки и экспорт сессии в тест.
Как ограничить приложения, с которыми работает агент?
Добавьте к аргументам "--", "--allow", "MyApp*". Тогда агент сможет трогать только приложения с подходящим именем.