Windows-MCP

by CursorTouch (community) · Windows, Claude Desktop, Claude Code, OpenCode

MCP MCP Servers Open Source

MCP-сервер, дающий AI-агентам полный контроль над Windows: навигация по файлам, запуск приложений, взаимодействие с UI-элементами, автотестирование. Более 2М пользователей через расширения Claude Desktop.


Установка
# Claude Desktop — claude_desktop_config.json:
{ "mcpServers": { "windows-mcp": { "command": "uvx", "args": ["windows-mcp"] } } }

# Claude Code (CLI):
claude mcp add windows-mcp -- uvx windows-mcp

# OpenCode — ~/.config/opencode/opencode.json:
{ "mcp": { "windows-mcp": { "type": "local", "command": ["uvx", "windows-mcp"] } } }
показать оригинал переведено ИИ

🪟 Windows-MCP

License Python Platform: Windows 7 to 11 Last Commit PyPI Downloads
Follow on Twitter Join us on Discord

CursorTouch%2FWindows-MCP | Trendshift

Windows-MCP — это лёгкий, открытый проект с открытым исходным кодом, который обеспечивает бесшовную интеграцию между агентами ИИ и операционной системой Windows. Действуя как сервер MCP, он устраняет разрыв между моделями большого языка (LLM) и операционной системой Windows, позволяя агентам выполнять задачи, такие как навигация по файлам, управление приложениями, взаимодействие с интерфейсом, тестирование QA и многое другое.

mcp-name: io.github.CursorTouch/Windows-MCP

Обновления

  • Windows-MCP достиг 2 млн+ пользователей в Claude Desktop Extensions.
  • Попробуйте 🪟Windows-Use, агента, созданного с использованием Windows-MCP.
  • Windows-MCP теперь доступен на PyPI (поддерживает uvx windows-mcp).
  • Windows-MCP добавлен в MCP Registry.

Поддерживаемые операционные системы

  • Windows 7
  • Windows 8, 8.1
  • Windows 10
  • Windows 11

🎥 Демонстрации

https://github.com/user-attachments/assets/d0e7ed1d-6189-4de6-838a-5ef8e1cad54e

https://github.com/user-attachments/assets/d2b372dc-8d00-4d71-9677-4c64f5987485

✨ Основные возможности

  • Бесшовная интеграция с Windows Взаимодействует с элементами интерфейса Windows нативно, открывает приложения, управляет окнами, симулирует ввод пользователя и многое другое.
  • Использование любых LLM (опционально — визуальные) В отличие от многих инструментов автоматизации, Windows-MCP не зависит от традиционных техник компьютерного зрения или специфических дообученных моделей; он работает с любыми LLM, снижая сложность и время настройки.
  • Обширный набор инструментов для автоматизации UI Включает инструменты для базового управления клавиатурой, мышью, а также захвата состояния окна/интерфейса.
  • Лёгковесный & с открытым исходным кодом Минимальные зависимости и простая установка с полным доступом к исходному коду под лицензией MIT.
  • Настраиваемый & расширяемый Легко адаптировать или расширять инструменты для удовлетворения уникальных потребностей автоматизации или интеграции с ИИ.
  • Реальное время взаимодействия Типичная задержка между действиями (например, между двумя кликами мыши) составляет от 0,2 до 0,5 секунд, может незначительно варьироваться в зависимости от количества активных приложений, нагрузки на систему, а также скорости инференса LLM.
  • Режим DOM для автоматизации браузера Специальный режим use_dom=True для инструмента State-Tool, который фокусируется исключительно на содержимом веб-страницы, фильтруя элементы интерфейса браузера для более чистой и эффективной автоматизации веб-страниц. Поддерживает Chrome, Edge и Firefox (Firefox использует fallback IAccessible2, так как не экспонирует RootWebArea через UIA).

🛠️ Установка

Примечание: При первом запуске этого сервера MCP может потребоваться минута или две для установки зависимостей из pyproject.toml. При первом запуске сервер может завершиться с тайм-аутом — игнорируйте это и перезапустите его.

