MCPControl
MCP server for Windows OS automation
claude mcp add --transport stdio claude-did-this-mcpcontrol mcp-control --sse
How to use
MCPControl is a Windows-only MCP server that exposes your desktop to models via the Model Context Protocol. It provides programmatic control over mouse movements and clicks, keyboard input and shortcuts, window management, screen capture, and clipboard operations. The server communicates over Server-Sent Events (SSE) to enable real-time, event-driven interactions from an AI model like Claude. To use it, install and run the MCPControl CLI (mcp-control) with the SSE transport enabled, either locally or on a VM, and point your client (Claude) to the provided SSE URL.
Once running, you can connect a Claude client by configuring the mcpServers entry in your client config to use transport: sse and the server URL (for example http://<host>:3232/mcp). You can also run MCPControl locally with SSE by invoking mcp-control --sse on your machine. The server supports various command-line options (port, HTTPS with certificates, etc.) for production deployments. With this setup, Claude can issue commands to move the mouse, type text, manage windows, capture screenshots, and perform clipboard operations in a secure, controlled manner.
The included automation providers let you choose the underlying automation engine (keysender, powershell, autohotkey) for different tasks, enabling you to tailor reliability and capabilities to your environment. Providers can be selected globally or per operation via environment variables, giving you flexibility in how automation tasks are executed on Windows.
How to install
Prerequisites
- A Windows host (VM recommended) with 1280x720 resolution for optimal accuracy.
- Node.js (recommended to install via your preferred method).
- Build tools and Python (as needed for some native bindings).
Steps
- Install MCPControl globally using npm:
npm install -g mcp-control
- Run MCPControl with SSE transport (default port 3232):
mcp-control --sse
-
Verify the server is listening and note the URL for client configuration (default: http://<host>:3232/mcp).
-
If you plan to deploy with HTTPS for production, run with TLS flags (example):
mcp-control --sse --https --cert <path/to/cert.pem> --key <path/to/key.pem> --port 8443
- In your client (Claude) configuration, point to the SSE URL described in step 3, for example:
{
"mcpServers": {
"MCPControl": {
"transport": "sse",
"url": "http://<host>:3232/mcp"
}
}
}
- If you prefer launching MCPControl from npm without global install, you can run it via npx:
npx -y mcp-control --sse
Additional notes
Tips and considerations:
- MCPControl is experimental; use in controlled environments and with proper safety measures.
- HTTPS is mandatory for production remote deployments per MCP spec; ensure valid TLS certificates when enabling --https.
- If you encounter build tool or native-binding issues, ensure you have the required C++ build tools installed on Windows (Visual Studio Build Tools) and Python available for node-gyp dependencies.
- You can configure automation providers through environment variables, for example AUTOMATION_PROVIDER=autohotkey or per-operation overrides like AUTOMATION_KEYBOARD_PROVIDER=autohotkey and AUTOMATION_MOUSE_PROVIDER=keysender.
- For optimal performance in automation tasks, run MCPControl in a dedicated environment (VM or separate PC) to minimize interference with your primary workflow.
Related MCP Servers
cui
A web UI for Claude Code agents
aws
Talk with your AWS using Claude. Model Context Protocol (MCP) server for AWS. Better Amazon Q alternative.
vrchat
This project is a Model Context Protocol (MCP) server for interacting with the VRChat API.
docmole
Dig through any documentation with AI - MCP server for Claude, Cursor, and other AI assistants
obsidian
MCP server for Obsidian vault management - enables Claude and other AI assistants to read, write, search, and organize your notes
attio
Model Context Protocol server for Attio CRM - enables Claude Desktop and Cursor to interact with your Attio workspace