Skip to content

Releases: kurojs/wayland-mcp

Release list

v0.5.1

Choose a tag to compare

@kurojs kurojs released this 14 Sep 02:09

What changed

  • Republished so PyPI shows the modernized README: centered raw-HTML header with flat-square badges, and the docs slimmed down (CHANGELOG, CONFIG_EXAMPLES and the in-package requirements.txt removed).
  • No runtime code changed since 0.5.0.

Install

uvx wayland-mcp-kurojs

v0.5.0

Choose a tag to compare

@kurojs kurojs released this 14 Sep 01:00

Highlights

  • COSMIC support. Capability-based backend selection probes what is actually installed and what the compositor advertises, so capture and input work where the upstream toolchain cannot.
  • Unprivileged input. The XDG RemoteDesktop portal synthesizes pointer and keyboard events with no sudo, no udev rules, no setuid, no input group.
  • A describe_environment tool reports which backend was selected and why.
  • Session variables (XDG_RUNTIME_DIR, WAYLAND_DISPLAY, DBUS_SESSION_BUS_ADDRESS) are recovered automatically when MCP clients strip them.
  • Layout-independent typing through the portal backend.
  • Headless test suite plus an end-to-end input verifier (scripts/verify_input.py).

Fixes

  • Source installs were broken: an invalid multi-line urls = { in pyproject.toml failed before the build backend ran.
  • The server crashed on import on machines with default permissions.
  • execute_action called handlers without arguments, breaking chained actions.
  • Region capture never worked (grim -g "$(slurp)" was passed to a shell-less subprocess as a literal string).
  • type_text lowercased its input, making capital letters impossible.
  • A dropped import time crashed every VLM analysis call with an uncaught NameError.
  • The first characters of the API key were still written to the log; that line is removed.
  • Capture no longer rewrites GNOME animation and sound settings at import time. That behavior is opt-in via WAYLAND_MCP_QUIET_CAPTURE=1 and restores the values it finds.

Security

  • setup.sh is removed. It made every /dev/input/event* device world-writable with a persistent udev rule, set setuid on evemu-event, and added a NOPASSWD sudoers entry. Read the README warning before undoing it on an older install.

Install

uvx wayland-mcp-kurojs

Full changelog: https://github.com/kurojs/wayland-mcp/blob/main/CHANGELOG.md