npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2025 – Pkg Stats / Ryan Hefner

@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

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

πŸ†• 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-mcp

What 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:

  1. Install UV package manager:

    # On Windows PowerShell
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  2. Clone and install:

    git clone https://github.com/darbotlabs/darbot-windows-mcp.git
    cd darbot-windows-mcp
    uv sync
  3. Configure VS Code MCP integration:

    Create/update .vscode/mcp.json in your workspace root:

    {
      "servers": {
        "darbot-windows-mcp": {
          "type": "stdio",
          "command": "uv",
          "args": [
            "--directory",
            "${workspaceFolder}/darbot-windows-mcp",
            "run",
            "main.py"
          ]
        }
      }
    }
  4. Configure VS Code settings:

    Create/update .vscode/settings.json in 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:

  1. Prerequisites: Ensure Python 3.12+ is installed

  2. 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.txt
  3. Configure VS Code MCP integration:

    Create/update .vscode/mcp.json in your workspace root:

    {
      "servers": {
        "darbot-windows-mcp": {
          "type": "stdio",
          "command": "python",
          "args": [
            "${workspaceFolder}/darbot-windows-mcp/main.py"
          ],
          "cwd": "${workspaceFolder}/darbot-windows-mcp"
        }
      }
    }
  4. Configure VS Code settings:

    Create/update .vscode/settings.json in 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:

  1. Restart VS Code to load the MCP server
  2. Test the tools in VS Code agent mode
  3. 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 link

OneDrive 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 sync

Error: "No module named uv"

If you see this error:

C:\Users\[username]\AppData\Local\Programs\Python\Python312\python.exe: No module named uv

This means uv is not installed. You have two options:

Option 1: Install UV and use the faster dependency management:

python -m pip install uv

Option 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@latest

VS Code Configuration Not Created

If the setup script doesn't create .vscode/mcp.json and .vscode/settings.json:

  1. Run setup from your workspace root:

    cd "C:\path\to\your\workspace"
    darbot-setup
  2. Specify workspace directory when prompted - The setup wizard now asks for the workspace directory

  3. Check file permissions - Ensure you have write access to the target directory

MCP Server Connection Issues

If VS Code shows connection errors, ensure:

  1. Dependencies are installed - Run uv sync or pip install -r requirements.txt
  2. Python version is 3.12+ - Check with python --version
  3. VS Code is restarted after configuration changes
  4. Correct workspace folder path in the configuration files
  5. 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 --help

All 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 commands

All 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:


🀝 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.