windows-computer-use-mcp
A local, dependency-free MCP server that gives AI agents controlled access to the active Windows desktop, enabling automated interaction with applications through screenshots, clicks, typing, and window management.
README
Windows Computer Use MCP
A local, dependency-free MCP server that gives a compatible CLI or IDE agent controlled access to the active Windows desktop. It works with Codex CLI, Claude Code CLI, and Google Antigravity because all three support local stdio MCP servers.
The server captures screenshots, lists visible windows, and can launch, focus, click, type, send keys, and request a normal window close. It does not bypass Windows UAC, the lock screen, or secure-desktop prompts.
Requirements
- Windows with an unlocked, active desktop session
- Node.js 20 or later (
node --version) - One of Codex CLI, Claude Code CLI, or Antigravity
No npm packages are required.
Safety configuration
Before granting control, copy config.example.json to config.json, then edit the local copy. Only executable names in allowedApps may be launched, focused, clicked, typed into, sent keys, or closed. The initial allowlist is intentionally empty.
Copy-Item config.example.json config.json
{
"allowedApps": ["notepad.exe", "msedge.exe", "code.exe"]
}
computer_screenshot and computer_list_windows are read-only. A screenshot can contain any information visible on the desktop and may be sent to the model, so close sensitive material first.
Tools
| Tool | Purpose |
|---|---|
computer_screenshot |
Capture the primary display as a PNG. |
computer_list_windows |
List visible top-level windows, titles, process names, and handles. |
computer_launch_app |
Launch an allowlisted executable. |
computer_focus_window |
Focus an allowlisted visible window. |
computer_click |
Click an absolute coordinate in an allowlisted foreground app. |
computer_type_text |
Type text into the allowlisted foreground app. |
computer_press_key |
Send a SendKeys sequence, such as {ENTER}, ^s, or %{F4}. |
computer_close_window |
Request a normal close for an allowlisted window. |
The model should take one small action, take a new screenshot, and verify the result. Do not allow it to handle passwords, payment flows, healthcare systems, or irreversible actions without direct supervision.
Configure Codex CLI
This machine is already registered globally. To add it on another machine:
codex mcp add windows-computer-use -- node C:\Users\YOUR_USER\windows-computer-use-mcp\windows-computer-use.mjs
Verify it:
codex mcp get windows-computer-use
Start a new Codex CLI session after adding it. Example prompt:
Use computer_launch_app to open notepad.exe, then take a screenshot and stop.
Configure Claude Code CLI
Register it for all your Claude Code projects:
claude mcp add --transport stdio --scope user windows-computer-use -- node C:\Users\YOUR_USER\windows-computer-use-mcp\windows-computer-use.mjs
Verify the connection with:
claude mcp list
Then open a new Claude Code session and use /mcp to inspect its status. To make the configuration project-specific instead, copy examples/claude-code.mcp.json to the project root as .mcp.json, replace YOUR_USER, and approve it in Claude Code.
Configure Antigravity
In Antigravity IDE, open the agent side panel, select More actions > MCP Servers > Manage MCP Servers > View raw config, then add this server to the mcpServers object:
{
"windows-computer-use": {
"command": "node",
"args": ["C:\\Users\\YOUR_USER\\windows-computer-use-mcp\\windows-computer-use.mjs"],
"cwd": "C:\\Users\\YOUR_USER\\windows-computer-use-mcp"
}
}
Replace YOUR_USER, save, then reload the server in the MCP Servers panel. The global Antigravity configuration is ~/.gemini/config/mcp_config.json; for a workspace-only setup use .agents/mcp_config.json. A complete copyable example is in examples/antigravity-mcp_config.json.
In Antigravity CLI, run /mcp to open its MCP manager after saving either config.
Troubleshooting
- No windows or blank screenshot: unlock the target Windows session and keep the desktop visible. Windows desktop automation cannot operate through the lock screen or UAC secure desktop.
- App is not allowed: add its executable name, for example
notepad.exe, toallowedApps, then restart the client session. - A tool is absent: restart the CLI/IDE after changing its MCP config and inspect the client MCP status panel or command.
- Click/type fails: focus the app first, confirm it appears in
computer_list_windows, then capture a fresh screenshot before retrying.
References
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.