Windows desktop automation for AI agents: Anode, Windows-MCP, Desktop Touch MCP, windows-computer-use-mcp and Terminator compared

Checked on 16 October 2026: Anode runs the agent in a separate Windows session with its own pointer and keyboard focus, while Windows-MCP, Desktop Touch MCP, windows-computer-use-mcp and Terminator act in your own session, and each of the four has click paths that move your real pointer (read from their docs and source code, not run by us). In Anode's live release check (version 0.11.1, 2 October 2026), a program in the agent's session moved its pointer while your real pointer sat over Anode's hidden viewer: Windows' Remote Desktop control tried 7 times to copy those moves to your pointer, Anode blocked all 7, and a watcher saw no matching jump of your pointer. Method, sources and data are below.

We make Anode. Read this as a vendor's page: our own numbers come from real runs that you can repeat, and everything about the other tools links to where we read it. If we got something wrong, open an issue and we will correct it.

Last checked: 16 October 2026 · Anode main at 47feb59 (the 0.11.3 candidate; the latest release is 0.11.2) · Next check by 15 November 2026, or sooner when one of these tools releases.

The short answer

Side by side

Anode's column is measured or taken from its own release record. The other columns are from each project's README, docs and source at the commit named under Sources, read on 16 October 2026, not run by us.

AnodeWindows-MCPDesktop Touch MCPwindows-computer-use-mcpTerminator
Where the agent acts A second Windows session for your account (a child session), with its own screen Your session Your session Your session Your session
Your real pointer Not used by the agent; the seat has its own. Live check: 7 of 7 copied pointer updates blocked Moved: Click calls SetCursorPos, then a mouse event Moved by mouse_click, mouse_drag and scroll, and by desktop_act's last fallback; not by click_element (UI Automation Invoke only) Moved by its mouse tool and coordinate clicks in either mode (SetCursorPos and mouse_event); element clicks go through pywinauto, and the opt-in "background" mode tries Invoke first, then a real click Moved: click_element moves the real pointer with SendInput to click, then puts it back by default (restore_cursor); invoke_element doesn't move it
Your keyboard focus Not used; the seat has its own focus Type clicks its target first; the App tool's switch brings a window to the front Its keyboard tool brings the window to the front by default, except background typing into terminal-class windows; optional forceFocus Focuses the window before typing when setting text fails; its safety doc asks you to step back Action tools, invoke_element included, bring the target window to the front by default; most then restore your keyboard focus, but click_element, invoke_element and hover_element leave it on the target unless restore_focus is set
How you take over or stop it Ctrl+Alt+Shift+K or anode kill signs the seat out Move the mouse or press Ctrl+Alt+Shift+Backspace; the agent resumes after 10 s idle Park the mouse in the top-left corner for 0.5 s Moving the pointer to the top-left corner aborts pointer actions; input waits for approve_automation, which opens a 5-minute window by default A stop_execution tool cancels running tools; no hotkey or corner stop found
MCP tools 41 (counted from tools/list) 21 (source) 32 (README) 20, or 22 with two opt-in tools (source) 35 (README and source)
Browsers Headed Chrome or Edge inside the seat, on its own profile DOM mode through UI Automation: Chrome and Edge, and Firefox through an IAccessible2 fallback Chrome, Edge and Brave over the DevTools protocol (started with a debugging port) None built in; it suggests a separate Playwright server Through its Chrome extension, in your browser session
Android emulators Yes, booted inside the seat Not mentioned Not mentioned Not mentioned Not mentioned
Windows editions 10/11 Pro, Enterprise, Education, or Server; not Home; x64 Windows 10 and 11 (editions not stated) Windows 10/11 64-bit (editions not stated); a 4-tool macOS preview Windows 10 and 11 (editions not stated) Windows only (editions not stated)
Install install.ps1, then anode setup (one administrator prompt: Remote Desktop and child sessions) uvx windows-mcp serve (Python, uv) npx -y @harusame64/desktop-touch-mcp (Node 20+) install.ps1 from its release (an MCPB bundle), or uv npx -y terminator-mcp-agent
Telemetry None On by default (PostHog); ANONYMIZED_TELEMETRY=false turns it off None documented A local action log (SQLite); no remote analytics found On by default: PostHog analytics and Sentry error reports (a default build feature); environment variables turn them off
Licence · stars · latest release MIT · 2 · 0.11.2, 10 Oct 2026 MIT · 9,254 · 0.8.8, 10 Oct 2026 MIT · 22 · 2.3.1, 13 Oct 2026 MIT · 46 · 0.8.0, 10 Oct 2026 MIT · 1,655 · 0.24.32, 5 Apr 2026

