Windows Control
About
Programmatic control over Windows system operations including mouse, keyboard, window management, and screen capture using nut.js.
Details
- Author
- cheffromspace
- Categories
- Productivity, Community, Other
Jump to
Setup
Install Windows Control in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/cheffromspace/nutjs-windows-control
Follow the installation instructions in the repository README, then restart your MCP client.
Windows control server for theModel Context Protocol, providing programmatic control over system operations including mouse, keyboard, window management, and screen capture functionality.
Note: This project currently supports Windows only.
MCPControl bridges the gap between AI models and your desktop, enabling secure, programmatic control of:
- 🖱️Mouse movements and clicks
- ⌨️Keyboard input and shortcuts
- 🪟Window management
- 📸Screen capture and analysis
- 📋Clipboard operations
-
Install Build Tools (including VC++ workload)
# Run as Administrator - may take a few minutes to complete winget install Microsoft.VisualStudio.2022.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
Install Python(if not already installed)
# Install Python (required for node-gyp) winget install Python.Python.3.12
# Install latest LTS version winget install OpenJS.NodeJS
- Install MCPControl Package
npm install -g mcp-control
MCPControl works best in avirtual machine at 1280x720 resolutionfor optimal click accuracy.
Configure your Claude client to connect to MCPControl via SSE transport:
For connecting to an MCPControl server running on a VM or remote machine:
{ "mcpServers": { "MCPControl": { "transport": "sse", "url": "http://192.168.1.100:3232/mcp" } } }
Replace192.168.1.100:3232with your server's IP address and port.
To launch MCPControl locally with SSE transport:
{ "mcpServers": { "MCPControl": { "command": "mcp-control", "args": ["--sse"] } } }
First, start the MCPControl server on your VM or local machine:
- Available network interfaces and their IP addresses
- The port number (default: 3232)
- Connection status messages
- Start your Windows VMwith 1280x720 resolution
- Install MCPControlon the VM:
npm install -g mcp-control
{ "mcpServers": { "MCPControl": { "transport": "sse", "url": "http://192.168.1.100:3232/mcp" } } }
MCPControl supports several command-line flags for advanced configurations:
# Run with SSE transport on default port (3232) mcp-control --sse # Run with SSE on custom port mcp-control --sse --port 3000 # Run with HTTPS/TLS (required for production deployments) mcp-control --sse --https --cert /path/to/cert.pem --key /path/to/key.pem # Run with HTTPS on custom port mcp-control --sse --https --port 8443 --cert /path/to/cert.pem --key /path/to/key.pem
- --sse- Enable SSE (Server-Sent Events) transport for network access
- --port [number]- Specify custom port (default: 3232)
- --https- Enable HTTPS/TLS (required for remote deployments per MCP spec)
- --cert [path]- Path to TLS certificate file (required with --https)
- --key [path]- Path to TLS private key file (required with --https)
According to the MCP specification, HTTPS ismandatoryfor all HTTP-based transports in production environments. When deploying MCPControl for remote access, always use the--httpsflag with valid TLS certificates.
- Application Testing: Delegate repetitive UI testing to Claude, allowing AI to navigate through applications and report issues
- Workflow Automation: Have Claude operate applications on your behalf, handling repetitive tasks while you focus on creative work
- Form Filling: Let Claude handle data entry tasks with your supervision
- AI Gaming: Watch Claude learn to play simple games through visual feedback
- Visual Reasoning: Test Claude's ability to navigate visual interfaces and solve visual puzzles
- Human-AI Collaboration: Explore new interaction paradigms where Claude can see your screen and help with complex tasks
- Cross-Application Integration: Bridge applications that don't normally communicate
- UI Testing Framework: Create robust testing scenarios with visual validation
- Demo Creation: Automate the creation of product demonstrations
THIS SOFTWARE IS EXPERIMENTAL AND POTENTIALLY DANGEROUS
By using this software, you acknowledge and accept that:
- Giving AI models direct control over your computer through this tool is inherently risky
- This software can control your mouse, keyboard, and other system functions which could potentially cause unintended consequences
- You are using this software entirely at your own risk
- The creators and contributors of this project accept NO responsibility for any damage, data loss, or other consequences that may arise from using this software
- This tool should only be used in controlled environments with appropriate safety measures in place
- List all windows
- Get active window info
- Focus, resize & reposition
- Precision movement
- Click & drag operations
- Scrolling & position tracking
- Text input & key combos
- Key press/release control
- Hold key functionality
- High-quality screenshots
- Screen size detection
- Active window capture
MCPControl supports multiple automation providers for different use cases:
- keysender(default) - Native Windows automation with high reliability
- powershell- Windows PowerShell-based automation for simpler operations
- autohotkey- AutoHotkey v2 scripting for advanced automation needs
You can configure the automation provider using environment variables:
# Use a specific provider for all operations export AUTOMATION_PROVIDER=autohotkey # Configure AutoHotkey executable path (if not in PATH) export AUTOHOTKEY_PATH="C:\Program Files\AutoHotkey\v2\AutoHotkey.exe"
Or use modular configuration for specific operations:
# Mix and match providers for different operations export AUTOMATION_KEYBOARD_PROVIDER=autohotkey export AUTOMATION_MOUSE_PROVIDER=keysender export AUTOMATION_SCREEN_PROVIDER=keysender export AUTOMATION_CLIPBOARD_PROVIDER=powershell
If you're interested in contributing or building from source, please seeCONTRIBUTING.mdfor detailed instructions.
To build this project for development, you'll need:
- Windows operating system (required for the keysender dependency)
- Node.js 18 or later (install using the official Windows installer which includes build tools)
- npm package manager
- Native build tools:
- node-gyp:npm install -g node-gyp
- cmake-js:npm install -g cmake-js
The keysender dependency relies on Windows-specific native modules that require these build tools.
- /src
- /handlers- Request handlers and tool management
- /tools- Core functionality implementations
- /types- TypeScript type definitions
- index.ts- Main application entry point
- main- Main development branch with the latest features and changes
- release- Stable release branch that mirrors the latest stable tag (currently v0.2.0)
You can install specific versions of MCPControl using npm:
# Install the latest stable release (from release branch) npm install mcp-control # Install a specific version npm install mcp-control@0.1.22
- @modelcontextprotocol/sdk- MCP SDK for protocol implementation
- keysender- Windows-only UI automation library
- clipboardy- Clipboard handling
- sharp- Image processing
- uuid- UUID generation
- Window minimize/restore operations are currently unsupported
- Multiple screen functions may not work as expected, depending on setup
- The get_screenshot utility does not work with the VS Code Extension Cline. SeeGitHub issue #1865
- Some operations may require elevated permissions depending on the target application
- Only Windows is supported
- MCPControl works best at 1280x720 resolution, single screen. Click accuracy is optimized for this resolution. We're working on an offset/scaling bug and looking for testers or help creating testing tools
This project is licensed under the MIT License - see the LICENSE file for details.
AnkiConnect MCP server for interacting with Anki via AnkiConnect.
An MCP Server Integration with Apple Shortcuts
Add smart Backup ability to coding agents like Windsurf, Cursor, Cluade Coder, etc
This server enables LLMs to use calculator for precise numerical calculations.
A CalDAV MCP server to expose calendar operations as tools for AI assistants.
MCP server for easy access to education data through your Canvas LMS instance.
Tools to the query and execute of Dify workflows
Excel manipulation including data reading/writing, worksheet management, formatting, charts, and pivot table
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




