Local MCP server giving an agent full control of a Windows desktop: screen, mouse, keyboard, windows, applications, PowerShell, notifications.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"winctl-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# winctl **Give your agent the hands and eyes of a Windows user.** `winctl` is a local MCP server that exposes the whole desktop: see the screen, move the mouse, type on the keyboard, manipulate windows, launch applications, run PowerShell, and send you a summary when it is done. No driver to install, no service to keep running, no account to create — one Python package, one registration line, and the agent sees your desktop. Everything stays on the machine. Nothing leaves it, except the summaries you explicitly ask for, to the channel you configure yourself.  --- ## Requirements - **Windows 10 or 11.** The project is ctypes on top of the Win32 API: it runs on no other system, and that is not a temporary limitation. - **Python 3.11 or later.** - **An open interactive session.** Input injection needs a desktop: no Windows service, no container, no SSH without a graphical session. - An MCP client. The examples use [Claude Code](https://claude.com/claude-code), but the server speaks standard MCP over stdio. ## Installation With [uv](https://docs.astral.sh/uv/): ```bash uv tool install winctl-mcp ``` Or from source: ```bash git clone https://github.com/Shult/winctl-mcp cd winctl-mcp uv sync ``` Check that the command answers: ```bash winctl-mcp --help ``` ## Registering with Claude Code ```bash claude mcp add winctl --scope user -- winctl-mcp ``` From source, point at the virtual environment interpreter: ```bash claude mcp add winctl --scope user -- "C:\path\to\winctl-mcp\.venv\Scripts\python.exe" -m winctl.server ``` `--scope user` makes the server available in all your sessions, whatever the working directory. Check it: ```bash claude mcp list ``` The tools then appear under the `mcp__winctl__` prefix — for example `mcp__winctl__screenshot`. The `winctl` name is the one you gave to `claude mcp add`: if you register it under another name, the prefix follows. Then …
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.