Data as of

Windows-MCP for Claude Code: Setup & Config

Claude Code: Let an AI assistant interact with Windows applications, windows, and input controls.

What you can do with Windows-MCP in Claude Code

Choose native Windows automation with optional DOM inspection and documented remote-access controls.

  • Automate application and window interactions on a Windows desktop.
  • Expose selected desktop tools to a secured network client.

Before you start: Windows-MCP in Claude Code

  • Windows
  • Python 3.13+
  • uv with uvx
  • An MCP-compatible client

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.

Windows-MCP Claude Code configuration

  1. Choose Claude Code configuration scope

    For Windows-MCP, open Project scope: .mcp.json at the repository root. Project JSON: merge into mcpServers; user scope: use the CLI.

  2. Add Windows-MCP to Claude Code

    Use the Windows-MCP entry below in mcpServers. Keep Windows-MCP's documented stdio connection fields and your other Claude Code entries.

  3. Check Windows-MCP in Claude Code

    Windows-MCP: Inspect claude mcp list and /mcp status.

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

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

CLI (POSIX shell)
claude mcp add-json --scope project 'Windows-MCP' '{"type":"stdio","command":"uvx","args":["windows-mcp","serve"],"env":{}}'

Windows-MCP tools available to Claude Code

Windows-MCP's stored tool list documents 5 tools; compare it with Claude Code's connected tool list, because the stored list is not a live check.

Screenshot

For Windows-MCP's Screenshot, review the permission request and arguments in Claude Code before approval.

Click

For Windows-MCP's Click, review the permission request and arguments in Claude Code before approval.

Snapshot

For Windows-MCP's Snapshot, review the permission request and arguments in Claude Code before approval.

Inspect desktop state; this tool name appears in the README's tool-selection example.

PowerShell

For Windows-MCP's PowerShell, review the permission request and arguments in Claude Code before approval.

Expose PowerShell capability, which the README demonstrates excluding from the enabled tool set.

Registry

For Windows-MCP's Registry, review the permission request and arguments in Claude Code before approval.

Expose Windows Registry capability, which the README demonstrates excluding from the enabled tool set.

Windows-MCP: full stored tool descriptions

Troubleshooting Windows-MCP in Claude Code

  • If Windows-MCP fails to start, check uvx windows-mcp (from uv, for Python tools), the working directory, and Claude Code's selected scope; inspect claude mcp list and /mcp.
  • Windows-MCP uses stdio here: Claude Code must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Requires Windows-side execution even when the assistant runs in WSL.
  • Known limitation: Python 3.13+ is required by the documented setup.
  • Known limitation: Non-English Windows setups may need the application tool disabled.
  • General Claude Code troubleshooting lives in the /clients/claude-code guide.

Windows-MCP — details. Claude Code guide

Frequently asked questions

Register Windows-MCP with the displayed claude mcp add-json --scope project command, or merge the JSON into .mcp.json at the repository root.

Claude Code's Windows-MCP example uses stdio.

Windows-MCP's Claude Code configuration invokes uvx windows-mcp (from uv, for Python tools).

Windows-MCP's stored list contains 5 tools, including Screenshot, Click, Snapshot. Compare those names with Claude Code's connected tool list; the stored list is not a live check.

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

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