Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Safety-gated computer use for AI agents: screen OCR and vision, mouse, keyboard, window control.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
The maker has not listed install details in the registry. See the maker’s README below.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account Xeakaes, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code.
In the same category: Spec Driven Development, Remote Desktop Commander, First Sale Scout
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Playbooks and a 14-day checklist for founders winning their first paying customers.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A local remote-control system for AI agents: watch your computer's screen
live and send mouse/keyboard commands to it. Everything runs on your
own machine — no data ever leaves it, no cloud middleman.
Every keystroke and every screenshot in this GIF went through the API — the agent never touched a physical keyboard.
Read [AGENT_GUIDE.md](AGENT_GUIDE.md) first — it is written for you:
endpoints, safety gates and working recipes. This README is the human-facing
reference.
First ask the server what it is — GET /api/capabilities → platform. Windows: follow the whole guide as written. Linux: check echo $XDG_SESSION_TYPE — X11 is supported (guide → Linux (X11) Usage); Wayland is unsupported: the server refuses to start, HTTP 501 UNSUPPORTED_DISPLAY_SERVER (switch to an X11 session). Full routing lives in AGENT_GUIDE.md → Find Your Environment First.
AI agents today can write code and call APIs — but they can't *see* or *touch* your desktop. Screen Control gives any agent general-purpose computer use over a clean, safety-gated HTTP/MCP interface:
One process, zero configuration, works with any language that can speak HTTP — or natively through MCP in Claude Desktop, Cursor, VS Code and cloud agents.
Screen Control is the perception and actuation layer — the eyes and hands. The effective speed and capability of any agent using it are bounded by that agent itself and by the environment it runs in:
In practice this means: the same repo makes a fast reasoning model fast and capable, and makes a slow model slow — the toolchain is not the bottleneck. Real-time or action-heavy tasks need an agent with fast inference and tight tool-loop latency; slower agents should prefer deliberate, verification-heavy tasks.
| Feature | Description |
|---|---|
| 🖼️ Live screen feed | Continuously refreshing screenshot in the browser |
| 🖱️ Mouse control | Click, right-click, double-click, scroll, drag & drop via live screenshot |
| ⌨️ Keyboard control | Text typing (Unicode/Turkish included, layout-independent), keys and shortcuts (Ctrl+C, Alt+Tab…) |
| 👁️ OCR | Converts on-screen text to machine-readable format |
| 📷 Vision access | Raw-pixel paths for image-capable models: single frames, MJPEG stream, text-based motion detection |
| 🪟 Window management | List, focus, safe close (WM_CLOSE), kill (task-manager style) |
| 🖥️ Focus-free control | Read/write background windows via PostMessage without stealing focus |
| 🎮 Game mode | Camera look via relative mouse movement, hold-to-move keys |
| 🔐 Token auth | Every request requires X-Auth-Token (CSRF protection) |
| 🦺 Stuck-input watchdog | Auto-releases held keys after 30 s of inactivity |
| 🛟 Failsafe | Cursor to top-left corner aborts all commands (disabled in game mode) |
┌─────────────────────────────────────────────────────────┐
│ Browser (Web UI) │ │ ┌──────────┐ ┌──────────┐ ┌────────────────────────┐ │ │ │ Live │ │ Control │ │ Windows / Game Mode │ │ │ │ View │ │ Panel │ │ Panel │ │ │ └────┬─────┘ └────┬─────┘ └───────────┬────────────┘ │ │ │ │ │ │ └───────┼──────────────┼─────────────────────┼──────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────┐ │ HTTP API (Flask) │ │ 127.0.0.1:8745 │ │ │ │ /api/screenshot /api/mouse /api/key │ │ /api/vision/* /api/ocr /api/window │ │ /api/game /api/held /api/release_all │ │ /api/windows /api/desktops /api/desktop │ │ │ │ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Auth Layer │ │ Watchdog │ │ OCR Engine │ │ │ │ (token) │ │ (30s auto) │ │ (RapidOCR) │ │ │ └─────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────┐ │ control.py (Core) │ │ │ │ Screen: mss (fast capture), PIL (processing) │ │ Mouse: pyautogui (absolute), SendInput (relative) │ │ Keyboard: pyautogui + SendInput+KEYEVENTF_UNICODE │ │ Windows: Win32 API (EnumWindows, SetForegroundWindow) │ │ Background: PrintWindow (capture), PostMessage (input) │ │ Virtual Desktops: pyvda │ │ Game Mode: ClipCursor + MOUSE_MOVE_RELATIVE │ └─────────────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────┐ │ backends/ (pluggable) │ │ WindowsBackend │ LinuxBackend │ MacOSBackend│ │ (full) │ (X11) │ (stub) │ └──────────────────────────────────────────────┘
Per-Monitor DPI awareness. control.py calls SetProcessDpiAwarenessContext(PER_MONITOR_AWARE_V2) at import time — before the pyautogui import, because pyautogui touches coordinate APIs during import and would otherwise lock the process to the interpreter manifest's default (system-aware). With PMv2 active, every coordinate in the system is a physical pixel end to end: mss capture, OCR bounding boxes, pyautogui/SendInput clicks, ClipCursor. On High-DPI displays (125%/150% scaling) nothing drifts between what OCR reports and where the mouse clicks.
Lock architecture. The server uses two independent locks instead of one global lock:
| Lock | Protects | Endpoints |
|---|---|---|
_input_lock | mouse, keyboard, game mode, window ops | /api/mouse, /api/key, /api/game, /api/window/post, ... |
_read_lock | capture, OCR, vision, enumeration | /api/screenshot, /api/ocr, /api/vision/*, /api/windows, ... |
A slow OCR (3–5 s on a busy screen) no longer freezes concurrent screenshot or vision reads — reads queue behind reads, inputs behind inputs.
This system is designed for a live perceive-act loop, not pre-written command chains:
This is enforced by the expect_hwnd guard: typing is refused (409) if the foreground window doesn't match the target.
Pick the version that fits how your agent works:
| You are... | Version | Install |
|---|---|---|
| An AI agent user (Claude Code, Cursor, skills-capable agents) | Skill | Skill version — copy skills/computer-use/ into the agent's skills folder |
| An MCP-capable app (Claude Desktop, VS Code, cloud agents) | MCP | MCP Support — mcp_server.py over stdio or streamable-HTTP |
| A developer / API client | REST | this page — pip install -r requirements.txt + python server.py |
The portable agent skill lives in skills/computer-use/ (SKILL.md plus a full API reference). It teaches any skills-capable agent the perceive-act-verify loop, the safety rules and the endpoint catalogue — the agent then drives a running server.
# Claude Code — user-level (available in every project)
cp -r skills/computer-use ~/.claude/skills/
mkdir -p .claude/skills && cp -r skills/computer-use .claude/skills/
For other skill-capable agents, copy the folder in
Only the beginning is shown; read the rest in the repo