asattelmaier avatar

GNOME UI MCP

asattelmaier/gnome-ui-mcp

Gives Claude direct access to your GNOME Wayland desktop through AT-SPI for element discovery and Mutter's RemoteDesktop API for input. You can inspect UI trees, click buttons, type text, take screenshots, and wait for elements to appear. Setup requires passing through your session's D-Bus and runtime directories, so the container runs as your user and talks to the same session buses. Ships as a Docker image with stdio transport by default, plus streamable-http and SSE options if you need HTTP-based integration. Practical for automating desktop tasks that don't have CLI alternatives or testing GUI applications from an LLM.

GitHub stars
1
tools
10
transport
STDIO
last updated
Jun 26, 2026

Tools

10 tools

Public tool metadata for what this MCP can expose to an agent.

take_snapshotCapture the active window (or pass window from list_windows, or app_name). Every element gets a stable opaque uid such as 7_42.

Capture the active window (or pass window from list_windows, or app_name). Every element gets a stable opaque uid such as 7_42.

No parameter schema in public metadata yet.

clickReference elements by uid. Actions auto-wait for the shell to settle and report effect verification.

Reference elements by uid. Actions auto-wait for the shell to settle and report effect verification.

No parameter schema in public metadata yet.

fillReference elements by uid. Actions auto-wait for the shell to settle and report effect verification.

Reference elements by uid. Actions auto-wait for the shell to settle and report effect verification.

No parameter schema in public metadata yet.

hoverReference elements by uid. Actions auto-wait for the shell to settle and report effect verification.

Reference elements by uid. Actions auto-wait for the shell to settle and report effect verification.

No parameter schema in public metadata yet.

fill_formReference elements by uid. Actions auto-wait for the shell to settle and report effect verification.

Reference elements by uid. Actions auto-wait for the shell to settle and report effect verification.

No parameter schema in public metadata yet.

select_windowSets the implicit snapshot scope.

Sets the implicit snapshot scope.

No parameter schema in public metadata yet.

list_windows

No parameter schema in public metadata yet.

find_elementsLower-level path-based tool remaining available as an advanced building block.

Lower-level path-based tool remaining available as an advanced building block.

No parameter schema in public metadata yet.

click_elementLower-level path-based tool remaining available as an advanced building block.

Lower-level path-based tool remaining available as an advanced building block.

No parameter schema in public metadata yet.

set_element_textLower-level path-based tool remaining available as an advanced building block.

Lower-level path-based tool remaining available as an advanced building block.

No parameter schema in public metadata yet.

Sponsors

Readme

gnome-ui-mcp

Small MCP server for GNOME Wayland desktop automation.

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.

For navigation it follows a snapshot-driven model: take a snapshot of the active window to get stable element uids, then click/fill/hover/fill_form those uids. Stale uids are rejected rather than silently mis-targeted, and actions auto-wait for the UI to settle. See Navigation below.

Requirements

  • 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

Docker

  • Docker Engine

The container must run on the same machine as the GNOME session and use the session environment plus runtime mounts.

Docker image

The recommended way to run the server is via the published GHCR image:

ghcr.io/asattelmaier/gnome-ui-mcp:latest

View the full README on GitHub

Details

Repository
github.com/asattelmaier/gnome-ui-mcp
Category
Automation & Workflows
Package
ghcr.io/asattelmaier/gnome-ui-mcp:0.5.0
Transport
STDIO
Registry
MCP registry, active

Related Automation & Workflows MCP servers

View all
1scope-bid avatarScope (Legal)scope-bid/scope-mcpDispatch litigation work to legal-services professionals from any MCP-compatible AI workflow.1stars
2linkly-hq avatarLinklylinkly-hq/linkly-mcp-serverCreate and manage short links, track clicks, and automate URL management1stars
3emergent-wisdom avatarUnderstanding Graphemergent-wisdom/understanding-graphPersistent understanding via workflow prompts, typed updates, graph-native code, and supersession.1stars
4geniuskey avatarMcp Server Xlwingsgeniuskey/mcp-server-xlwingsExcel automation via xlwings COM. DRM-protected files, live sessions, VBA macros. Windows only.1stars
5helbertparanhos avatarPost for Me MCP Prohelbertparanhos/postforme-mcp-proPublish, schedule and analyze social posts across 9 platforms via the Post for Me API.1stars
6polynode-co avatarAntworkpolynode-co/antworkDraft, schedule, and publish social posts for your workspace straight from your AI.1stars