MCP.Market

Oswright MCP server

by Ask-812·io.github.Ask-812/oswright·v0.8.2·3 stars

Windows desktop automation that re-reads only what changed: 7x fewer tokens per task.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

3 stars71 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • atlas_stats

    Report what the screen atlas has remembered and how often it helped.

  • click_element

    Find on-screen text via the resolution cascade and click it.

  • click_text

    Find 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_element

    Click a UI element using the accessibility tree (Windows only). More reliable than OCR — finds elements deterministically by their role and name.

  • close_window

    Close 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_text

    Find text on screen using OCR and double-click on it. Returns action result and a screenshot of current screen state.

  • fill_field

    Find 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_form

    Fill 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_element

    Set 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_element

    Find on-screen text using the cheapest method that can answer.

  • find_image_on_screen

    Find all occurrences of a template image on screen. Coordinates are absolute screen coordinates, ready to pass to mouse_click.

  • find_text_on_screen

    Find 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_window

    Bring a window to the foreground by its title (substring match). Returns the focused window info and a screenshot.

  • get_active_window

    Get information about the currently active/focused window. Returns the window title, position, size, and process name.

  • get_clipboard

    Get the current text content of the system clipboard. Returns the clipboard text or null if empty.

  • get_mouse_position

    Get the current mouse cursor position.

  • get_ocr_info

    Get information about the active OCR backend and available backends. Useful for debugging OCR issues.

  • get_screen_info

    Get screen dimensions and monitor count.

  • get_ui_tree

    Get 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_text

    Find 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_app

    Launch an application. Optionally wait for specific text to appear on screen (indicating the app has loaded). Returns a screenshot after launch.

  • list_windows

    List all visible windows on the desktop. Optionally filter by title substring. Returns window titles, positions, sizes, and process names.

  • minimize_window

    Minimize a window by its title (substring match). Returns action result and a screenshot.

  • mouse_click

    Click the mouse at coordinates or current position. Returns action result and a screenshot of current screen state.

  • mouse_double_click

    Double-click at coordinates or current position. Returns action result and a screenshot of current screen state.

  • mouse_drag

    Drag from one point to another. Returns action result and a screenshot of current screen state.

  • mouse_move

    Move the mouse cursor to screen coordinates.

  • mouse_scroll

    Scroll the mouse wheel. Returns action result and a screenshot of current screen state.

  • observe

    Report what changed on screen since the last observation.

  • perception_stats

    Report how much perception work has been avoided. Covers incremental scanning, remembered screens, and predicted actions.

  • press_key

    Press a key or key combination. Returns action result and a screenshot of current screen state.

  • read_model_text

    Read on-screen text from the incremental model.

  • read_screen_text

    Read 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_screen

    Remember the current screen so future visits skip reading it.

  • right_click_text

    Find text on screen using OCR and right-click on it (context menu). Returns action result and a screenshot of current screen state.

  • screenshot

    Take a screenshot of the screen or a region. Returns the image as native MCP image content. Optionally saves to a file path.

  • screenshot_window

    Take 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_clipboard

    Set text to the system clipboard. Useful for pasting data into applications.

  • type_text

    Type text using the keyboard (character by character). Returns action result and a screenshot of current screen state.

  • wait_for_change

    Wait 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_text

    Wait for specific text to appear on screen. Polls via OCR until found or timeout.

  • wait_for_text_gone

    Wait 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_time

    Wait 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.10 · 2026-10-03 · same rubric, same numbers if you re-run it

no findings
  • 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 16 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Oswright compares

Against every graded Productivity MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
92/100
higher than 90% of 1,299 Productivity servers
Tools
43
the typical Productivity server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
3
more than 65% of 854 Productivity servers
Downloads a week
71
more than 48% of 427 Productivity servers with a package

What its tools let an agent do: 41 read · 2 change

Install Oswright in Claude Code, Cursor or VS Code

claude mcp add oswright -- uvx oswright
Add to Cursor

What the publisher says

From the Oswright repository's README, as published. We do not edit it. Read it on GitHub

OSWright

Desktop automation for AI agents, without paying for a screenshot every step.

mcp-name: io.github.Ask-812/oswright

An MCP server that lets an LLM drive real desktop applications — the desktop equivalent of Playwright MCP. It keeps a model of the screen between actions and re-reads only the parts that changed, so the same work costs an order of magnitude fewer tokens.

Eight fields read off an invoice and typed into an expense form, verified by the application itself. Same task, same result, 7.4× less context than returning a screenshot after every action. Every number on screen is measured during the run — regenerate the whole thing with python benchmarks/record_demo.py.

Why this exists

Most GUI agents re-perceive the entire screen on every step: screenshot, OCR, hand the model an image, repeat. Measured on a live desktop, the median observation changes 0.012% of the screen's pixels. Re-reading everything does far more work than the change warrants, and charges ~2,800 image tokens whether anything happened or not.

OSWright asks the compositor what changed, rescans only that, and answers element lookups from the cheapest source that can. The claims below are measured on this machine and reproducible from benchmarks/ — including the ones that did not come out in its favour.

Key Features

  • Cross-platform. Windows (Win32 API), Linux (pynput/X11), macOS (pynput/Quartz).
  • Accessibility tree. Find elements deterministically by role and name via Windows UI Automation — 100% accurate, instant, no model needed.
  • Fast OCR. Windows OCR (built-in, instant) with EasyOCR fallback for Linux/macOS. Results are cached automatically.
  • Lightweight on Windows. No PyTorch download — Windows uses the built-in OCR engine, so a full install is a few MB rather than a few GB.
  • Image matching. Locates elements by template image via OpenCV.
  • Window management. List, focus, minimize, close, and screenshot specific windows.
  • Screenshot diffing. Detect when the screen changes with waitforchange.
  • Clipboard access. Read and write system clipboard for data transfer.
  • App launcher. Launch applications and wait for them to load.
  • Auto-snapshot. Every action returns a screenshot so the agent always sees current state.
  • 43 MCP tools. Screen, OCR, UIA, mouse, keyboard, windows, clipboard, and compound actions.
  • Incremental perception. Rescans only the parts of the screen that changed, and can return what changed instead of a full screenshot — ~21× fewer tokens per step.

Requirements

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

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, Cursor, VS Code or Claude Desktop 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 48 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: Easy Notion MCP server, MCP Server for Excel and Sheets MCP server.
How does Oswright compare with other Productivity MCP servers?
safety score 92/100 (higher than 90% of 1,299 Productivity servers); tools 43 (the typical Productivity server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Oswright

Same job from other publishers: the closest match first, then the best rated.

  • Easy Notion
    Markdown-first Notion MCP server. ~6-7x fewer response tokens vs official Notion MCP. 43 tools.
    B
  • MCP Server for Excel
    Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
    A
  • Sheets MCP
    Google Sheets for agent workflows in Claude Code and Claude Desktop: APIs, files, schedules, undo.
    A
  • devcoach
    Progressive in-context technical coaching in your AI agent — one local, free lesson per task.
    A
  • Sparewise
    Why is my Windows drive full? Free space within limits you set. Never deletes permanently.
    A