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)
powershell
# 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)
powershell
# Install Python (required for node-gyp)
winget install Python.Python.3.12
Install Node.js
powershell
# Install latest LTS version
winget install OpenJS.NodeJS
powershell
npm install -g mcp-controlMCPControl works best in a virtual machine at 1280x720 resolution for optimal click accuracy.
Configure your Claude client to use the SSE transport:
{
"mcpServers": {
"MCPControl": {
"command": "mcp-control",
"args": [
"--transport",
"sse"
]
}
}
}
You can also run the server directly with SSE:
mcp-control --transport sse
Restart your client and MCPControl will appear in your MCP menu!
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
|
🖱️ Mouse Control
|
⌨️ Keyboard Control
|
📸 Screen Operations
|
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-gypnpm install -g cmake-jsThe 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.
$ claude mcp add MCPControl \
-- python -m otcore.mcp_server <graph>