Agents use real GNOME/Wayland apps: on your screen, or an invisible second desktop you never see
Connect Runs on your machine
claude mcp add deskwright -e DESKWRIGHT_SESSION=<DESKWRIGHT_SESSION> -e DESKWRIGHT_INPUT_BACKEND=<DESKWRIGHT_INPUT_BACKEND> -- uvx deskwright==0.1.1
{
"mcpServers": {
"deskwright": {
"command": "uvx",
"args": [
"deskwright==0.1.1"
],
"env": {
"DESKWRIGHT_SESSION": "<DESKWRIGHT_SESSION>",
"DESKWRIGHT_INPUT_BACKEND": "<DESKWRIGHT_INPUT_BACKEND>"
}
}
}
}
{
"mcpServers": {
"deskwright": {
"command": "uvx",
"args": [
"deskwright==0.1.1"
],
"env": {
"DESKWRIGHT_SESSION": "<DESKWRIGHT_SESSION>",
"DESKWRIGHT_INPUT_BACKEND": "<DESKWRIGHT_INPUT_BACKEND>"
}
}
}
}
{
"servers": {
"deskwright": {
"type": "stdio",
"command": "uvx",
"args": [
"deskwright==0.1.1"
],
"env": {
"DESKWRIGHT_SESSION": "<DESKWRIGHT_SESSION>",
"DESKWRIGHT_INPUT_BACKEND": "<DESKWRIGHT_INPUT_BACKEND>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
DESKWRIGHT_SESSIONOptional | 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_BACKENDOptional | 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. |
Details
| Package | [email protected] (PYPI, stdio) |
| First published | 1 Sep 2026 |
| Last updated | 1 Sep 2026 |
| Registry name | io.github.tristanmuzzu/deskwright |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