Предварительные требования

  • Python 3.13+
  • UV (менеджер пакетов) от Astra, установите с помощью pip install uv или curl -LsSf https://astral.sh/uv/install.sh | sh
  • Английский как язык по умолчанию в Windows (предпочтительно), иначе отключите App-Tool в сервере MCP для Windows с другими языками.

Запуск при входе в систему

Запустите сервер напрямую при необходимости:

uvx windows-mcp serve
uvx windows-mcp serve --transport sse --host localhost --port 8000
uvx windows-mcp serve --transport streamable-http --host localhost --port 8000

Установите его как фоновую задачу, которая запускается сейчас и при каждом входе в систему:

windows-mcp install

# Or choose the HTTP transport and bind address explicitly
windows-mcp install --transport sse --host 127.0.0.1 --port 8000

Это создаёт пользовательскую запланированную задачу с именем windows-mcp-server и обёрточный скрипт в ~/.windows-mcp/start-server.cmd. Используйте windows-mcp uninstall для удаления. Логи записываются в ~/.windows-mcp/server.log и ~/.windows-mcp/server.error.log.

Установка в Claude Desktop

  1. Установите Claude Desktop.
npm install -g @anthropic-ai/mcpb
  1. Настройте сервер MCP.

Опция A: Установка из PyPI (рекомендуется)

Используйте uvx, чтобы запустить последнюю версию напрямую из PyPI.

Добавьте это в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "windows-mcp": {
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ]
    }
  }
}

Опция B: Установка из исходников

  1. Клонируйте репозиторий:
git clone https://github.com/CursorTouch/Windows-MCP.git
cd Windows-MCP
  1. Добавьте это в ваш claude_desktop_config.json:
{
  "mcpServers": {
    "windows-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "<путь к директории windows-mcp>",
        "run",
        "windows-mcp",
        "serve"
      ]
    }
  }
}

3. Полностью перезапустите Claude Desktop и проверьте, что сервер появился в списке инструментов MCP.

Claude Desktop MSIX (версия из Microsoft Store)

Версия Claude Desktop в формате MSIX (из Microsoft Store) виртуализирует %APPDATA%. Это вызывает две основные проблемы: 1. Файл конфигурации расположен по пути: %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json (а не %APPDATA%\Claude\). 2. Автоматическая установка из «Claude Directory» завершится с ошибкой, так как переменная ${__dirname} разрешается в неверный (не виртуализированный) путь.

Настройка Windows-MCP для версии Claude из Microsoft Store:

Необходимо вручную отредактировать файл конфигурации. Обратите внимание, что приложения на Electron в песочнице MSIX не наследуют системную переменную PATH, поэтому нужно использовать полный абсолютный путь к uvx.exe (или uv.exe).

Вариант A: Использование предустановленного исполняемого файла

  1. В терминале выполните команду uv tool install windows-mcp.
  2. Используйте сгенерированный исполняемый файл в конфигурации:
{
  "mcpServers": {
    "windows-mcp": {
      "command": "C:\\Users\\<пользователь>\\.local\\bin\\windows-mcp.exe",
      "args": ["serve"]
    }
  }
}

Вариант B: Использование uvx

{
  "mcpServers": {
    "windows-mcp": {
      "command": "C:\\Users\\<пользователь>\\.local\\bin\\uvx.exe",
      "args": ["windows-mcp", "serve"]
    }
  }
}

Вариант C: Установка из исходников

{
  "mcpServers": {
    "windows-mcp": {
      "command": "C:\\Users\\<пользователь>\\.local\\bin\\uv.exe",
      "args": [
        "--directory",
        "C:\\путь\\к\\Windows-MCP",
        "run",
        "windows-mcp",
        "serve"
      ]
    }
  }
}

Замените <пользователь> на ваше имя пользователя в Windows. Чтобы найти правильные пути, выполните команды where uvx, where windows-mcp или where uv. Полностью завершите работу Claude Desktop (Трей → Выход) и перезапустите приложение после сохранения конфигурации.

Дополнительную информацию по устранению проблем интеграции с Claude Desktop можно найти в документации MCP.

Установка в Perplexity Desktop

  1. Установите Perplexity Desktop.
  2. Откройте Perplexity Desktop и перейдите в Настройки → Коннекторы → Добавить коннектор → Дополнительно.
  3. Введите имя Windows-MCP, затем вставьте одну из следующих конфигураций.

