Windows-MCP

listing.by

Control a Windows desktop: launch apps, click, type, take screenshots, use the clipboard, run PowerShell and edit files and the registry.

state.local.long (state.local.title)listing.badge.runs_with

listing.install

listing.local.explain

uvx windows-mcp serve

listing.local.needs listing.local.note

listing.share.h

listing.share.p_local

mcp.tc/i/windows-mcp

listing.about

Windows-MCP lets an AI assistant operate a Windows computer. It can capture screenshots and UI snapshots, click, type, scroll and drag, send keyboard shortcuts, launch and resize apps, read the clipboard, manage processes, edit files and the registry, and run PowerShell commands.

It runs locally over stdio with uvx windows-mcp serve and needs Python 3.13+ and uv. SSE and streamable HTTP are available with the transport option. No sign-in or API key is needed. It controls the real desktop and can run system commands, so use it only on a machine you trust the agent with. Optional telemetry can be turned off with an environment variable.

listing.can

  • Capture screenshots and full UI snapshots with interactive element ids
  • Click, type, scroll, drag and send keyboard shortcuts
  • Launch, resize and switch between Windows applications
  • Run PowerShell commands
  • Read, write, copy, move, delete and search files
  • Read and set clipboard text
  • List and kill processes
  • Read and edit Windows Registry values

listing.tools 21

  • ControlStatus

    Report whether AI or the user controls the desktop and the remaining idle wait.

  • App

    Launch, resize or switch to a Windows application window.

  • PowerShell

    Run PowerShell commands for files, processes and system tasks.

  • FileSystem

    Read, write, copy, move, delete, list, search and inspect files and folders.

  • Screenshot

    Capture a fast desktop screenshot with cursor position and window list.

  • Snapshot

    Capture desktop state including windows, interactive elements and scrollable areas.

  • DisplayInventory

    Read display layout, resolution, DPI and scale for each monitor.

  • Click

    Click, double-click or hover at coordinates or on a UI element.

  • Type

    Type text into a field at coordinates or a UI element.

  • Scroll

    Scroll vertically or horizontally at a position or element.

  • Move

    Move the mouse cursor or drag and drop to a target.

  • Shortcut

    Press keyboard shortcuts such as ctrl+c or alt+tab.

listing.tools_more
  • Wait

    Pause for a set number of seconds.

  • WaitFor

    Wait until a UI condition such as text or a window appears.

  • Scrape

    Fetch content from a URL or the active browser tab.

  • MultiSelect

    Select multiple items by coordinates or labels, with optional Ctrl held.

  • MultiEdit

    Enter text into several input fields in one call.

  • Clipboard

    Get or set the Windows clipboard text.

  • Process

    List running processes or kill them by PID or name.

  • Notification

    Send a Windows toast notification.

  • Registry

    Get, set, delete or list Windows Registry values and keys.

listing.prov.mcpb_on

listing.prompts

  • Take a screenshot and tell me which windows are open.

  • Open Notepad and type a short meeting summary.

  • List running processes sorted by memory use.

  • Copy the text in the clipboard and save it to a file on my Desktop.

listing.setup.h

listing.setup.local

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport stdio windows-mcp -- uvx windows-mcp serve
  1. Start Claude Code and type /mcp. windows-mcp should show as connected.

Add --scope user to make it available in every project.

Claude Desktop

  1. Open Settings → Developer → Edit Config. It opens claude_desktop_config.json. Add:
claude_desktop_config.json
{
  "mcpServers": {
    "windows-mcp": {
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ]
    }
  }
}
  1. Save the file and restart Claude Desktop.

Needs uv (Python) on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "windows-mcp": {
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ]
    }
  }
}

Needs uv (Python) on your computer.

VS Code

Or from a terminal:

code --add-mcp '{"name":"windows-mcp","type":"stdio","command":"uvx","args":["windows-mcp","serve"]}'

Or commit it to the repo in .vscode/mcp.json:

.vscode/mcp.json
{
  "servers": {
    "windows-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ]
    }
  }
}

Needs uv (Python) on your computer.

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "windows-mcp": {
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ]
    }
  }
}
  1. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

Codex

codex mcp add windows-mcp -- uvx windows-mcp serve

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.windows-mcp]
command = "uvx"
args = ["windows-mcp", "serve"]

Needs uv (Python) on your computer.

Gemini CLI

gemini mcp add windows-mcp uvx windows-mcp serve

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients that start local servers accept this shape:

{
  "mcpServers": {
    "windows-mcp": {
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve"
      ]
    }
  }
}

Zed puts servers under context_servers in its settings, with the same command, args and env fields.

Needs uv (Python) on your computer.

listing.faq

Can I paste mcp.tc/i/windows-mcp into my MCP client?

No. Windows-MCP runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is uvx windows-mcp serve.

Does Windows-MCP need an API key?

No. It doesn't declare any keys or environment variables. It runs with your user account's permissions, so check what its tools can reach.

Is Windows-MCP a remote or a local server?

Local. Your client starts it as a process on your computer with uvx windows-mcp serve, which needs uv (Python).

What can Windows-MCP do?

It has 21 tools, including ControlStatus, App and PowerShell. You can capture screenshots and full UI snapshots with interactive element ids, click, type, scroll, drag and send keyboard shortcuts and launch, resize and switch between Windows applications.

Which clients can use it?

Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.

Who wrote this page?

mcp.tc's robot read Windows-MCP's public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

listing.em.h

listing.em.lead_local listing.em.how

listing.em.badge

em.prev_lightem.prev_dark
Markdown
[![Windows-MCP on mcp.tc](https://mcp.tc/i/windows-mcp/badge.svg)](https://mcp.tc/i/windows-mcp)
HTML
<a href="https://mcp.tc/i/windows-mcp"><img src="https://mcp.tc/i/windows-mcp/badge.svg" alt="Windows-MCP on mcp.tc" height="20"></a>

listing.em.badge_note

listing.em.widget

HTML
<script src="https://mcp.tc/w/windows-mcp.js" async></script>

listing.em.widget_note

iframe

HTML
<iframe src="https://mcp.tc/embed/windows-mcp" title="Windows-MCP on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

listing.em.iframe_note

JSON

listing.em.json_local

https://mcp.tc/i/windows-mcp.json

listing.em.fields

listing.disclaimer_checked