mrkeyoor.com_
Fri 16 Oct 18:51 UTC
Automationevaluationupdated 08 Oct 2026

Windows-MCP review

Windows-MCP is a Model Context Protocol server that lets an AI client inspect and control a Windows desktop. It exposes screenshots, accessibility-tree state, mouse and keyboard input, application control, PowerShell, files, processes, clipboard data, and Registry operations.

+492stars / 7d
Verdict

Our Windows-MCP run installed 34 packages and built in 1 second, but its tests stopped before collection because Python could not import windows_mcp. Use it for supervised Windows automation when accessibility-tree control is more useful than pixel-only clicking, and expose the smallest possible tool list. Do not give its default PowerShell, file, process, and Registry access to an agent you would not trust at your keyboard.

We ran it

Lab card: what happened when we ran Windows-MCPScreenshot of Windows-MCP (github.com/CursorTouch/Windows-MCP)
Install✓ · 13s34 packages · 38 MB
Build✓ · 1s
Tests✗ · 1sran, no count parsed
Known vulns0(pip-audit)
Repo163 files~38,934 lines of source · 3.2 MB · 2 CI workflows · tests dir

Answers from our run

Does Windows-MCP build from source?

Dependencies installed in 13 seconds (34 packages), and the build succeeded in 1 seconds. We cloned commit b04359e into a clean Debian container with 3 CPUs and no project-specific setup.

Do Windows-MCP's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does Windows-MCP have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use Windows-MCP?

Unattended agents on a sensitive workstation: the README says the server has full system access and can perform irreversible operations.

What are the alternatives to Windows-MCP?

Playwright MCP, Desktop Commander, pywinauto. Our Windows-MCP run installed 34 packages and built in 1 second, but its tests stopped before collection because Python could not import windows_mcp.

Setup3/513-second install and 1-second build, but test collection failed
Docs5/5Detailed client, transport, security, tool, and MSIX guidance
Community4/58,269 stars, an October 7 push, and 19 open issues
Maturity3/5v0.8.7 is active, but desktop edge cases remain open

Who it’s for

Windows developers building supervised desktop agents or UI test helpers.
MCP users who need an agent to work across native applications, not only a browser.
Accessibility-tree automation teams that can restrict the exposed tools per client.
Operators willing to keep the server local or configure authentication, TLS, and network allowlists.

Who it’s NOT for

Unattended agents on a sensitive workstation: the README says the server has full system access and can perform irreversible operations.
Linux or macOS desktops: even WSL clients must launch the server through Windows because it needs Windows APIs.
Windows 7 users relying on the documented Python 3.13 requirement: open issue 407 says those requirements conflict.
IDE coding agents that expect natural incremental typing: the README says the Type tool enters a program as a whole and is not intended for programming in an IDE.
Non-English Windows installations that need application launching by name: the README prefers English and says to disable the App tool otherwise.

Setup reality

Our sandbox installed commit b04359e in 13 seconds, adding 34 packages and using 38 MB. The build passed in 1 second. Tests failed after 1 second with exit 4 because tests/conftest.py could not import windows_mcp; pip-audit found 0 known vulnerabilities.

Normal local use needs Windows, Python 3.13 or newer, uv, and an MCP client configuration. Remote HTTP use needs an auth key or OAuth setup, plus TLS and an IP allowlist. No model API credential is required by the server itself.

The repository is small at 163 files, about 38,934 source lines, and 3.2 MB checked out. Claude Desktop's Store build needs manual paths, and accessibility traversal can stall on troublesome apps unless their processes are excluded.

The server can act anywhere your Windows user can

Windows-MCP gives an MCP client a working set of desktop actions. It can click, type, scroll, drag, press shortcuts, launch applications, inspect UI elements, take screenshots, run PowerShell, manipulate files, terminate processes, read the clipboard, and edit the Registry. That range is the reason to choose it over a browser-only server. It is also the reason to treat installation as granting keyboard access to the machine.

The project uses Windows UI Automation rather than requiring a vision-specific model. A client can request a quick screenshot or a fuller Snapshot with element identifiers and scrollable regions. Browser DOM mode filters out browser chrome in Chrome and Edge, with an IAccessible2 fallback for Firefox. The approach gives models named controls where applications expose them, while vision remains optional for interfaces whose accessibility data is thin.

All tools are enabled until you narrow the list

The default tool set includes PowerShell, Registry, Process, FileSystem, and Clipboard. The README warns that Windows-MCP has full system access and can perform irreversible operations. For local stdio use, keep the client and server under the same Windows account. Remote access supports bearer authentication, IP allowlists, TLS, OAuth 2.0 with PKCE, host-header checks, and an explicit CORS origin list.

