mcp-winaccess
OfficialProvides Unity build automation, allowing the MCP server to trigger and manage Unity project builds via the build_project tool.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-winaccessopen notepad and type 'hello world'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-winaccess
Cross-platform desktop automation via MCP adapter (adapter/windows.py, adapter/linux.py, adapter/macos.py).
Usage Example

Related MCP server: atomic-computer-mcp
Install
pip install mcp-winaccess
uv tool install mcp-winaccessRun
uvx mcp-winaccessOr directly:
python server.pyOpenCode Config (opencode.jsonc)
{
"mcp": {
"winaccess": {
"type": "local",
"command": [
"uvx",
"mcp-winaccess"
],
"enabled": true
}
}
}Tools
Always Available
screenshot_base64(): Captures full desktop screen and returns base64-encoded JPEG (IMAGE_BASE64:...). No parameters. Call when agent needs visual screen feedback.screenshot_jpg(path: str): Captures full desktop screen and saves.jpgto the given file path (path). Returns confirmation with saved path. Call when agent needs to persist screenshot to disk.click(x, y): Left-click at absolute screen coordinates (x,ypixels).double_click(x=0, y=0): Double-click at absolute screen coordinates. If bothxandyare0, uses current mouse position.double_click_element(value, control_identifier="", x=0, y=0): Double-click a control inside a window (value= partial titlestror handleint;control_identifier= index-basedIDelement_NorAutoID/Name). Ifvalueandcontrol_identifierare provided, performs element-based double click at control center; otherwise uses coordinate mode.right_click(x=0, y=0): Right-click at absolute screen coordinates. Defaults to current position whenx=y=0.drag(x_from, y_from, x_to, y_to, duration=0.5): Drag mouse from start (x_from,y_from) to end (x_to,y_to) overdurationseconds.drag_element(value, control_identifier, x_to, y_to, duration=0.5): Drag a UI control (control_identifierfromget_all_controls) inside window (value) to target screen coordinates (x_to,y_to).move_mouse(x, y): Move cursor to absolute coordinates (x,y) without clicking.scroll(direction="down", amount=3, x=0, y=0): Scroll mouse wheeldownorupat coordinates (x,y) foramountsteps.type_text(text): Typetextat current keyboard focus.run_app(exe_path): Launch executable atexe_path.kill_app(name): Kill process by executable base name (name, without.exe) usingtaskkill /F /IM.switch_to_window(value): Restore and activate window by partial title (str) or handle (int).
Window Automation (Windows / Linux with pywinauto / pyatspi)
find_window(value?): Find visible top-level window by partial title (str) or handle (int). Returns info with title, class, handle, pid, rect.list_windows(): List visible windows.click_element(value, control_identifier): Click UI control inside window.value= partial title (str) or handle (int);control_identifier= index-basedID(element_0) orAutoID/Name.read_text(value, control_identifier): Read control text byID.manage_window(value, action="maximize", x=0, y=0): Manage window state (minimize/maximize/restore/move).value= title (str) or handle (int).wait_for_window(value, timeout?): Wait for window by partial title (str) or handle (int).get_all_controls(value): List child controls inside window (value= titlestror handleint). Returns index-based IDs (element_0,element_5),AutoID,Name,Class,Type,Text,Handle. Agents must use theIDvalue (e.g.,element_5) ascontrol_identifierfor interaction with controls.wait_for_element(value, control_identifier, timeout?): Wait for control byID.get_window_state(value): Window state info (strorint).get_text(value, control_identifier): Full text from control.set_text(value, control_identifier, value_text): Set text in edit control.type_in_element(value, control_identifier, text): Type directly into control.
Unsupported functions are hidden from MCP on each platform.
This server cannot be deployed
Maintenance
Related MCP Connectors
Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
Run multi-step tasks in a real Chrome browser: persistent environments, live view, human takeover.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables comprehensive Windows desktop automation including screen capture, OCR text extraction, mouse/keyboard control, window management, process control, and clipboard operations through 25+ tools for AI agents.46 PyPI5MIT
- FlicenseNot gradedqualityDmaintenanceEnables automation of native Windows desktop applications through screen capture, mouse/keyboard control, and waiting for UI changes, exposing them as MCP tools.1-
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to control Windows GUI by listing and focusing windows, capturing element snapshots via UIA/OCR/CDP, performing clicks/inputs/scrolls, verifying changes, waiting for screen updates, taking screenshots, and obtaining visual descriptions.2-
- FlicenseBqualityCmaintenanceEnables local Windows UI automation and screen capture, targeting windows that are difficult to automate such as games and legacy apps, with tools for window management, mouse and keyboard input, and desktop capture.8-