Windows-only MCP server enabling secure, programmatic control of mouse, keyboard, window management, screen capture, and clipboard operations via the Model Context Protocol for seamless AI-desktop integration.
Unlock the full potential of MCPControl through LangDB's AI Gateway. Get enterprise-grade security, analytics, and seamless integration with zero configuration.
Free tier available • No credit card required
Windows control server for the Model 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:
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 Node.js
# Install latest LTS version winget install OpenJS.NodeJS
npm install -g mcp-control
MCPControl works best in a virtual machine at 1280x720 resolution for 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" } } }
Replace 192.168.1.100:3232
with 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:
mcp-control --sse
The server will display:
npm install -g mcp-control
mcp-control --sse
192.168.1.100
){ "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 is mandatory for all HTTP-based transports in production environments. When deploying MCPControl for remote access, always use the --https
flag with valid TLS certificates.
THIS SOFTWARE IS EXPERIMENTAL AND POTENTIALLY DANGEROUS
By using this software, you acknowledge and accept that:
USE AT YOUR OWN RISK
🪟 Window Management
List all windows
Get active window info
Focus, resize & reposition
🖱️ Mouse Control
Precision movement
Click & drag operations
Scrolling & position tracking
⌨️ Keyboard Control
Text input & key combos
Key press/release control
Hold key functionality
📸 Screen Operations
High-quality screenshots
Screen size detection
Active window capture
MCPControl supports multiple automation providers for different use cases:
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
See provider-specific documentation:
If you're interested in contributing or building from source, please see CONTRIBUTING.md for detailed instructions.
To build this project for development, you'll need:
npm install -g node-gyp
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 definitionsindex.ts
- Main application entry pointmain
- Main development branch with the latest features and changesrelease
- 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
See CONTRIBUTING.md
This project is licensed under the MIT License - see the LICENSE file for details.
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!