MCPControl
A Windows control server built using nut.js and Model Context Protocol (MCP), providing programmatic control over Windows system operations including mouse, keyboard, window management, and screen capture functionality.
What is MCPControl?
MCPControl is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to windows control server built using nut.js and model context protocol (mcp), providing programmatic control over windows system operations including mouse, keyboard, window management, and screen captu...
A Windows control server built using nut.js and Model Context Protocol (MCP), providing programmatic control over Windows system operations including mouse, keyboard, window management, and screen capture functionality.
This server falls under the Browser Automation category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- A Windows control server built using nut.js and Model Contex
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx mcpcontrolConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use MCPControl
MCPControl is a Windows-only MCP server that gives AI assistants programmatic control over the Windows desktop through nut.js, supporting mouse movement and clicks, keyboard input and key combinations, window management (list, focus, resize, reposition), screen capture, and clipboard read/write. It is designed for AI-driven Windows automation workflows where an agent needs to operate GUI applications that have no API, using either local stdio or SSE transport for network-accessible deployments. Developers and power users can connect Claude or other MCP clients to automate repetitive desktop tasks, run UI tests, or build autonomous Windows agents.
Prerequisites
- Windows operating system (this server is Windows-only)
- Node.js LTS installed
- Visual Studio Build Tools with the VC++ workload (required for native node-gyp modules)
- Python 3.12 (required by node-gyp for native module compilation)
- An MCP-compatible AI client: Claude Desktop or Claude Code
Install Visual Studio Build Tools and Python
MCPControl uses nut.js which requires native compilation. Install Visual Studio Build Tools 2022 with the C++ workload and Python 3.12 using winget.
winget install Microsoft.VisualStudio.2022.BuildTools
winget install Python.Python.3.12Install mcp-control globally
Install the mcp-control package globally with npm. This compiles the native nut.js modules for your system.
npm install -g mcp-controlConfigure environment variables for automation providers
Set environment variables to select which automation backends to use. AutoHotkey v2, keysender, and PowerShell are the available providers for different input/screen categories.
# Set in your environment or in the MCP client config env block
AUTOMATION_KEYBOARD_PROVIDER=autohotkey
AUTOMATION_MOUSE_PROVIDER=keysender
AUTOMATION_SCREEN_PROVIDER=keysender
AUTOMATION_CLIPBOARD_PROVIDER=powershell
AUTOHOTKEY_PATH=C:\Program Files\AutoHotkey\v2\AutoHotkey.exeAdd MCPControl to your Claude Desktop config
Edit your Claude Desktop claude_desktop_config.json to add MCPControl as an MCP server using stdio transport.
{
"mcpServers": {
"MCPControl": {
"command": "mcp-control",
"args": [],
"env": {
"AUTOMATION_KEYBOARD_PROVIDER": "autohotkey",
"AUTOMATION_MOUSE_PROVIDER": "keysender",
"AUTOMATION_SCREEN_PROVIDER": "keysender",
"AUTOMATION_CLIPBOARD_PROVIDER": "powershell",
"AUTOHOTKEY_PATH": "C:\\Program Files\\AutoHotkey\\v2\\AutoHotkey.exe"
}
}
}
}Optional: run in SSE mode for network access
For remote or VM-based deployments, start mcp-control with the --sse flag. It will listen on port 3232 by default and can be connected to from another machine.
mcp-control --sse --port 3232MCPControl Examples
Client configuration
Full Claude Desktop configuration for MCPControl with the recommended automation providers set as environment variables.
{
"mcpServers": {
"MCPControl": {
"command": "mcp-control",
"args": [],
"env": {
"AUTOMATION_KEYBOARD_PROVIDER": "autohotkey",
"AUTOMATION_MOUSE_PROVIDER": "keysender",
"AUTOMATION_SCREEN_PROVIDER": "keysender",
"AUTOMATION_CLIPBOARD_PROVIDER": "powershell",
"AUTOHOTKEY_PATH": "C:\\Program Files\\AutoHotkey\\v2\\AutoHotkey.exe"
}
}
}
}Prompts to try
Once MCPControl is connected, try these automation prompts in Claude.
- "Take a screenshot of the current screen and describe what application is open"
- "List all open windows and focus the one named Notepad"
- "Type 'Hello, World!' into the currently active text field"
- "Move the mouse to coordinates 500, 300 and left-click"
- "Read the current contents of the clipboard"
- "Press Ctrl+S to save the current document in the active window"Troubleshooting MCPControl
npm install -g mcp-control fails with node-gyp build errors
Ensure Visual Studio Build Tools 2022 with the C++ workload and Python 3.12 are both installed. Run 'npm config set msvs_version 2022' and 'npm config set python python3.12' then retry the install. Restarting the terminal after installing build tools is often required.
Keyboard or mouse actions have no effect in the target application
Some applications (games, elevated processes) require the automation provider to run as administrator. Try running the terminal with elevated privileges. Also verify that AUTOMATION_KEYBOARD_PROVIDER and AUTOMATION_MOUSE_PROVIDER are set to valid values (autohotkey or keysender).
Screenshots return blank or black images
Screen capture via keysender requires the target window to be in the foreground and not minimized. Ensure the window you want to capture is visible and not behind other windows. The 1280x720 resolution is optimal — higher resolutions may cause issues.
Frequently Asked Questions about MCPControl
What is MCPControl?
MCPControl is a Model Context Protocol (MCP) server that windows control server built using nut.js and model context protocol (mcp), providing programmatic control over windows system operations including mouse, keyboard, window management, and screen capture functionality. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install MCPControl?
Follow the installation instructions on the MCPControl GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with MCPControl?
MCPControl works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is MCPControl free to use?
Yes, MCPControl is open source and available under the MIT License license. You can use it freely in both personal and commercial projects.
MCPControl Alternatives — Similar Browser Automation Servers
Looking for alternatives to MCPControl? Here are other popular browser automation servers you can use with Claude, Cursor, and VS Code.
Chrome DevTools MCP
★ 40.6kAI-powered Chrome automation server with natural language element detection. Control Chrome browser through MCP protocol for testing, debugging, and performance analysis. Features 91% accuracy in element location, works with free AI models, and suppo
UI TARS Desktop
★ 34.9k📇 🏠 - Browser automation capabilities using Puppeteer, both support local and remote browser connection.
Playwright
★ 32.8kA production-ready browser automation server that enables AI assistants to interact with web pages using tools for navigation, element interaction, and data extraction. It features a built-in Inspector UI and robust crash recovery for reliable automa
Page Agent
★ 18.0kJavaScript in-page GUI agent. Control web interfaces with natural language.
Chrome
★ 11.7kAn extension-based MCP server that enables AI assistants to control your browser, leveraging existing sessions and login states for automation and content analysis. It provides over 20 tools for semantic tab search, interactive element manipulation,
LAMDA
★ 7.8kThe most powerful Android RPA agent framework, next generation mobile automation.
Browse More Browser Automation MCP Servers
Explore all browser automation servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up MCPControl in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use MCPControl?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.