Вариант A: Установка из PyPI (рекомендуется)

{
  "command": "uvx",
  "args": [
    "windows-mcp",
    "serve"
  ]
}

Вариант B: Установка из исходников

{
  "command": "uv",
  "args": [
    "--directory",
    "<путь к директории windows-mcp>",
    "run",
    "windows-mcp",
    "serve"
  ]
}
  1. Нажмите Сохранить, затем перезапустите Perplexity Desktop при необходимости.

Дополнительную информацию по устранению проблем интеграции с Claude Desktop можно найти в поддержке MCP для Perplexity. В документации содержатся полезные советы по проверке логов и решению распространённых проблем.

Установка в Gemini CLI

  1. Установите Gemini CLI.
npm install -g @google/gemini-cli
  1. Откройте %USERPROFILE%/.gemini/settings.json.
  2. Добавьте конфигурацию windows-mcp и сохраните файл.
{
"theme": "Default",
...
"mcpServers": {
  "windows-mcp": {
    "command": "uvx",
    "args": [
      "windows-mcp",
      "serve"
    ]
  }
}
}

Примечание: Для запуска из исходников замените команду на uv, а аргументы — на ["--directory", "<путь>", "run", "windows-mcp", "serve"].

  1. Перезапустите Gemini CLI.

Установка в Qwen Code

  1. Установите Qwen Code.
npm install -g @qwen-code/qwen-code@latest
  1. Откройте %USERPROFILE%/.qwen/settings.json.
  2. Добавьте конфигурацию windows-mcp и сохраните файл.
{
"mcpServers": {
  "windows-mcp": {
    "command": "uvx",
    "args": [
      "windows-mcp",
      "serve"
    ]
  }
}
}

Примечание: Для запуска из исходников замените команду на uv, а аргументы — на ["--directory", "<путь>", "run", "windows-mcp", "serve"].

  1. Перезапустите Qwen Code.

Установка в Codex CLI

  1. Установите Codex CLI.
npm install -g @openai/codex
  1. Откройте %USERPROFILE%/.codex/config.toml.
  2. Добавьте конфигурацию windows-mcp и сохраните файл.
[mcp_servers.windows-mcp]
command="uvx"
args=[
"windows-mcp",
"serve"
]

Примечание: Для запуска из исходников замените команду на uv, а аргументы — на ["--directory", "<путь>", "run", "windows-mcp", "serve"].

  1. Перезапустите Codex CLI.

Установка в Autohand Code

Добавьте опубликованный сервер stdio из терминала Windows:

autohand mcp add windows-mcp uvx windows-mcp serve

Добавьте --scope project после add, чтобы сохранить конфигурацию сервера в текущем проекте. Смотрите Autohand Code для получения информации о текущей установке и деталях CLI.

Установка в Claude Code

  1. Установите Claude Code:
npm install -g @anthropic-ai/claude-code
  1. Настройте сервер:

Вариант A: Установка из PyPI (Рекомендуется)

Используйте uvx, чтобы запустить последнюю версию напрямую из PyPI.

claude mcp add --transport stdio windows-mcp -- uvx windows-mcp serve

Вариант B: Установка из исходного кода

  1. Клонируйте репозиторий:
git clone https://github.com/CursorTouch/Windows-MCP.git
cd Windows-MCP
  1. Выполните следующую команду в терминале:
claude mcp add --transport stdio windows-mcp -- uv --directory "<путь>" run windows-mcp serve

Примечание: чтобы сделать сервер доступным для всех проектов, добавьте --scope user к команде.

  1. Перезапустите Claude Code в терминале. Наслаждайтесь 🥳

Примечание: На Windows, если вы сталкиваетесь с ошибками "Connection closed", используйте полный путь к uvx.exe:

claude mcp add --transport stdio windows-mcp -- C:\Users\<user>\.local\bin\uvx.exe windows-mcp serve

Чтобы проверить, что сервер зарегистрирован, выполните claude mcp list. Внутри Claude Code используйте /mcp, чтобы проверить статус сервера.

WSL (Подсистема Windows для Linux)

