@darbotlabs/darbot-windows-mcp
v1.2.0
Published
πͺ Darbot Windows MCP - Professional Windows desktop automation server for AI agents via Model Context Protocol (MCP). Control Windows like a human with 15 powerful tools. Includes Python dependencies, UV, and VS Code configuration.
Downloads
42
Maintainers
Readme
β οΈ IMPORTANT DISCLAIMER
This software enables you to build computer use agents that can control your Windows desktop programmatically. By using this software, you accept full responsibility for any actions performed by AI agents or automated systems built with this tool. This is open-source software provided without warranty, support, or liability. Use at your own risk and ensure you understand the implications of automated desktop control.
Darbot Windows MCP is part of the extensible Darbot Framework, an open-source Model Context Protocol (MCP) server that lets any MCP-aware client (VS Code agent-mode, Claude Desktop, Gemini CLI, custom LLM agents, etc.) control Windows just like a human.
This enhanced version builds upon the foundational work of Windows-MCP, adding comprehensive NPM packaging, dual installation methods, professional documentation, and enhanced tooling.
It exposes 15 tools that cover everyday desktop automationβlaunching apps, clicking, typing, scrolling, getting UI state, and moreβwhile hiding all the Windows Accessibility and input-synthesis complexity behind a simple HTTP/stdio interface.
π Table of Contents
- β¨ Key Features
- π₯οΈ Supported OS
- πΈ Screenshots
- π οΈ Available Tools
- β‘ Quick Start
- π¦ Prerequisites
- π― Usage Examples
- ποΈ Other Clients
- π§ Troubleshooting
- π§ Limitations
- π€ Contributing
- π Additional Documentation
- πͺͺ License
π Recent Improvements
β’ NPM Package Available β Install globally with npm install -g @darbotlabs/darbot-windows-mcp
β’ Dual Setup Options β Choose between UV (modern, fast) or standard Python (traditional pip/venv)
β’ Enhanced Documentation β Complete setup guides for both installation methods
β’ Fixed VS Code Integration β Corrected MCP configuration for seamless VS Code agent mode
β’ Comprehensive Testing β All 15 tools validated and working perfectly
β’ Better Error Handling β Improved troubleshooting guide with common solutions
β’ Documentation Consolidation β Organized comprehensive documentation for all user needs
β’ OneDrive Compatibility β Fixed hardlink issues when installing on OneDrive folders
β’ State-Tool Fixed β Resolved "Error getting state" issue with Windows UIAutomation
β’ Enhanced Setup Wizard β Improved workspace detection and VS Code file creation
β’ Template-Based Configuration β Consistent JSON configuration file generation
β¨ Key Features
β’ One-Command Installation β npm install -g darbot-windows-mcp && darbot-setup
β’ Dual Installation Options β Use modern UV or traditional Python/pip workflows
β’ Native Windows integration β Uses UI Automation, Win32 APIs, and pyautogui for reliable control
β’ Zero CV / Vision optional β Works with any LLM; screenshot attachment is optional
β’ Fast β Typical end-to-end latency 1.5 β 2.3 s per action
β’ MCP-compliant β Validates against the official JSON schema; ready for VS Code, Claude, Gemini CLI
β’ Extensible β Add your own Python tools in main.py
β’ MIT-licensed β Fork, embed, or commercialize freely
π₯οΈ Supported OS
β’ Windows 11
πΈ Screenshots
Darbot Windows MCP in action with VS Code, desktop automation, and MCP tools
π οΈ Available Tools
| Tool | Purpose |
|------|---------|
| Launch-Tool | Launch an application from the Start menu. |
| Browser-Tool | Launch Microsoft Edge browser and navigate to a specified URL. |
| Powershell-Tool | Run a PowerShell command and capture output. |
| State-Tool | Dump active app, open apps, interactive / informative / scrollable elements, plus optional screenshot. |
| Clipboard-Tool | Copy text to clipboard or paste current clipboard contents. |
| Click-Tool | Click at (x, y) with configurable button/clicks. |
| Type-Tool | Type text into the UI with optional clear. |
| Switch-Tool | Bring a window (e.g., "notepad") to the foreground. |
| Scroll-Tool | Vertical / horizontal scrolling at coordinates. |
| Drag-Tool | Drag from (xβ, yβ) to (xβ, yβ). |
| Move-Tool | Move mouse cursor. |
| Shortcut-Tool | Send keyboard shortcut list (e.g., ["win","r"]). |
| Key-Tool | Press single key (Enter, Esc, F1βF12, arrows, etc.). |
| Wait-Tool | Sleep for N seconds. |
| Scrape-Tool | Fetch a webpage and return Markdown. |
β‘ Quick Start
Option A: NPM Global Installation (Recommended) π
The fastest way to get started with Darbot Windows MCP:
# Install globally via NPM
npm install -g @darbotlabs/darbot-windows-mcp
# Run the setup wizard (automatically configures VS Code + Claude Desktop)
darbot-setup
# Or start the MCP server directly
darbot-windows-mcpWhat the setup wizard does:
- β Installs Python dependencies via UV or pip
- β Configures VS Code MCP integration
- β Configures Claude Desktop integration
- β Tests the installation
- β Provides next steps
Option B: Manual Installation via UV
For developers who prefer direct control:
Install UV package manager:
# On Windows PowerShell powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Clone and install:
git clone https://github.com/darbotlabs/darbot-windows-mcp.git cd darbot-windows-mcp uv syncConfigure VS Code MCP integration:
Create/update
.vscode/mcp.jsonin your workspace root:{ "servers": { "darbot-windows-mcp": { "type": "stdio", "command": "uv", "args": [ "--directory", "${workspaceFolder}/darbot-windows-mcp", "run", "main.py" ] } } }Configure VS Code settings:
Create/update
.vscode/settings.jsonin your workspace root:{ "mcp.servers": { "darbot-windows-mcp": { "command": "uv", "args": [ "--directory", "${workspaceFolder}/darbot-windows-mcp", "run", "main.py" ], "env": {} } } }
Option C: Manual Installation via Python/Pip
Traditional Python environment setup:
Prerequisites: Ensure Python 3.12+ is installed
Clone and install dependencies:
git clone https://github.com/darbotlabs/darbot-windows-mcp.git cd darbot-windows-mcp # Create virtual environment python -m venv venv venv\Scripts\activate # Install dependencies python -m pip install -r requirements.txtConfigure VS Code MCP integration:
Create/update
.vscode/mcp.jsonin your workspace root:{ "servers": { "darbot-windows-mcp": { "type": "stdio", "command": "python", "args": [ "${workspaceFolder}/darbot-windows-mcp/main.py" ], "cwd": "${workspaceFolder}/darbot-windows-mcp" } } }Configure VS Code settings:
Create/update
.vscode/settings.jsonin your workspace root:{ "mcp.servers": { "darbot-windows-mcp": { "command": "python", "args": [ "${workspaceFolder}/darbot-windows-mcp/main.py" ], "cwd": "${workspaceFolder}/darbot-windows-mcp", "env": {} } } }
After any installation method:
- Restart VS Code to load the MCP server
- Test the tools in VS Code agent mode
- Start automating! π
ποΈ Other Clients
β’ Claude Desktop β Build .dxt then load in Settings β Extensions.
β’ Gemini CLI β Add darbot-windows-mcp entry in %USERPROFILE%/.gemini/settings.json.
β’ Any HTTP or stdio MCP client.
π¦ Prerequisites
β’ Node.js 16+ - For the npm installation method
β’ Python 3.13+ - Required for the MCP server
β’ Windows 11 - Primary supported platform (Windows 10 may work)
β’ English Windows locale - For consistent UI Automation tree
π§ Troubleshooting
NPM Installation Issues
If the npm installation fails:
# Clear npm cache and try again
npm cache clean --force
npm install -g @darbotlabs/darbot-windows-mcp --force
# Or install from source
git clone https://github.com/darbotlabs/Darbot-Windows-MCP.git
cd Darbot-Windows-MCP
npm install
npm linkOneDrive Hardlink Issues (FIXED β )
If you see this error when running on OneDrive:
warning: Failed to hardlink files; falling back to full copy.
error: Failed to install: selenium-4.34.2-py3-none-any.whl
Caused by: failed to hardlink file... The cloud operation cannot be performed on a file with incompatible hardlinks. (os error 396)Solution: The setup script now automatically handles this by setting UV_LINK_MODE=copy. If you encounter this manually, run:
# Set environment variable and retry
$env:UV_LINK_MODE="copy"
uv syncError: "No module named uv"
If you see this error:
C:\Users\[username]\AppData\Local\Programs\Python\Python312\python.exe: No module named uvThis means uv is not installed. You have two options:
Option 1: Install UV and use the faster dependency management:
python -m pip install uvOption 2: Use standard Python instead (see "Option C: Using Standard Python" above)
Or use the standalone UV installer:
# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"After installation, restart VS Code and try again.
State-Tool Error: "Error getting state" (FIXED β )
If the State-Tool returns "Error getting state", this has been fixed in the latest version. The issue was related to Windows UIAutomation API calls. Ensure you have the latest version:
npm install -g @darbotlabs/darbot-windows-mcp@latestVS Code Configuration Not Created
If the setup script doesn't create .vscode/mcp.json and .vscode/settings.json:
Run setup from your workspace root:
cd "C:\path\to\your\workspace" darbot-setupSpecify workspace directory when prompted - The setup wizard now asks for the workspace directory
Check file permissions - Ensure you have write access to the target directory
MCP Server Connection Issues
If VS Code shows connection errors, ensure:
- Dependencies are installed - Run
uv syncorpip install -r requirements.txt - Python version is 3.12+ - Check with
python --version - VS Code is restarted after configuration changes
- Correct workspace folder path in the configuration files
- MCP server is running - Check VS Code's output panel for MCP server logs
Testing the Installation
You can test if the server works by running:
# With UV
uv run python main.py --help
# With standard Python
python main.py --help
# With npm package
darbot-windows-mcp --helpAll should show the MCP server information without errors.
Testing Individual Tools
You can test specific tools through VS Code agent mode:
"Use the State-Tool to show current desktop state"
"Use the Click-Tool to click at coordinates 500, 300"
"Use the Type-Tool to type 'Hello World'"π― Usage Examples
Once set up, you can use any of the 15 tools through VS Code's agent mode or other MCP clients:
// Example interactions through MCP:
"Launch notepad" β Launch-Tool opens Notepad
"Click at 400, 300" β Click-Tool performs mouse click
"Type 'Hello World'" β Type-Tool enters text
"Open google.com" β Browser-Tool launches Edge with URL
"Copy this text" β Clipboard-Tool manages clipboard
"Press Ctrl+S" β Shortcut-Tool sends key combination
"Get desktop state" β State-Tool shows current UI elements
"Run dir command" β Powershell-Tool executes commandsAll tools work seamlessly with AI agents, providing full Windows desktop control through natural language commands!
π§ Limitations
β’ Fine-grained text selection is pending.
β’ Type-Tool types whole blocks; not optimised for coding heavy files.
π Additional Documentation
For more detailed information, see our comprehensive documentation:
- π Installation Guide - Detailed setup instructions for all installation methods
- π οΈ Tools Reference - Complete documentation of all 15 available tools with examples
- π§ Troubleshooting Guide - Common issues and solutions
- π¨βπ» Development Guide - Contributing, adding tools, and development workflow
- π€ Contributing Guidelines - How to contribute to the project
π€ Contributing
Pull requests and issues welcome! See CONTRIBUTING.md and DEVELOPMENT.md for detailed guidelines.
πͺͺ License
MIT β Β© 2025 Darbot at Darbot Labs / contributors
Attribution
This project is based on and extends the original Windows-MCP repository by CursorTouch. We acknowledge and thank the original contributors for their foundational work in Windows desktop automation through the Model Context Protocol.
Original Repository: Windows-MCP
Enhancements by Darbot Labs: NPM packaging, dual installation methods, enhanced documentation, professional branding, setup wizards, and comprehensive testing.