The server accepts a whitelist such as Screenshot, Click, and Snapshot, or an exclusion list that removes PowerShell and Registry. A visible control indicator and physical-input takeover help a person interrupt desktop actions after 10 seconds of inactivity, but the README calls that best effort. It does not cancel a PowerShell process already running or undo an earlier side effect.

What happened when we ran it

Our sandbox installed 34 packages in 13 seconds and used 38 MB on disk. The checkout at commit b04359e contained 163 files, about 38,934 source lines, and occupied 3.2 MB. It ran in a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, Python 3.12, and no secrets. Pip-audit reported 0 known vulnerabilities.

The build completed in 1 second. The test command failed after 1 second with exit code 4, before pytest could run the suite. The final log says tests/conftest.py imported types from windows_mcp.tree.views, then raised ModuleNotFoundError: No module named 'windows_mcp'. The log does not say why the package was unavailable, so blaming packaging, the container, or Python 3.12 would go beyond the evidence.

This run did not exercise Windows UI Automation because the supplied lab was Debian. It measured installation, the build step, dependency audit, and failed test collection. It did not measure click accuracy, screenshot latency, or behavior on Windows 7 through 11. The repository has 2 CI workflow files and a tests directory, but commit b04359e did not give our fresh container a runnable test suite.

Store-packaged Claude needs manual executable paths

The easiest documented path is uvx windows-mcp serve, followed by an MCP client entry. The README includes configurations for Claude Desktop, Claude Code, Codex CLI, Gemini CLI, Perplexity Desktop, Qwen Code, and Autohand Code. WSL clients must cross back into Windows with powershell.exe because Linux cannot provide the Windows APIs.

Claude Desktop installed from the Microsoft Store is a special case. MSIX virtualizes application data, and its Electron process may not inherit the normal system path. Automatic directory installation can point at a location that does not exist. The workaround uses uv and an absolute path such as the user's .local\bin\windows-mcp.exe or uvx.exe. Open issue 370 records the same failure mode.

The README lists Windows 7 through 11 while requiring Python 3.13 or newer. Open issue 407 says Python 3.13 cannot run on Windows 7 and asks whether that operating system is still supported. Until that conflict is resolved, Windows 7 is not a dependable target.

Accessibility trees help until one application blocks the walk

Snapshot and WaitFor can traverse UI Automation trees across top-level windows. Some applications expose accessibility providers that become slow or unresponsive. The project lets you name processes such as Code.exe or Cursor.exe in WINDOWS_MCP_EXCLUDE_PROCESSES, preventing traversal before any UI Automation call enters those windows. The README calls this a mitigation rather than a complete fix.

That setting grew from a concrete risk: open issue 383 reports an Electron accessibility walk hanging VS Code while it hosted the MCP client. Excluding the host protects known applications, but an unlisted window can still stall capture. Screenshot mode skips the UI tree and is the better first call when the agent mainly needs pixels. Open issue 453 reports misleading window metadata and coordinate guidance on that fast path in v0.8.7.

Windows-MCP also admits several limits. It cannot select a precise subsection of paragraph text through the accessibility tree, its Type tool is not meant for programming inside an IDE, and it is not intended for games. English is the preferred Windows display language; the README advises disabling the App tool on other languages.

Version 0.8.7 is active, with desktop-specific bugs still open

GitHub showed 8,269 stars and 24 open issues and pull requests on October 8, 2026. The API list split that queue into 19 issues and 5 pull requests. The last push landed October 7, and v0.8.7 arrived September 30 with fixes for repeated accessibility ancestors, foreground-window verification, malformed coordinates, and dependencies.

The project is a credible choice when an agent needs native Windows applications and a person can supervise. Start with stdio, whitelist only the tools required, and keep destructive tools out unless the job demands them. Our failed collection run means teams should reproduce the suite in their supported Windows environment before making it a release gate.

Alternatives

ProjectWhat it isPick it when
Playwright MCP gh↗An MCP server focused on browser interaction through Playwright's structured accessibility data.pick this instead when every task stays in a browser and desktop-wide control would add needless risk.
Desktop Commander gh↗A cross-platform MCP server centered on terminal and file operations.pick this instead when shell and filesystem work matter more than visual Windows application control.
pywinautoA Python library for scripting Windows GUI applications without an MCP agent layer.pick this instead when deterministic Python tests are safer than giving an LLM a desktop toolset.

What people are saying

  1. [github-trending] CursorTouch/Windows-MCP

Sources

  1. Windows-MCP README
  2. Windows-MCP v0.8.7 release
  3. Measured commit b04359e
  4. Windows 7 and Python compatibility issue
  5. Electron UI Automation hang issue
  6. Screenshot metadata and coordinates issue

More automation reviews

supersidian · genspark-claw · orc-claude-plugin · tiktok-views-bot · Ydisks-Xianyu-Helper · jev-gui-delegate · the whole board →