About Deskwright
Deskwright is an MCP server in the Finance category: agents use real GNOME/Wayland apps: on your screen, or an invisible second desktop you never see.
Install
uvx deskwrightpip install deskwrightThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (13)
assert_statePass or fail with evidence, so a long run can decide for itself that it's finished.
Parameters not published.
desktop_healthOne line on whether this desktop is usable, then the detail.
Parameters not published.
do_stepsA known sequence in one call, validated before anything runs, with per-step retry and one picture at the end, or at the step that broke.
Parameters not published.
find_textWhere a visible string is, in screen coordinates. OCR, about 0.3s for a window, and no image in your transcript. This is the answer for Chrome, Electron and Qt, which expose almost nothing to `ui_find`.
Parameters not published.
journalThe trail of everything the agent did: arguments, outcome, whether it landed, screenshot hashes. For reviewing an unattended run, or working out where you are after a context reset.
Parameters not published.
launch_appStart an app by desktop id and wait for its window, inside one call.
Parameters not published.
pointer_pathDraw a continuous curve through a list of screen points, with one button press, bounded duration and interruption checks. Requires a target window.
Parameters not published.
region_changedWait for pixels to change. For what `wait_for` can't express, like a reply arriving or a spinner stopping.
Parameters not published.
screen_mapWhere everything is, in pixels: windows top of stack first, plus every pressable widget of the focused app with the point to click it at. Each carries a `ref: N` you pass straight to `ui_press` or `pointer_click`. No coordinates to copy, identity re-checked on use.
Parameters not published.
ui_press**The good one.** Invokes the widget's own action, so it can't miss. Wants `expect_name` or `expect_role`, which is the identity check, not ceremony.
Parameters not published.
Show all 13 tools
ui_read_textRead a widget's contents. This is how you verify something worked.
Parameters not published.
ui_set_text**The good one for typing.** Writes straight into the widget with no focus and no keyboard, then reads it back to prove the write landed.
Parameters not published.
wait_forWait for a window, a widget, some text, a focus change or the clipboard, instead of sleeping a guessed number of seconds.
Parameters not published.
Ask AI
Ask AI about Deskwright
Powered by Claude · Grounded in docs
Security checks
6 checks have not been run yet.