Если вы запускаете Claude Code из WSL, сервер MCP всё равно должен выполняться на стороне Windows (ему нужны Windows API для автоматизации интерфейса). Используйте powershell.exe в качестве команды для связи между WSL и Windows:

  1. Установите uv на Windows (из терминала PowerShell):
irm https://astral.sh/uv/install.ps1 | iex
  1. Из вашего терминала WSL зарегистрируйте сервер:
claude mcp add windows-mcp --transport stdio -s user -- powershell.exe -Command "C:\Users\<user>\.local\bin\uvx.exe windows-mcp serve"

Замените <user> на ваше имя пользователя Windows. Флаг -s user делает сервер доступным для всех проектов.

  1. Перезапустите Claude Code и проверьте с помощью /mcp.

🖥️ Запуск Windows-MCP

Windows-MCP работает напрямую на вашем устройстве под управлением Windows и предоставляет свои инструменты подключённому MCP-клиенту.

# Runs with stdio transport (default)
uvx windows-mcp serve

# Or with SSE/Streamable HTTP for network access
uvx windows-mcp serve --transport sse --host localhost --port 8000
uvx windows-mcp serve --transport streamable-http --host localhost --port 8000

Можно задать дополнительные переменные окружения для настройки поведения — см. Переменные окружения ниже.

Безопасность для удалённого доступа

Для сетевого доступа включите аутентификацию и TLS:

windows-mcp serve --transport sse --host 0.0.0.0 \
  --auth-key "your_secret_token" \
  --ip-allowlist "203.0.113.0/24" \
  --ssl-certfile cert.pem --ssl-keyfile key.pem

См. 🔐 Безопасность и контроль доступа для всех вариантов.

Варианты транспорта

Транспорт Команда Сценарий использования
stdio (по умолчанию) serve --transport stdio Прямое подключение от MCP-клиентов, таких как Claude Desktop, Cursor и др.
sse serve --transport sse --host HOST --port PORT Сетевой доступ через Server-Sent Events
streamable-http serve --transport streamable-http --host HOST --port PORT Сетевой доступ через HTTP-стриминг (рекомендуется для продакшн)

🔐 Безопасность и контроль доступа

Аутентификация

windows-mcp serve --transport sse --host 0.0.0.0 --auth-key "your_token"

Требует заголовок Authorization: Bearer ваш_токен во всех запросах.

Список разрешённых IP

windows-mcp serve --auth-key "token" --ip-allowlist "203.0.113.0/24,198.51.100.5"

Ограничивает подключения указанными диапазонами CIDR. По умолчанию блокируются частные/локальные IP.

Источники CORS

По умолчанию заголовки CORS не отправляются. Браузеры блокируют межсайтовые запросы через собственную политику одного источника (Same-Origin Policy), что означает: произвольные сайты не могут получить доступ к плоскости управления MCP, даже если сервер работает на localhost. Проверка заголовка Host (защита от DNS rebinding) также применяется автоматически на основе адреса привязки.

Если вам нужно, чтобы браузерный MCP-клиент подключался к серверу, разрешите это явно с помощью списка разрешённых источников:

windows-mcp serve --cors-origins "https://my-client.example.com,https://other.example.com"

Только указанные источники получат заголовки Access-Control-Allow-Origin; все остальные межсайтовые запросы будут отклонены браузером. Эквивалентная переменная окружения — WINDOWS_MCP_CORS_ORIGINS.

Выбор инструментов

По умолчанию все инструменты включены. Используйте --tools, чтобы добавить определённые инструменты в белый список, или --exclude-tools, чтобы заблокировать конкретные.

windows-mcp serve --tools "Screenshot,Click,Snapshot"   # Enable only these tools
windows-mcp serve --exclude-tools "PowerShell,Registry" # Disable specific tools

TLS/HTTPS

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

windows-mcp serve --ssl-certfile cert.pem --ssl-keyfile key.pem

OAuth 2.0 + PKCE

Для MCP-клиентов, которые используют OAuth (например, Claude Desktop) вместо статического API-ключа:

windows-mcp serve --transport streamable-http --host 0.0.0.0 \
  --ssl-certfile ~/.windows-mcp/cert.pem \
  --ssl-keyfile  ~/.windows-mcp/key.pem \
  --oauth-client-id my-client \
  --oauth-client-secret my-secret

