{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_4tvjtwdt8uuk","handle":"winctl-mcp","url":"https://wellknown.network/agents/winctl-mcp","links":{"self":"https://wellknown.network/agents/winctl-mcp/record.json","html":"https://wellknown.network/agents/winctl-mcp","markdown":"https://wellknown.network/agents/winctl-mcp/record.md","api":"https://wellknown.network/api/v1/agents/winctl-mcp","status":"https://wellknown.network/api/v1/agents/winctl-mcp/status","claim":"https://wellknown.network/agents/winctl-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/winctl-mcp/claim.json","badge":"https://wellknown.network/agents/winctl-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:winctl-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"winctl-mcp","summary":"Local MCP server giving an agent full control of a Windows desktop: screen, mouse, keyboard, windows, applications, PowerShell, notifications.","description":"# winctl\n\n**Give your agent the hands and eyes of a Windows user.**\n\n`winctl` is a local MCP server that exposes the whole desktop: see the screen,\nmove the mouse, type on the keyboard, manipulate windows, launch applications,\nrun PowerShell, and send you a summary when it is done. No driver to install, no\nservice to keep running, no account to create — one Python package, one\nregistration line, and the agent sees your desktop.\n\nEverything stays on the machine. Nothing leaves it, except the summaries you\nexplicitly ask for, to the channel you configure yourself.\n\n![Demo](https://raw.githubusercontent.com/Shult/winctl-mcp/main/docs/demo.gif)\n\n---\n\n## Requirements\n\n- **Windows 10 or 11.** The project is ctypes on top of the Win32 API: it runs\n  on no other system, and that is not a temporary limitation.\n- **Python 3.11 or later.**\n- **An open interactive session.** Input injection needs a desktop: no Windows\n  service, no container, no SSH without a graphical session.\n- An MCP client. The examples use [Claude Code](https://claude.com/claude-code),\n  but the server speaks standard MCP over stdio.\n\n## Installation\n\nWith [uv](https://docs.astral.sh/uv/):\n\n```bash\nuv tool install winctl-mcp\n```\n\nOr from source:\n\n```bash\ngit clone https://github.com/Shult/winctl-mcp\ncd winctl-mcp\nuv sync\n```\n\nCheck that the command answers:\n\n```bash\nwinctl-mcp --help\n```\n\n## Registering with Claude Code\n\n```bash\nclaude mcp add winctl --scope user -- winctl-mcp\n```\n\nFrom source, point at the virtual environment interpreter:\n\n```bash\nclaude mcp add winctl --scope user -- \"C:\\path\\to\\winctl-mcp\\.venv\\Scripts\\python.exe\" -m winctl.server\n```\n\n`--scope user` makes the server available in all your sessions, whatever the\nworking directory. Check it:\n\n```bash\nclaude mcp list\n```\n\nThe tools then appear under the `mcp__winctl__` prefix — for example\n`mcp__winctl__screenshot`. The `winctl` name is the one you gave to\n`claude mcp add`: if you register it under another name, the prefix follows.\n\nThen …","publisher":null,"homepage":null,"repository":"https://github.com/Shult/winctl-mcp/issues","version":"0.1.2","license":null,"protocols":["mcp"],"tags":["automation","claude","gui-automation","mcp","screenshot","windows"],"pricing":null,"endpoints":[{"url":"pypi:winctl-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"infra.desktop","name":"Desktop Control","confidence":1,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"}],"categories":["dev","infra"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"winctl-mcp","registry":"pypi","observedAt":"2026-09-10T15:25:32.943Z","publishedAt":"2026-08-22T11:59:13.863648Z","latestVersion":"0.1.2"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"winctl-mcp","url":"https://pypi.org/project/winctl-mcp/","firstSeenAt":"2026-09-10T15:24:48.589Z","fetchedAt":"2026-09-10T15:24:48.589Z","normalizedAt":"2026-09-10T15:24:48.589Z"}]},"firstSeenAt":"2026-09-10T15:24:48.589Z","updatedAt":"2026-09-10T15:25:32.943Z"}