Windows-MCP
An MCP server for driving Windows: the agent opens apps, clicks and types, reads window and UI state, and works with files and PowerShell
- 11,574 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Gives the agent direct control of the Windows desktop: clicks, input, opening apps and file operations
- Runs PowerShell commands and accesses the registry, and remote transports expose it over the network
Install
- Works in
Manual install
{
"mcpServers": {
"windows-mcp": {
"command": "uvx",
"args": ["windows-mcp", "serve"]
}
}
}Requires uv installed. For HTTP transport add --transport streamable-http and a bind address.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Gives the agent direct control of the Windows desktop: clicks, input, opening apps and file operations
- Runs PowerShell commands and accesses the registry, and remote transports expose it over the network
This is third-party code. Review the repository files before installing.
What it does
The server links a language model to the Windows desktop and gives the agent tools to control the system. It captures a screenshot with cursor position and a window list, builds a UI element tree through UI Automation, emulates keyboard and mouse, opens and switches applications, works with files, clipboard, processes, the registry and notifications, and runs PowerShell commands. A dedicated browser mode keeps only web page content and drops the browser's own UI, supporting Chrome, Edge and Firefox. The server does not rely on computer vision and works with any model. It runs over stdio for a local client or over HTTP and SSE for remote access, where an auth key, an IP allowlist, TLS and OAuth can be enabled.
Who it is for. For engineers and QA who need an agent to drive Windows applications and UI and run scenarios.
Good fit when
- You want an agent to open Windows apps, click and type for the user
- You want to capture window and UI element state for checks or automation
- You want to automate a browser scenario or run a manual QA test
Not a fit when
- The target system is not Windows, the server uses Windows APIs for UI control
- You cannot grant the agent direct access to the desktop and shell commands
Example request
Open the calculator, add the numbers in it and send a screenshot of the resultMCP
- Transport
- stdio, http, sse
- Authentication
- not required
Environment variables
WINDOWS_MCP_AUTH_KEYsecret- Bearer token required on all HTTP requests for remote access, an alternative to the --auth-key flag.
WINDOWS_MCP_IP_ALLOWLIST- Comma-separated list of allowed client IPs or CIDR ranges.
WINDOWS_MCP_OAUTH_CLIENT_SECRETsecret- OAuth client secret for HTTP transports, set together with WINDOWS_MCP_OAUTH_CLIENT_ID.
WINDOWS_MCP_SCREENSHOT_SCALE- Screenshot scale factor from 0.1 to 1.0, helps fit the result size limit on high-resolution displays.
Limitations
It runs only on Windows, with stated support from Windows 7 to 11, and needs Python 3.13+ and the uv package manager. English as the system language is preferred, otherwise the App tool is recommended to be disabled. The first run can take a minute or two while dependencies install and may time out, after which the server is restarted. For remote HTTP access you configure protection yourself: an auth key, an IP allowlist, TLS and OAuth are set through flags or environment variables.
How to disable. Remove the windows-mcp entry from the MCP client config and restart it. If you installed it as a background task via windows-mcp install, remove it with windows-mcp uninstall. Uninstall the package with uv tool uninstall windows-mcp.
FAQ
Do I need a separate computer vision model?
No. The server builds a UI element tree through UI Automation and works with any language model, vision is optional.
Can I expose it over the network?
Yes, there are HTTP and SSE transports, but you configure protection yourself: an auth key, an IP allowlist, TLS and OAuth are set through flags or environment variables.
How is Windows-MCP different from other computer control tools?
The server links the model to the Windows desktop directly: it takes a screenshot with the cursor position and window list, builds a UI element tree, clicks, types and works with files and PowerShell.
How do I download and connect Windows-MCP?
Nothing needs downloading separately. Add the windows-mcp server with the uvx command to the client config, as in the install block. It fits Claude Desktop, Claude Code and Cursor. Risk is high because the agent controls your system.
Discussion
No questions or reviews yet.
Related
MCP serversMCP server and wincli CLI: agents drive Windows apps by control name through UI Automation instead of screen coordinates
An MCP server for Windows: the agent moves the mouse, presses keys, manages windows and takes screenshots
An MCP server for remote Windows control: screenshots, PowerShell, files, mouse and keyboard, registry and OCR
The agent moves the mouse, types, drives windows and captures PNG screenshots of a Windows desktop through AutoIt.
An MCP server for macOS: the agent moves the mouse, types, manages windows and captures the screen when an app has no API
An MCP server that lets an agent see the screen and control macOS, Windows and Linux: screenshots, clicks, OCR and screen memory
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Windows-MCP (this card) | no | not required | 11,574 | |
| agent-desktop | no | 22,602 | a Rust CLI for macOS | |
| Ghost OS | no | not required | 1,686 | a Swift MCP server for macOS |
| WinUtil CN MCP | no | not required | 1,054 | MCP server for Windows |
README in short
The README describes Windows-MCP as an MCP server that links agents to Windows and provides tools for file navigation, application control, UI interaction and QA testing. Install goes through uv and uvx windows-mcp serve, with stdio, streamable-http and sse transports available, plus a background task install via windows-mcp install. It details setup in Claude Desktop, Perplexity, Claude Code and through WSL. Separate sections cover remote access security, choosing which tools are enabled and environment variables. The package is on PyPI and in the MCP registry, MIT licensed.