Конфигурация Claude Desktop:

{
  "mcpServers": {
    "windows-mcp": {
      "type": "http",
      "url": "https://<host>:8000/mcp/",
      "oauth": {
        "clientId": "my-client",
        "clientSecret": "my-secret"
      }
    }
  }
}

Сервер OAuth предоставляет: - GET /.well-known/oauth-authorization-server — метаданные сервера (RFC 8414)


  • GET /oauth/authorize — Авторизационный код + PKCE (S256 обязателен)
  • POST /oauth/token — обмен токенами (требуется клиентский секрет)
  • POST /oauth/register — отключён; клиенты должны быть предварительно зарегистрированы

Динамическая регистрация клиентов отключена. URI перенаправления должны быть только loopback http(s). Ключ аутентификации и OAuth могут сосуществовать — оба принимаются как допустимые Bearer-токены.

Файл конфигурации (~/.windows-mcp/config.toml)

Вместо передачи флагов каждый раз храните конфигурацию в ~/.windows-mcp/config.toml. Флаги командной строки всегда переопределяют значения из файла конфигурации.

Порядок поиска: 1. --config /путь/к/config.toml 2. ~/.windows-mcp/config.toml

stdio — только локально, безопасность не требуется:

[server]
transport = "stdio"

SSE — сетевой доступ с аутентификацией и ограничением по IP:

[server]
transport = "sse"
host      = "0.0.0.0"
port      = 8000
auth_key  = "your-secret-key"

[security]
ip_allowlist = ["192.168.1.0/24"]

Потоковый HTTP — с аутентификацией, TLS и исключением инструментов:

[server]
transport    = "streamable-http"
host         = "0.0.0.0"
port         = 8000
auth_key     = "your-secret-key"
ssl_certfile = "cert.pem"   # resolved relative to ~/.windows-mcp/
ssl_keyfile  = "key.pem"

[security]
ip_allowlist        = ["192.168.1.0/24"]
cors_origins        = ["https://my-client.example.com"]   # optional — browser CORS opt-in
oauth_client_id     = "my-client"      # optional — enables OAuth 2.0 + PKCE
oauth_client_secret = "my-secret"

[tools]
exclude = ["PowerShell", "Registry"]   # disable specific tools

Поместите файлы сертификата и ключа в тот же каталог:

~/.windows-mcp/
├── config.toml
├── cert.pem
└── key.pem

Сгенерируйте самоподписанный сертификат прямо в этот каталог:

mkdir -p ~/.windows-mcp
openssl req -x509 -newkey rsa:4096 \
  -keyout ~/.windows-mcp/key.pem \
  -out ~/.windows-mcp/cert.pem \
  -days 365 -nodes

Вспомогательная утилита auth

Сгенерируйте ключ аутентификации и сохраните рабочую конфигурацию в ~/.windows-mcp/config.toml:

windows-mcp auth

Сгенерируйте ключ аутентификации и самоподписанный TLS-сертификат:

windows-mcp auth --transport streamable-http --host 0.0.0.0 --port 8000 --with-tls

Эта команда записывает ключ аутентификации в файл конфигурации, может сгенерировать cert.pem и key.pem, а также выводит пример конфигурации MCP-клиента для выбранного транспорта.

Защита от SSRF

Инструмент Scrape блокирует: частные IP, loopback, link-local, учётные данные в URL, не-HTTP схемы.


⚙️ Переменные окружения

Все переменные являются необязательными, если не указано иное. Устанавливайте их через ключ env в claude_desktop_config.json (или эквивалентном конфигурационном файле MCP-клиента).

Скриншоты и снимки

