GNOME UI MCP Server

GNOME Wayland desktop automation via AT-SPI discovery and Mutter input.

Local serverstdio

What is the GNOME UI MCP MCP server?

GNOME UI MCP MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. GNOME Wayland desktop automation via AT-SPI discovery and Mutter input.

What you get

It exposes GNOME desktop inspection and interaction through AT-SPI for discovery and Mutter RemoteDesktop for input. In practice that means element lookup, activation, typing, screenshots, and wait helpers for the current desktop session.

Setting it up

Installation goes through your MCP client rather than a global install: point it at ghcr.io/asattelmaier/gnome-ui-mcp on a container image and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

Configuration and credentials

  • Linux host with GNOME Shell on Wayland - Live local GNOME session on the machine you want to automate - Session environment available: DBUS_SESSION_BUS_ADDRESS, XDG_RUNTIME_DIR, WAYLAND_DISPLAY, DISPLAY, XDG_SESSION_TYPE

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the gnome ui mcp mcp server does with a few real requests.

Choosing this one

This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. It is maintained by asattelmaier; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against GNOME UI MCP's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

How to install the GNOME UI MCP MCP server

{
  "mcpServers": {
    "gnome-ui": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--security-opt",
        "apparmor=unconfined",
        "--network",
        "host",
        "--user",
        "1000:1000",
        "-e",
        "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus",
        "-e",
        "XDG_RUNTIME_DIR=/run/user/1000",
        "-e",
        "WAYLAND_DISPLAY=wayland-0",
        "-e",
        "DISPLAY=:0",
        "-e",
        "XDG_SESSION_TYPE=wayland",
        "-v",
        "/run/user/1000:/run/user/1000",
        "-v",
        "/tmp/.X11-unix:/tmp/.X11-unix:ro",
        "ghcr.io/asattelmaier/gnome-ui-mcp:latest"
      ]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Linux host with GNOME Shell on Wayland - Live local GNOME session on the machine you want to automate - Session environment available: DBUS_SESSION_BUS_ADDRESS, XDG_RUNTIME_DIR, WAYLAND_DISPLAY, DISPLAY, XDG_SESSION_TYPE

Frequently asked questions

It connects GNOME UI MCP to MCP-compatible AI assistants such as Claude and Cursor. Instead of copying data back and forth by hand, the assistant works with GNOME UI MCP directly.