Show HN: An MCP to control other Windows computers Phaze released a working example on Hacker News's Show HN of an IT helpdesk agent built on the Phaze Enterprise API and Phaze MCP server that watches a Slack channel, locates a user's Windows machine, and fixes problems by viewing the screen and controlling mouse and keyboard. The example, which the author says was "100% AI vibe coded with Opus 5.5," is intended as a teaching reference rather than production software, and Phaze notes the remote-desktop tool currently only connects Windows-to-Windows and requires accelerated graphics, excluding server-class CPUs. Phaze is in beta, with administrator accounts created by emailing founders@phaze.app and API keys generated at admin.phaze.app/settings. This was 100% AI vibe coded with Opus 5.5. This example is not meant to be used for anything other than to teach you or an AI agent how to implement the Phaze API and MCP for a common IT use case. I hope this inspires ideas. Note Phaze currently only supports a connection between a Windows computer and another Windows computer . It uses accelerated graphics, so this will not work on PCs without graphics capabilities either via your integrated CPU graphics or your discrete GPU . Almost all CPUs support this other than server-class CPUs. This repo is a working example of what you can build with the Phaze Enterprise API and the Phaze MCP server . It's an IT helpdesk agent that watches a Slack channel. When someone posts "my sound isn't working", it finds their computer through the API. Then it connects to that computer through Phaze and fixes the problem by looking at the screen and using the mouse and keyboard, the way a technician would. When it gets stuck, it pages a human, hands them the live session, and takes it back when they're done. It's meant as a starting point. The first half of this README teaches the Phaze API and MCP from scratch, so you or your AI coding agent can build something similar or something entirely different. The second half explains this example. Phaze https://phaze.app is a high-performance remote desktop. The pieces: | Term | Meaning | |---|---| | Enterprise | Your company's Phaze account. Contains organizations and members. | | Organization org | A group of machines and people inside the enterprise, e.g. per office or per customer. | | Member | A person with a Phaze account id looks like u ... . | | Machine | A computer running Phaze that can be connected to a host . Assigned to a member or to a group. | | Group | A set of members inside an org. Machines assigned to a group are reachable by its members. | | Connection | A live remote-desktop session from a Phaze app to a machine. | | Guest | A participant in a machine's session. One guest at a time has control mouse and keyboard . | The two developer surfaces do different jobs: Phaze Enterprise API cloud, HTTPS, API key Phaze MCP server local, in the Phaze app ───────────────────────────────────────────── ───────────────────────────────────────────── "the control plane": who, what, where "the hands": see and operate a machine members, orgs, machines, groups, assignments, list reachable machines, connect, screenshot, connection logs, relays, locations click, type, scroll, hand control to a guest An agent typically uses the API to decide which machine and whether it's allowed, and the MCP to actually do something on it. Note Phaze is currently in beta, so we don't have a web sign up for the administrator system. 1. Visit https://web.phaze.app/signup https://web.phaze.app/signup to create your account. 2. Then email founders@phaze.app mailto:founders@phaze.app from the email address that you created your account with. 3. We will create an administrator account for you. API keys are created in the Phaze admin portal, which needs an administrator account at admin.phaze.app https://admin.phaze.app . If you're not an admin, ask your Phaze administrator for a key. 1. Sign in to admin.phaze.app https://admin.phaze.app as an administrator. 2. Open the Enterprise settings page admin.phaze.app/settings https://admin.phaze.app/settings . 3. Generate an API key and store it somewhere safe, such as an .env file that's in .gitignore . Never commit it and never paste it into a chat. Step-by-step help: The Phaze API https://help.phaze.app/articles/6515713992-the-phaze-api . Full reference: apidocs.phaze.app https://apidocs.phaze.app . export PHAZE API KEY=... from admin.phaze.app/settings curl -s https://public-api.phaze.app/enterprise/v1/orgs \ -H "Authorization: Bearer $PHAZE API KEY" python import httpx api = httpx.Client base url="https://public-api.phaze.app/enterprise/v1", headers={"Authorization": f"Bearer {PHAZE API KEY}"} orgs = api.get "/orgs" .json "data" machines = api.get f"/orgs/{orgs 0 'id' }/machines", params={"limit": 200} .json "data" | Base URL | https://public-api.phaze.app/enterprise/v1 | | Auth | Authorization: Bearer