Deskwright runs on your own machine — the client starts it, so there is no endpoint to ping. 680 installs a week from pypi. Last commit 12 Sep 2026.
Agents use real GNOME/Wayland apps: on your screen, or an invisible second desktop you never see
We read the source, 9 h ago · rules 3dff92dd89df
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
cropped_in_shell = True
probe = subprocess.run(
exec(compiled, GLOBALS)
env = dict(os.environ, YDOTOOL_SOCKET=YDOTOOL_SOCKET)
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add deskwright -- uvx deskwright
{
"mcpServers": {
"deskwright": {
"args": [
"deskwright"
],
"command": "uvx"
}
}
}
[mcp_servers.deskwright]
command = "uvx"
args = ["deskwright"]
{
"mcpServers": {
"deskwright": {
"args": [
"deskwright"
],
"command": "uvx"
}
}
}
{
"mcpServers": {
"deskwright": {
"args": [
"deskwright"
],
"command": "uvx"
}
}
}
This one needs environment variables set before it will start:
DESKWRIGHT_SESSION (Which desktop to drive: 'primary' (the screen you are looking at), 'headless' for an invisible virtual-monitor session, or 'headless:<name>' to pick one of several.), DESKWRIGHT_INPUT_BACKEND (Force the input path: 'mutter' for GNOME's org.gnome.Mutter.RemoteDesktop (no consent dialog), 'portal' for org.freedesktop.portal.RemoteDesktop (one consent, then persisted). Auto-selected when unset.).
The author declared them in the registry entry; get the values from the project itself.
Lets Claude drive your REAL mouse, keyboard and screen - works in your own logged-in apps.
Agent-native MCP server for driving, inspecting, and asserting on real Electron desktop apps.
Sandboxed computer-use for AI agents: drive real browser + desktop apps in nested X11 windows
Playwright-style automation of .NET desktop apps (WPF, WinForms, WinUI) for AI agents.
GNOME Wayland desktop automation via AT-SPI discovery and Mutter input.
AI agents use your Obsidian secrets by name — values never reach their context.
Read-only MCP server: AI agents read your live MyLinedChart desktop chart context. Local, IBKR.
Agents that test your web and mobile app like real users, on every pull request.
Answers built from our own checks of this server.