MCPControl

v1.0.0Browser Automationstable

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.

aiclaudecomputer-controlcomputer-visionmcp
Share:
319
Stars
0
Downloads
0
Weekly
0/5

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

Windows system automation
Mouse and keyboard control
Screen capture and automation
claude-did-this

Maintainer

LicenseMIT License
Languagetypescript
Versionv1.0.0
UpdatedMay 19, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx mcpcontrol

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

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
1

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.12
2

Install 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-control
3

Configure 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.exe
4

Add 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"
      }
    }
  }
}
5

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 3232

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

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.

Quick Config Preview

{ "mcpServers": { "mcpcontrol": { "command": "npx", "args": ["-y", "mcpcontrol"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

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.

33,000+ ServersFree & Open SourceStep-by-Step Guides