MCP Windows Desktop Automation
Агент водит мышью, печатает текст, управляет окнами и снимает PNG-скриншоты рабочего стола Windows через AutoIt.
- 119 ★ репозитория
- Последний коммит
Широкий доступ
Почему такой уровень
- Агент получает мышь, клавиатуру, буфер обмена и запуск процессов на реальном рабочем столе.
- Инструмент `runAs` принимает учетные данные, а `shutdown` выключает машину. Изоляции на уровне ОС нет.
Установка
- Работает в
Ручная установка
npm ci && npm run build && node dist/index.js --transport=stdioШаги Run из README: установка зависимостей, сборка и запуск по stdio. Пакет в npm не указан, ставят репозиторий или готовый релиз.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент получает мышь, клавиатуру, буфер обмена и запуск процессов на реальном рабочем столе.
- Инструмент `runAs` принимает учетные данные, а `shutdown` выключает машину. Изоляции на уровне ОС нет.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
MCP-сервер управляет интерактивным рабочим столом Windows x64 через AutoIt. Во второй версии сохранены 50 инструментов для мыши, клавиатуры, буфера обмена, окон, элементов управления и процессов, добавлены семь промптов и настоящие скриншоты. Инструмент `takeScreenshot` снимает весь рабочий стол, одно окно или прямоугольную область и возвращает агенту PNG. Те же кадры отдают ресурсы `screenshot://desktop` и `screenshot://window/{title}`. Запуск по умолчанию идет по stdio, для HTTP задают токен владельца и список разрешенных каталогов.
Для кого. Тестировщикам и разработчикам, которым нужно, чтобы агент нажимал кнопки в классических приложениях Windows без API.
Подходит, если
- У старой настольной программы нет API, и агент должен заполнить в ней форму.
- Сценарий повторяется каждый день: открыть окно, ввести данные, отправить.
- Агент ждет появления окна, активирует его и только после этого вводит текст.
- Нужен скриншот региона экрана, чтобы агент увидел результат действия.
Не подходит, если
- Задача решается в браузере, там удобнее браузерный MCP-сервер.
- Машина работает на Linux или macOS: нативные вызовы вернут ошибку платформы.
- Сервер хотят открыть нескольким людям: один процесс обслуживает одного владельца с общим рабочим столом.
- Сессия без экрана, служба в session 0 или Windows на ARM64.
Пример запроса к агенту
Открой Блокнот, введи в нем слово «проверка», сними скриншот окна и закрой его без сохранения.MCP
- Транспорт
- stdio, http
- Авторизация
- не нужна
Переменные окружения
MCP_AUTH_TOKENсекрет- Токен владельца для HTTP-режима, не короче 32 символов.
MCP_FILE_ROOTS- JSON-массив каталогов, внутри которых сервер читает файлы; обязателен для HTTP.
Ограничения
Нативные операции работают только на Windows x64 в интерактивной сессии вошедшего пользователя. ARM64, службы session 0, безголовые сессии и окна с повышенными правами не поддерживаются. На Linux доступны перечисление и протокол, а нативные вызовы возвращают ошибку платформы. Нужен Node.js 22 или новее. Таймауты ожидания задаются в секундах от 1 до 25, каждый запрос к рабочему столу ограничен 30 секундами, в очереди не больше 16 заданий. Кадр `PrintWindow` зависит от приложения: защищенные, свернутые и аппаратно отрисованные окна могут дать пустой результат.
Как отключить. Уберите сервер из конфигурации MCP-клиента и остановите процесс `mcp-windows-desktop-automation`. Для HTTP-режима дополнительно удалите из окружения `MCP_AUTH_TOKEN` и `MCP_FILE_ROOTS`.
Частые вопросы
Работает ли сервер на macOS или Linux?
Нативное управление идет только на Windows x64. На Linux запускаются протокол и перечисление, а нативные вызовы возвращают явную ошибку платформы. О macOS документация молчит.
Как включить HTTP-режим?
Задайте `MCP_AUTH_TOKEN` длиной от 32 символов и `MCP_FILE_ROOTS` в виде JSON-массива каталогов, затем выполните `mcp-windows-desktop-automation --transport=streamable-http --port=3000`. Адрес сервера — `http://127.0.0.1:3000/mcp`.
Сохраняются ли скриншоты на диск?
Нет, PNG уходит агенту в ответе и на диск не пишется. Размер кадра ограничен 32 миллионами пикселей и 8 МиБ.
Что изменилось во второй версии?
Остались 50 инструментов AutoIt и семь промптов. Текстовую заглушку скриншота заменили настоящие PNG, размеры строк и буферов ограничили, а чтение файлов привязали к заданным корневым каталогам.
Какие инструменты есть у сервера?
Мышь (`mouseMove`, `mouseClick`), клавиатура и буфер обмена (`send`, `clipGet`, `clipPut`), окна (`winActivate`, `winWait`), элементы управления (`controlClick`, `controlSetText`), процессы (`run`, `processClose`) и `takeScreenshot`.
Что делать, если запрос завис?
Каждый запрос ограничен 30 секундами. После отмены, таймаута или сбоя нативный помощник перезапускается с настройками по умолчанию, а прерванные действия повторно не выполняются.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер и CLI wincli: агент управляет окнами Windows по именам кнопок и полей через UI Automation, без координат скриншота
MCP-сервер для Windows: агент двигает мышь, нажимает клавиши, управляет окнами и делает снимки экрана
MCP-сервер для управления Windows: агент открывает приложения, кликает и печатает, читает состояние окон и интерфейса, работает с файлами и PowerShell
MCP-сервер для macOS: агент двигает мышь, печатает, управляет окнами и снимает экран, когда у приложения нет API
MCP-сервер дает агенту управлять окнами и приложениями: он читает экран как структуру и действует по имени элемента
MCP-сервер помогает агенту создавать и проверять Python-задачи для управления приложениями Windows и устройствами Android.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| MCP Windows Desktop Automation (эта карточка) | нет | не нужна | 119 | |
| Windows MCP Server | нет | не нужна | 129 | управляет окнами по именам кнопок через UI Automation; этот сервер работает через AutoIt и пикселей экрана |
| Windows-MCP | нет | не нужна | 11 150 | читает состояние окон и интерфейса; здесь 50 инструментов AutoIt с лимитами и таймаутами |
Коротко о README
Один процесс обслуживает одного владельца. Нативный помощник отделен от цикла событий MCP, после отмены, таймаута или сбоя он перезапускается, а прерванные изменения повторно не выполняются.