What we measured on Anode

Two sources: a fresh run for this page, and Anode's own release record, where each live check names the script that repeats it.

Run for this page (16 October 2026)

To repeat it, in PowerShell with the .NET 10 SDK installed:

git clone https://github.com/skulitom/Anode
cd Anode
git checkout 47feb59
powershell -ExecutionPolicy Bypass -File scripts\build.ps1 -QuickTest -OutputDirectory artifacts\pkg-build

Live checks from Anode's release record

These ran in a real seat with the viewer hidden, on Windows 11 Pro build 26200 (release record):

Each tool, and when to choose it over Anode

Windows-MCP

CursorTouch/Windows-MCP is a Python MCP server with 21 tools, including Snapshot (the UI Automation tree), Screenshot, Click, Type, PowerShell, Registry and FileSystem. It is listed in Claude's connector directory. It works in your session: its Click moves the real cursor before pressing, and Type clicks its target first. While the agent is in control, a screen edge and a cursor glow show it; you take control back by moving the mouse, and it hands control back after 10 seconds without input. Its README calls that takeover best-effort, and its security notes say it is not sandboxed and suggest a VM or Windows Sandbox. Anonymous telemetry is on until you set ANONYMIZED_TELEMETRY=false.

Choose it when you are happy to watch the agent work on your own desktop, are on Windows Home (where Anode can't run; Windows-MCP's README lists Windows 10 and 11 without naming editions), want the most starred project here, or want shell, registry and file tools in the same server. Choose Anode when you want to keep working while the agent clicks.

Desktop Touch MCP

Harusame64/desktop-touch-mcp is a TypeScript server with a native Rust core and 32 tools. It mixes routes. desktop_act tries UI Automation (Invoke and Value), then the DevTools protocol, then terminal input (for Windows Terminal, a paste it asks you to approve each time), and falls back to a real mouse click at the element. click_element uses UI Automation Invoke only, which its guide says works without moving the cursor. mouse_click, mouse_drag and scroll move the real mouse, animated by default. Its keyboard tool brings the target window to the front by default, except background typing into terminal-class windows, and a forceFocus option forces a window forward when Windows refuses. Parking the mouse in the top-left corner stops it.

Choose it for UI Automation-first work in your own session, Chrome pages over the DevTools protocol, terminal input, its Excel tool, or a macOS preview. Choose Anode when apps need real mouse and keyboard input and you don't want that input on your desktop.

windows-computer-use-mcp

sandraschi/windows-computer-use-mcp is a Python server built on pywinauto, with 20 tools (22 with two opt-in ones), plus a local web UI and a desktop app. Its mouse tool and coordinate clicks move the real pointer in either dispatch mode; element clicks go through pywinauto, and an opt-in "background" mode tries UI Automation Invoke first but falls back to a real click. Mouse and keyboard actions wait for approve_automation, a human-in-the-loop gate that opens a 5-minute window by default (an environment variable bypasses it), and moving the pointer to the top-left corner aborts pointer actions. Its safety doc says the server acts with full access to the host and doesn't start Windows Sandbox, and suggests a separate virtualisation server for isolation.

Choose it when you want an approval gate before the agent's input, a local operator UI, or pywinauto's control coverage. Choose Anode when nobody should have to step away from the PC.

Terminator

mediar-ai/terminator is a Rust automation library with an MCP server (terminator-mcp-agent, 35 tools), from Mediar. Its README lists "Doesn't take over your cursor or keyboard" among its features. Its source, read on 16 October 2026, shows that the click_element tool moves the real pointer with SendInput to click and then puts it back by default (restore_cursor), and that its action tools bring the target window to the front by default; most restore your keyboard focus afterwards, but click_element and invoke_element don't unless asked. invoke_element (UI Automation Invoke) is the route that doesn't move the pointer. A stop_execution tool cancels running tools, and a full-screen action overlay is on by default. PostHog analytics and Sentry error reports (a default build feature) are on by default; environment variables turn both off. Its optional OmniParser and Gemini vision modes call Mediar's hosted service by default.

Choose it when you want its Rust automation library as well as the MCP server, its Chrome extension in your own signed-in browser, or Mediar's workflow builder and managed hosting for teams. Choose Anode when the agent's clicks and windows must stay off your desktop.

Anode's limits

Also in the same searches

Method

Sources

All read on 16 October 2026, at the commit shown.