Give any AI real hands on a Windows PC. A single ~2 MB Rust MCP server with 54 native tools for seeing and controlling the desktop. No Python, no cloud.
JoshuaALawrence/OpenControl is an MCP server distributed on github, maintained by JoshuaALawrence, tracked here since June 2026. It has shipped 1 release and exposes 54 tools. Tools include click, click_element, close_window, copy_selection, double_click, drag, and 48 more. Its composite risk grade is C — an inferred review prompt computed from observed signals, not a verdict.
1
0
0
0
-
clickClick at a point: left/right/middle, single/double/triple. -
click_elementClick a control by its [index] (moves the real mouse, or invokes it if off-screen). -
close_windowRequest a window to close (the app may prompt to save). -
copy_selectionCopy the current selection and return the resulting clipboard text. -
double_clickDouble-click at a point. -
dragPress, drag, and release for sliders, selections, and drag-and-drop. -
find_elementsSearch a window's tree for controls by name and/or control type; returns usable indices. -
find_image_on_screenFind a template image via normalized cross-correlation; returns matches with centers. -
find_textLocate on-screen text and return matching words with clickable centers. -
focus_windowBring a window to the foreground and give it focus. -
get_active_windowReturn the foreground window's handle, title, and app. -
get_blocklistShow the user-configured application blocklist (read-only). Reports which apps are redacted from captures/OCR and refused for control. The … -
get_clipboardRead clipboard text. -
get_cursor_positionReturn the mouse position in physical screen pixels. -
get_element_at_pointIdentify the UI element under an image-space point. -
get_focused_elementReturn the control that currently holds keyboard focus. -
get_pixel_colorRead the RGB/hex color of a pixel from the last screenshot. -
get_system_infoReport host OS, CPU, memory, monitors, and virtual-screen size. -
get_ui_treeDump an indexed accessibility tree as text (no screenshot) for a window or the whole desktop. -
hold_keyHold a set of keys down for a duration, then release.
06-09 00:00 07-23 00:00 now
| version | date | src |
|---|---|---|
| v0.1.0 | 2026-06-11 | github |
No related servers found.