Programmatic control over Windows system operations including mouse, keyboard, window management, and screen capture using nut.js.
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
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.
GitLab API, enabling project management
Create crafted UI components inspired by the best 21st.dev design engineers.
ALAPI MCP Tools,Call hundreds of API interfaces via MCP
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMaticβs API.
MCP to interface with multiple blockchains, staking, DeFi, swap, bridging, wallet management, DCA, Limit Orders, Coin Lookup, Tracking and more.
Enable AI agents to interact with the Atla API for state-of-the-art LLMJ evaluation.
Get prescriptive CDK advice, explain CDK Nag rules, check suppressions, generate Bedrock Agent schemas, and discover AWS Solutions Constructs patterns.
Query and analyze your Axiom logs, traces, and all other event data in natural language
Bring the full power of BrowserStackβs Test Platform to your AI tools, making testing faster and easier for every developer and tester on your team.
Flag features, manage company data, and control feature access using Bucket