Переменная По умолчанию Описание
WINDOWS_MCP_SCREENSHOT_SCALE 1.0 Коэффициент масштабирования, применяемый к скриншотам перед кодированием. Принимает значение с плавающей точкой в диапазоне 0.1–1.0. Полезно на дисплеях с высоким разрешением (1440p, 4K), где по умолчанию создаются изображения, превышающие лимит инструмента Claude Desktop в 1 МБ. Установите 0.5, чтобы уменьшить оба размера вдвое (размер файла уменьшится вчетверо).
WINDOWS_MCP_SCREENSHOT_BACKEND auto Бэкенд захвата скриншотов. Допустимые значения: auto (пробует dxcam → mss → pillow по порядку), dxcam, mss, pillow. Используйте mss или pillow, если dxcam недоступен или вызывает проблемы на вашем GPU.
WINDOWS_MCP_PROFILE_SNAPSHOT (отключено) Установите 1, true, yes или on, чтобы выводить журналы времени выполнения для каждого этапа вызовов Screenshot/Snapshot. Полезно для диагностики медленных захватов.
WINDOWS_MCP_DISABLE_FLASH (отключено) Установите 1, true, yes или on, чтобы подавить оранжево-красную подсветку границы, которая кратковременно выделяется вокруг захваченной области после каждого скриншота. Подсветка отображается на прозрачном окне поверх всех окон после захвата, поэтому она никогда не попадает в захваченное изображение.

Безопасность

