development
location
documentation
public
computer control
What is MCP server that provides computer control capabilities, like mouse, keyboard, OCR, etc.?
Computer Control MCP is an MCP server that provides computer control capabilities, such as mouse movements, keyboard input, and OCR using PyAutoGUI, RapidOCR, and ONNXRuntime. It has zero external dependencies and is primarily tested on Windows, although it should work on other platforms.
Documentation
Computer Control MCP
MCP server that provides computer control capabilities, like mouse, keyboard, OCR, etc. using PyAutoGUI, RapidOCR, ONNXRuntime. Similar to 'computer-use' by Anthropic. With Zero External Dependencies.
Only tested on Windows. Should work on other platforms.
Quick Usage (MCP Setup Using uvx)
Note: Running uvx computer-control-mcp@latest for the first time will download python dependencies (around 70MB) which may take some time. Recommended to run this in a terminal before using it as MCP. Subsequent runs will be instant.
computer-control-mcp # instead of uvx computer-control-mcp, so you can use the latest version, also you can `uv cache clean` to clear the cache and `uvx` again to use latest version.
Features
Control mouse movements and clicks
Type text at the current cursor position
Take screenshots of the entire screen or specific windows with optional saving to downloads directory
Extract text from screenshots using OCR (Optical Character Recognition)
List and activate windows
Press keyboard keys
Drag and drop operations
Available Tools# Mouse Control
click_screen(x: int, y: int): Click at specified screen coordinates
move_mouse(x: int, y: int): Move mouse cursor to specified coordinates
drag_mouse(from_x: int, from_y: int, to_x: int, to_y: int, duration: float = 0.5): Drag mouse from one position to another
Keyboard Control
type_text(text: str): Type the specified text at current cursor position
press_key(key: str): Press a specified keyboard key
Screen and Window Management
take_screenshot(title_pattern: str = None, use_regex: bool = False, threshold: int = 60, with_ocr_text_and_coords: bool = False, scale_percent_for_ocr: int = 100, save_to_downloads: bool = False): Capture screen or window with optional OCR
get_screen_size(): Get current screen resolution
list_windows(): List all open windows
activate_window(title_pattern: str, use_regex: bool = False, threshold: int = 60): Bring specified window to foreground
Development# Setting up the Development Environment
git clone https://github.com/AB498/computer-control-mcp.git
cd computer-control-mcp
# Install in development mode
pip install -e .
# Start server
python -m computer_control_mcp.core
Running Tests
python -m pytest
API Reference
See the API Reference for detailed information about the available functions and classes.