desktop-touch-mcp — MCP-сервер для Windows: управление рабочим столом
MCP-сервер, через который Claude или Cursor видят окна Windows 10/11 и работают с ними: скриншоты, UI Automation, мышь, клавиатура, Chrome.
claude mcp add --env DESKTOP_TOUCH_AUTO_GUARD=<DESKTOP_TOUCH_AUTO_GUARD> --env DESKTOP_TOUCH_PERCEPTION_RESOURCES=<DESKTOP_TOUCH_PERCEPTION_RESOURCES> --env DESKTOP_TOUCH_PERCEPTION_IDLE_MS=<DESKTOP_TOUCH_PERCEPTION_IDLE_MS> --env DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE=<DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE> --env DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE=<DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE> --transport stdio desktop-touch-mcp -- npx -y @harusame64/desktop-touch-mcpЧто делает desktop-touch-mcp
Сервер отдаёт агенту 32 инструмента: снимок экрана, чтение через UI Automation, ввод с клавиатуры и мыши, запуск команд в терминале, работу с Chrome. Вместо того чтобы кликать по координатам вслепую, агент сначала вызывает desktop_discover: получает список интерактивных элементов с clickAt и короткоживущими арендами. Дальше desktop_act бьёт по смыслу элемента, а не по пикселю.
Перед каждым действием срабатывают проверки восприятия: сервер сверяет окно и его границы. Если текст уйдёт не в то поле, окно перекрыто диалогом или лежит на другом виртуальном рабочем столе, действие не отправляется, и в ответе будет причина. На UIA-слепых приложениях включается запасной путь: OCR, кластеризация найденных областей и красные рамки с номерами. Каждый вызов возвращает наблюдение — что появилось, исчезло, куда ушёл фокус.
Работает только на Windows 10/11 64-bit. Без нативной части на Rust всё падает в режим PowerShell — медленнее, но с теми же функциями; для ввода в Windows Terminal клиенту нужно уметь elicitation по stdio, потому что сервер спрашивает разрешение каждый раз. Запуск — npx -y @harusame64/desktop-touch-mcp.
Какие задачи решает
- прочитать элементы окна из UI Automation и кликнуть по нужному
- напечатать текст в поле приложения, которое не принимает фоновый ввод
- снять экран с сохранением координат пиксель-в-пиксель
- подставить пароль из хранилища при запуске
sshв консоли - разобрать интерфейс по OCR там, где дерева доступности нет
Примеры запросов агенту
- Открой Chrome, найди через
desktop_discoverадресную строку и введи адрес локального сервера - Сделай скриншот окна Excel с
dotByDot=trueи покажи, какие ячейки изменились - Запусти
sshв консоли черезkey_lockerи введи пароль сам
Как установить desktop-touch-mcp
Командой платформы
claude mcp add --env DESKTOP_TOUCH_AUTO_GUARD=<DESKTOP_TOUCH_AUTO_GUARD> --env DESKTOP_TOUCH_PERCEPTION_RESOURCES=<DESKTOP_TOUCH_PERCEPTION_RESOURCES> --env DESKTOP_TOUCH_PERCEPTION_IDLE_MS=<DESKTOP_TOUCH_PERCEPTION_IDLE_MS> --env DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE=<DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE> --env DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE=<DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE> --transport stdio desktop-touch-mcp -- npx -y @harusame64/desktop-touch-mcpВместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера
Командой платформы
codex mcp add desktop-touch-mcp --env DESKTOP_TOUCH_AUTO_GUARD=<DESKTOP_TOUCH_AUTO_GUARD> --env DESKTOP_TOUCH_PERCEPTION_RESOURCES=<DESKTOP_TOUCH_PERCEPTION_RESOURCES> --env DESKTOP_TOUCH_PERCEPTION_IDLE_MS=<DESKTOP_TOUCH_PERCEPTION_IDLE_MS> --env DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE=<DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE> --env DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE=<DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE> -- npx -y @harusame64/desktop-touch-mcpВместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера
Файл настроек
{
"mcpServers": {
"desktop-touch-mcp": {
"command": "npx",
"args": [
"-y",
"@harusame64/desktop-touch-mcp"
],
"env": {
"DESKTOP_TOUCH_AUTO_GUARD": "<DESKTOP_TOUCH_AUTO_GUARD>",
"DESKTOP_TOUCH_PERCEPTION_RESOURCES": "<DESKTOP_TOUCH_PERCEPTION_RESOURCES>",
"DESKTOP_TOUCH_PERCEPTION_IDLE_MS": "<DESKTOP_TOUCH_PERCEPTION_IDLE_MS>",
"DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE": "<DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE>",
"DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE": "<DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера
Файл настроек
{
"servers": {
"desktop-touch-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@harusame64/desktop-touch-mcp"
],
"env": {
"DESKTOP_TOUCH_AUTO_GUARD": "<DESKTOP_TOUCH_AUTO_GUARD>",
"DESKTOP_TOUCH_PERCEPTION_RESOURCES": "<DESKTOP_TOUCH_PERCEPTION_RESOURCES>",
"DESKTOP_TOUCH_PERCEPTION_IDLE_MS": "<DESKTOP_TOUCH_PERCEPTION_IDLE_MS>",
"DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE": "<DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE>",
"DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE": "<DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера
Командой платформы
gemini mcp add -e DESKTOP_TOUCH_AUTO_GUARD=<DESKTOP_TOUCH_AUTO_GUARD> -e DESKTOP_TOUCH_PERCEPTION_RESOURCES=<DESKTOP_TOUCH_PERCEPTION_RESOURCES> -e DESKTOP_TOUCH_PERCEPTION_IDLE_MS=<DESKTOP_TOUCH_PERCEPTION_IDLE_MS> -e DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE=<DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE> -e DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE=<DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE> desktop-touch-mcp npx -y @harusame64/desktop-touch-mcpВместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о desktop-touch-mcp
Как установить desktop-touch-mcp в Claude Code?
Выполните claude mcp add desktop-touch-mcp -- npx -y @harusame64/desktop-touch-mcp. Второй вариант — с переменными окружения: `claude mcp add --env DESKTOP_TOUCH_AUTO_GUARD=<DESKTOP_TOUCH_AUTO_GUARD> --env DESKTOP_TOUCH_PERCEPTION_RESOURCES=<DESKTOP_TOUCH_PERCEPTION_RESOURCES> --env DESKTOP_TOUCH_PERCEPTION_IDLE_MS=<DESKTOP_TOUCH_PERCEPTION_IDLE_MS> --env DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE=<DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE> --env DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE=<DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE> --transport stdio desktop-touch-mcp -- npx -y @harusame64/desktop-touch-mcp`.
Зачем нужен desktop-touch-mcp?
Он даёт агенту доступ к рабочему столу Windows: увидеть окно, найти элемент, кликнуть, напечатать, прочитать результат. Это снимает нужду вручную переключаться между приложениями, когда задачу можно описать словами.
На каких системах он работает?
Только Windows 10 и 11 в 64-битной сборке. Chrome, Edge, VS Code, Word и проводник читаются через UI Automation; для остальных приложений остаются OCR и разметка найденных элементов.