Переменная По умолчанию Описание
WINDOWS_MCP_AUTH_KEY (нет) Bearer-токен, требуемый для всех HTTP-запросов. Альтернатива флагу командной строки --auth-key.
WINDOWS_MCP_IP_ALLOWLIST (нет) Список разрешённых IP-адресов клиентов или диапазонов CIDR, разделённых запятыми (например, 203.0.113.0/24,198.51.100.5). Альтернатива флагу командной строки --ip-allowlist.
WINDOWS_MCP_CORS_ORIGINS (нет) Список источников, разделённых запятыми, которым разрешено делать кросс-доменные запросы из браузера (например, https://my-client.example.com). Заголовки CORS не отправляются, если переменная не установлена. Альтернатива флагу командной строки --cors-origins.
WINDOWS_MCP_TOOLS (все включены) Явный список инструментов, разделённых запятыми, которые необходимо включить (например, Screenshot,Click,Snapshot). Альтернатива флагу командной строки --tools.
WINDOWS_MCP_EXCLUDE_TOOLS (нет) Список инструментов, разделённых запятыми, которые необходимо отключить (например, PowerShell,Registry). Альтернатива флагу командной строки --exclude-tools.
WINDOWS_MCP_SSL_CERTFILE (нет) Путь к файлу TLS-сертификата (.pem) для HTTPS. Должен быть указан вместе с WINDOWS_MCP_SSL_KEYFILE.
WINDOWS_MCP_SSL_KEYFILE (нет) Путь к файлу закрытого ключа TLS (.pem) для HTTPS. Должен быть указан вместе с WINDOWS_MCP_SSL_CERTFILE.
WINDOWS_MCP_OAUTH_CLIENT_ID (нет) Идентификатор OAuth-клиента для HTTP-транспортов. Должен быть указан вместе с WINDOWS_MCP_OAUTH_CLIENT_SECRET.
WINDOWS_MCP_OAUTH_CLIENT_SECRET (нет) Секрет OAuth-клиента для HTTP-транспортов. Должен быть указан вместе с WINDOWS_MCP_OAUTH_CLIENT_ID.
WINDOWS_MCP_STATELESS_HTTP false Установите 1, true, yes или on, чтобы запускать streamable-http без состояния соединения Mcp-Session-Id. Полезно для переподключений после перезапусков и для горизонтально масштабируемых развёртываний.
MseeP.ai Security Assessment Badge

Телеметрия

Переменная По умолчанию Описание
ANONYMIZED_TELEMETRY true Установите false, чтобы отключить анонимную телеметрию использования. Никакие личные данные, аргументы инструмента или результаты никогда не собираются вне зависимости от этой настройки.
POSTHOG_API_KEY Ключ проекта по умолчанию Переопределите ключ записи проекта PostHog, используемый для анонимной телеметрии. Установите пустую строку, чтобы пропустить инициализацию клиента PostHog.
POSTHOG_HOST https://us.i.posthog.com Переопределите хост PostHog для анонимной телеметрии, например, для развёртывания собственного экземпляра PostHog.

Отладка

Переменная По умолчанию Описание
WINDOWS_MCP_DEBUG false Установите 1, true, yes или on, чтобы включить режим отладки, который задаёт уровень логирования DEBUG для подробного вывода. Также доступен как флаг CLI --debug.

WatchDog

Переменная По умолчанию Описание
WINDOWS_MCP_WATCHDOG true Установите off, 0, false, no или disabled (регистр не важен), чтобы отключить сторожевой таймер фокуса UIA, который поддерживает актуальность дерева доступности. В нестабильных средах UIA сторожевой таймер может деградировать после длительной работы (например, после сна/возобновления или смены сеанса); его отключение жертвует автоматическим отслеживанием фокуса ради стабильности — дерево доступности всё равно обновляется по требованию при вызове инструментов.

Пример claude_desktop_config.json:

Локальный (без безопасности):

{
  "mcpServers": {
    "windows-mcp": {
      "command": "uvx",
      "args": ["windows-mcp", "serve"],
      "env": { "WINDOWS_MCP_SCREENSHOT_SCALE": "0.5" }
    }
  }
}

Удалённый (с аутентификацией + белым списком IP + TLS):

{
  "mcpServers": {
    "windows-mcp": {
      "command": "uvx",
      "args": ["windows-mcp", "serve", "--transport", "sse", "--host", "0.0.0.0"],
      "env": {
        "WINDOWS_MCP_AUTH_KEY": "your_token",
        "WINDOWS_MCP_IP_ALLOWLIST": "203.0.113.0/24",
        "WINDOWS_MCP_SSL_CERTFILE": "/path/to/cert.pem",
        "WINDOWS_MCP_SSL_KEYFILE": "/path/to/key.pem"
      }
    }
  }
}

🔨Инструменты MCP

Клиент MCP может использовать следующие инструменты для взаимодействия с Windows:

  • Click: Клик по экрану в заданных координатах.
  • Type: Ввод текста в элемент (опционально очищает существующий текст).
  • Scroll: Прокрутка по вертикали или горизонтали в окне или определённых областях.
  • Move: Перемещение указателя мыши или перетаскивание (установите drag=True). Для детерминированного перетаскивания установите from_loc=[x, y] с drag=True, чтобы нажать в явной начальной точке и отпустить в loc за один вызов инструмента. Опциональный параметр duration добавляет ограниченное промежуточное движение.
  • Shortcut: Нажатие сочетаний клавиш (Ctrl+c, Alt+Tab и т. д.).
  • Wait: Пауза на заданный промежуток времени.
  • WaitFor: Ожидание появления текста, активного окна, элемента или элемента в фокусе путём опроса состояния UI в рамках одного вызова инструмента.
  • DisplayInventory: Чтение компоновки дисплеев, рабочих областей, эффективного DPI и метаданных масштабирования.
  • Screenshot: Быстрый захват экрана с приоритетом на скриншот, включая положение курсора, активные/открытые окна и изображение. Пропускает извлечение дерева UI для ускорения и должен быть основным первым вызовом, когда требуется в основном визуальный контекст. Поддерживает display=[0] или display=[0,1] с использованием индексов активных дисплеев Windows (начиная с нуля), а также region=[left, top, right, bottom] (координаты виртуального рабочего стола в пикселях) для захвата только этой прямоугольной области вместо всего экрана — экономит токены, когда уже известно, какая область важна. region имеет приоритет над display, если заданы оба параметра; недопустимая или выходящая за границы область вызывает ошибку. После захвата внутри захваченной области кратковременно отображается оранжево-красная подсветка в качестве визуального подтверждения (установите WINDOWS_MCP_DISABLE_FLASH=1, чтобы отключить).
  • Snapshot: Полный захват состояния рабочего стола для рабочих процессов, которым нужны идентификаторы интерактивных элементов, прокручиваемые области или извлечение браузера с use_dom=True. Поддерживает use_vision=True для включения скриншотов, display=[0] или display=[0,1] с использованием индексов активных дисплеев Windows (начиная с нуля), а также region=[left, top, right, bottom] (координаты виртуального рабочего стола в пикселях) для проверки только этой прямоугольной области вместо всего экрана; region имеет приоритет над display, если заданы оба параметра, а недопустимая или выходящая за границы область вызывает ошибку.
  • App: Запуск приложения по имени в меню «Пуск» или строго по пути к исполняемому файлу с разделёнными аргументами argv и опциональным рабочим каталогом cwd; изменение размера, перемещение и переключение между окнами.
  • PowerShell: Для выполнения команд PowerShell.
  • FileSystem: Чтение, запись, копирование, перемещение, удаление, перечисление, поиск и проверка файлов и каталогов.
  • Scrape: Для сбора информации со всей веб-страницы.
  • MultiSelect: Выбор нескольких элементов (файлов, папок, флажков) с опциональной клавишей Ctrl. Использует массовое разрешение меток в координаты при указании меток.
  • MultiEdit: Ввод текста в несколько полей ввода по заданным координатам. Использует массовое разрешение меток в координаты при указании меток.
  • Clipboard: Чтение или установка содержимого буфера обмена Windows.

  • Process: Просмотр запущенных процессов или их завершение по PID или имени.
  • Notification: Отправка всплывающего уведомления Windows с заголовком и сообщением.
  • Registry: Чтение, запись, удаление или просмотр значений и ключей реестра Windows.

🤝 Свяжитесь с нами

Оставайтесь в курсе и присоединяйтесь к нашему сообществу:

  • 📢 Следите за нами в X, чтобы получать последние новости и обновления
  • 💬 Присоединяйтесь к нашему Discord-сообществу

История звёзд

Star History Chart

👥 Контрибьюторы

Благодарим всех замечательных людей, которые внесли вклад в Windows-MCP! 🎉

Мы ценим каждый вклад, будь то код, документация, сообщения об ошибках или предложения по функциям. Хотите внести свой вклад? Ознакомьтесь с нашими Руководствами по внесению вклада!

🔒 Безопасность

Важно: Windows-MCP работает с полным доступом к системе и может выполнять необратимые операции. Перед развёртыванием ознакомьтесь с нашими подробными рекомендациями по безопасности.

Для получения подробной информации по безопасности, включая: - Оценку рисков для конкретных инструментов - Рекомендации по развёртыванию - Процедуры сообщения об уязвимостях - Рекомендации по соответствию и аудиту

Прочтите нашу Политику безопасности.

📊 Телеметрия

Windows-MCP собирает данные об использовании для улучшения MCP-сервера. Никакая личная информация, аргументы инструментов или их выводы не отслеживаются.

Чтобы отключить телеметрию, установите ANONYMIZED_TELEMETRY в false в конфигурации MCP-клиента:

{
  "mcpServers": {
    "windows-mcp": {
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ],
      "env": {
        "ANONYMIZED_TELEMETRY": "false"
      }
    }
  }
}

