📡 MCP Radar

DigitalDog1/desk-mcp

Windows desktop automation MCP server - screenshots, OCR, mouse and keyboard, and accessibility trees via UI Automation, MSAA and Chrome DevTools Protocol. Node.js + built-in PowerShell, no Python and

⭐ 3 stars
⑂ 0 forks
PowerShell
momentum ▲ 6.0
created 2026-09-30
on radar since 2026-10-06
accessibilityautomationcomputer-usedesktop-automationmcpmodel-context-protocolocrui-automationwin32windows
View on GitHub ↗

About desk-mcp

Windows desktop control for MCP agents. Accessibility trees first, pixels when nothing else works, input through WinAPI. Node.js plus the PowerShell that ships with Windows: no Python, no uvx, no compiler, no native modules.

24 seconds, muted. MP4 or WebM for the full size file. GitHub serves both as downloads, which is why this is a GIF.

The window above is a plain WinForms app (examples/demo-app.ps1). Five actions, zero pixel clicks, and the cursor stays parked in the log box for the whole clip while ValuePattern and InvokePattern fill the field, run the search, reload the list, mark the parcel delivered and copy its number. Run node examples/demo.mjs to reproduce it, or add --pause 1500 to watch each step land.

- computerfind { name: "Search" } returns the element with its automationId, its rectangle and the patterns it supports. A coordinate read off a screenshot is already stale by the time you click it. - Four read layers, and the answer says which one spoke: UI Automation, then MSAA through oleacc, then the Chrome DevTools Protocol for Chromium pages, then OCR from the engine inside Windows. An empty UIA tree means fall through to the next layer. - A window that hangs does not kill the agent. UI Automation talks to other applications over COM and never gives up on a frozen one. Every call here runs on an STA thread with a hard timeout, and after a timeout the toolwindow key is blocked for 90 s. Other windows keep working. - Zero external binaries. npm install is the whole install: no Visual C++ Build Tools, no Python, nothing to compile. That constraint is what ke

From the project README.

Maintaining this server?

Add the radar badge to your README — it shows your project was picked up by MCP Radar and links to this page:

[![On MCP Radar](https://mcp.liqiwa.com/badge.svg)](https://mcp.liqiwa.com/s/DigitalDog1--desk-mcp.html)

Related MCP servers

mrpulor-gh/nuphus-mcp

Desktop automation MCP server — computer use for any AI agent: control screen, windows, mouse/keyboard, and Chrome via Model Context Protocol (stdio)

⭐ 152Rust
zouyuanqing/vision-primitives-mcp

Vision-primitives MCP server for text-only LLMs: describe, locate (coordinates), OCR with bbox, annotate, crop, zoom, automated anomaly scanning, computer use — powered by Xiaomi MiMo V2.5. Single-fil

⭐ 6Python
be1st6666/guarded-computer-use-mcp

Windows computer-use MCP server (26 tools) with a human-in-the-loop approval gate: physical-input-only dialogs, signed guard switches, deny/launch lists, hash-chained audit log. 70+ unit tests, green

⭐ 5JavaScript
Sur-Cai/macos-computer-use-kit

AX-first computer use for AI agents on macOS with optional Jev (TypeSafe System One) semantic guards: calibrated target/input judgments before an irreversible action, decisions kept in code. Accessibi

⭐ 4Python
nikships/droid-codex-computer-use

🖱️ Let Factory Droid control your Mac with the Codex app's Computer Use tool. One-command install, no approval forms, works with any Codex install path.

⭐ 3JavaScript
gignit/leap-mcp

Leap gives any AI agent x-ray vision into desktop apps (native accessibility and screenshots) along with full mouse and keyboard control. It works in the background without taking over your screen, us

⭐ 3Swift

📬 Get the weekly radar in your inbox

The top new MCP servers of the week, every Monday. No spam, unsubscribe anytime.