Server profile

Windows-MCP

Let an AI assistant interact with Windows applications, windows, and input controls. Windows-MCP supports native UI automation, optional browser DOM inspection, and local or network transports.

Server facts

Windows-MCP

Tech

Runtime / language
pythonPython
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
9,254
Last commit
Data as of

Tags

  • Browser Dom
  • Desktop Automation
  • Ui Testing
  • Windows

Overview

Windows-MCP connects AI assistants to native Windows desktop interaction. The README describes opening applications, navigating files, controlling windows, simulating input, and inspecting UI state for automation or QA work. It is designed to work with different LLMs without requiring a dedicated vision model. Browser-focused DOM mode narrows state inspection to page content rather than the surrounding browser interface, with Chrome, Edge, and Firefox support described. The supported operating-system list spans Windows 7 through Windows 11.

Local setup uses the Python package through uvx and requires Python 3.13 or newer. English is preferred for Windows application control; otherwise the README advises disabling the application tool. Stdio is the default, while SSE and Streamable HTTP support network clients. A scheduled-task installation can start the service at login, and documentation covers several desktop and command-line assistants. Remote deployment brings additional controls: bearer authentication, IP allowlists, TLS, explicit CORS origins, and OAuth with PKCE are documented. Tools are all enabled initially, but command-line selection can allow only chosen tools or exclude capabilities such as PowerShell and Registry. WSL clients must still launch the server on the Windows side because it relies on Windows APIs. Initial dependency installation and packaged desktop-client path handling can also require troubleshooting before the connection is usable.

Install & configure

Requirements

  • Windows
  • Python 3.13+
  • uv with uvx
  • An MCP-compatible client
Documented launch / install command
uvx windows-mcp serve

This is the documented default stdio launch. English is preferred for App-Tool; disable that tool for other Windows languages. For network access, configure authentication and TLS rather than using an unprotected listener.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Desktop configuration
{
  "mcpServers": {
    "Windows-MCP": {
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ],
      "env": {}
    }
  }
}

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

Cursor configuration
{
  "mcpServers": {
    "Windows-MCP": {
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ],
      "env": {}
    }
  }
}

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

VS Code configuration
{
  "servers": {
    "Windows-MCP": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ],
      "env": {}
    }
  }
}

Read the VS Code setup guide

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

Windsurf configuration
{
  "mcpServers": {
    "Windows-MCP": {
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ],
      "env": {}
    }
  }
}

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Code configuration
{
  "mcpServers": {
    "Windows-MCP": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ],
      "env": {}
    }
  }
}

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
ScreenshotCapture screen imagery; this tool name appears in the README's tool-selection example.
ClickPerform a mouse click; this tool name appears in the README's tool-selection example.
SnapshotInspect desktop state; this tool name appears in the README's tool-selection example.
PowerShellExpose PowerShell capability, which the README demonstrates excluding from the enabled tool set.
RegistryExpose Windows Registry capability, which the README demonstrates excluding from the enabled tool set.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Automate application and window interactions on a Windows desktop.
  • Perform UI-driven QA tasks through an assistant.
  • Inspect web page content using the browser DOM mode.
  • Expose selected desktop tools to a secured network client.

Strengths

  • Works with different LLMs without requiring a specialized vision model.
  • Supports local stdio plus SSE and Streamable HTTP.
  • Documents authentication, TLS, IP filtering, and tool selection.

Limitations

  • Requires Windows-side execution even when the assistant runs in WSL.
  • Python 3.13+ is required by the documented setup.
  • Non-English Windows setups may need the application tool disabled.

Frequently asked questions

No. The README says it does not depend on traditional computer vision or a specially fine-tuned model.

The assistant can run in WSL, but the server must execute on Windows. A PowerShell bridge is documented.

Yes. --tools selects an allowlist and --exclude-tools disables named capabilities; the README illustrates excluding PowerShell and Registry.

Yes. The documented install command creates a per-user scheduled task, and an uninstall command removes it.

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers

MCP Toolbox for Databases

Databases

MCP Toolbox for Databases connects agents and IDEs to enterprise data through prebuilt tools or custom query definitions. It combines database access with connection pooling, authentication integration, and observability.

Desktop Commander MCP

Mobile & Desktop Automation

Desktop Commander MCP gives assistants local file, document, terminal, and process-management tools. It supports interactive and long-running commands alongside search, focused edits, and workflows involving spreadsheets, PDFs, and Word files.

Mobile Next Mobile MCP

Mobile & Desktop Automation

Mobile Next Mobile MCP lets agents interact with iOS and Android apps on simulators, emulators, and real devices. It uses accessibility data where available and screenshot-based coordinates when needed.

iOS Simulator MCP Server

Mobile & Desktop Automation

Let an MCP assistant inspect and operate an iOS simulator on macOS. Tools cover accessibility inspection, gestures, app lifecycle actions, screenshots, and video capture for development and QA.

iMCP

Mobile & Desktop Automation

Connect an MCP assistant to selected macOS personal-data services through a menu-bar app. iMCP exposes calendar, contacts, messages, reminders, location, maps, and weather capabilities with explicit system permissions.

Home Assistant MCP Server

Mobile & Desktop Automation

Home Assistant MCP Server connects assistants to smart-home controls, state monitoring, and administration. It documents HTTP APIs, live events, automation management, and optional HACS and Supervisor operations.

Android MCP Server

Mobile & Desktop Automation

Android MCP Server exposes ADB-based device operations to MCP clients. Developers can inspect installed packages, capture screenshots, examine clickable UI elements, and run device commands.