Полный список настраиваемых параметров см. в разделе Переменные окружения.

Для получения подробной информации о том, какие данные собираются и как они обрабатываются, обратитесь к разделу Телеметрия и конфиденциальность данных в нашей Политике безопасности.

📝 Ограничения

  • Выделение конкретных фрагментов текста в абзаце, так как MCP использует дерево доступности (a11y tree). (⌛ Ведётся работа.)
  • Type-Tool предназначен для ввода текста, а не для программирования в IDE, поскольку он вводит программу целиком в файл. (⌛ Ведётся работа.)
  • Этот MCP-сервер нельзя использовать для игр в видеоигры 🎮.

🪪 Лицензия

Этот проект распространяется под лицензией MIT — подробности см. в файле LICENSE.

🙏 Благодарности

Windows-MCP использует несколько отличных проектов с открытым исходным кодом, которые обеспечивают автоматизацию в Windows:

Огромная благодарность разработчикам и контрибьюторам этих библиотек за их выдающуюся работу и дух открытого исходного кода.

🤝 Внесение вклада

Принимаются любые вклады! Инструкции по настройке и рекомендации по разработке см. в CONTRIBUTING.

Сделано с ❤️ командой CursorTouch

Цитирование

@software{
  author       = {CursorTouch},
  title        = {Windows-MCP: Lightweight open-source project for integrating LLM agents with Windows},
  year         = {2024},
  publisher    = {GitHub},
  url={https://github.com/CursorTouch/Windows-MCP}
}
Войдите, чтобы оставить комментарий