Oswright MCP server
Windows desktop automation that re-reads only what changed: 7x fewer tokens per task.
3 stars155 downloads/wk
Reviews
Write oneNobody has reviewed Oswright yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Oswright tools (43)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
atlas_statsReport what the screen atlas has remembered and how often it helped.
click_elementFind on-screen text via the resolution cascade and click it.
click_textFind text on screen using OCR and click on it. Auto-retries until found or timeout. Returns action result and a screenshot of current screen state.
click_ui_elementClick a UI element using the accessibility tree (Windows only). More reliable than OCR — finds elements deterministically by their role and name.
close_windowClose a window by its title (substring match). Sends WM_CLOSE. This may discard unsaved work in the target application. Returns action result and a screenshot.
double_click_textFind text on screen using OCR and double-click on it. Returns action result and a screenshot of current screen state.
fill_fieldFind a text label on screen, click it, clear the field, and type a value. Useful for filling form fields by their label text. Returns action result and a screenshot of current screen state.
fill_formFill multiple form fields in one call. Each field is identified by its label text and filled with the given value. Reduces round-trips for forms. Returns action result and a screenshot of current screen state.
fill_ui_elementSet the value of a UI element (e.g., type text into a text box) using the accessibility tree (Windows only). More reliable than OCR-based fill.
find_elementFind on-screen text using the cheapest method that can answer.
find_image_on_screenFind all occurrences of a template image on screen. Coordinates are absolute screen coordinates, ready to pass to mouse_click.
find_text_on_screenFind all occurrences of text on screen using OCR. Returns a list of matches with coordinates and confidence. Coordinates are absolute screen coordinates, ready to pass straight to mouse_click.
focus_windowBring a window to the foreground by its title (substring match). Returns the focused window info and a screenshot.
get_active_windowGet information about the currently active/focused window. Returns the window title, position, size, and process name.
get_clipboardGet the current text content of the system clipboard. Returns the clipboard text or null if empty.
get_mouse_positionGet the current mouse cursor position.
get_ocr_infoGet information about the active OCR backend and available backends. Useful for debugging OCR issues.
get_screen_infoGet screen dimensions and monitor count.
get_ui_treeGet the accessibility tree of the focused window (or a specific window). Returns all interactive UI elements with their names, types, and positions. This is deterministic and instant — much more reliable than OCR for apps with proper accessibility support (most modern Windows apps).
hover_textFind text on screen using OCR and move the mouse over it (hover). Useful for triggering tooltips, hover menus, or inspecting elements. Returns action result and a screenshot of current screen state.
launch_appLaunch an application. Optionally wait for specific text to appear on screen (indicating the app has loaded). Returns a screenshot after launch.
list_windowsList all visible windows on the desktop. Optionally filter by title substring. Returns window titles, positions, sizes, and process names.
minimize_windowMinimize a window by its title (substring match). Returns action result and a screenshot.
mouse_clickClick the mouse at coordinates or current position. Returns action result and a screenshot of current screen state.
mouse_double_clickDouble-click at coordinates or current position. Returns action result and a screenshot of current screen state.
mouse_dragDrag from one point to another. Returns action result and a screenshot of current screen state.
mouse_moveMove the mouse cursor to screen coordinates.
mouse_scrollScroll the mouse wheel. Returns action result and a screenshot of current screen state.
observeReport what changed on screen since the last observation.
perception_statsReport how much perception work has been avoided. Covers incremental scanning, remembered screens, and predicted actions.
press_keyPress a key or key combination. Returns action result and a screenshot of current screen state.
read_model_textRead on-screen text from the incremental model.
read_screen_textRead ALL visible text on the screen using OCR. Returns every detected text element with its position, in absolute screen coordinates that are ready to click.
remember_screenRemember the current screen so future visits skip reading it.
right_click_textFind text on screen using OCR and right-click on it (context menu). Returns action result and a screenshot of current screen state.
screenshotTake a screenshot of the screen or a region. Returns the image as native MCP image content. Optionally saves to a file path.
screenshot_windowTake a screenshot of a specific window (by title). Useful for capturing just one application without the rest of the desktop. Returns the image as native MCP image content.
set_clipboardSet text to the system clipboard. Useful for pasting data into applications.
type_textType text using the keyboard (character by character). Returns action result and a screenshot of current screen state.
wait_for_changeWait for the screen to visually change. Takes a baseline screenshot, then polls until the screen looks different (or timeout). Useful after triggering an action to wait for the UI to update.
wait_for_textWait for specific text to appear on screen. Polls via OCR until found or timeout.
wait_for_text_goneWait for text to disappear from screen. Polls via OCR until gone or timeout. Useful for waiting for loading spinners, progress dialogs, etc. to finish.
wait_for_timeWait for a specified amount of time, then take a screenshot. Use sparingly — prefer wait_for_text or wait_for_text_gone instead. Capped at 30 seconds maximum.
Public scan report
scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan27 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 3 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
claude mcp add oswright -- uvx oswright
Oswright: common questions
- Is Oswright MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Oswright safety report
- How do I install Oswright?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Oswright need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Oswright maintained?
- The last commit was 3 days ago (2026-09-17). The latest release is v0.8.2.
- What can I use instead of Oswright?
- Servers from other publishers that do the same job: MCP Server for Excel, devcoach MCP server and SimMirror MCP server. Compare all Oswright alternatives.
Alternatives to Oswright
Same job from other publishers: the closest match first, then the best rated.
- MCP Server for ExcelExcel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.not reviewedEstablishedA
- devcoachProgressive in-context technical coaching in your AI agent — one local, free lesson per task.not reviewedGrowingA
- SimMirrorMirror and drive the iOS Simulator: token-efficient UI snapshots, gestures and a live viewer.not reviewedGrowingA
- Smart ContextReduces AI agent token usage by 90% via context compression and task checkpoint persistence.not reviewedGrowingA
- SlackRead and write Slack with session tokens — no OAuth, no bot, no admin approval.not reviewedGrowingA