KWin

v1.0.0Browser Automationstable

MCP server for Linux desktop GUI automation on KDE Plasma 6 Wayland -- 30 tools for virtual and live sessions

accessibilityai-agentsat-spi2claude-codedesktop-automation
Share:
24
Stars
0
Downloads
0
Weekly
0/5

What is KWin?

KWin is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to mcp server for linux desktop gui automation on kde plasma 6 wayland -- 30 tools for virtual and live sessions

MCP server for Linux desktop GUI automation on KDE Plasma 6 Wayland -- 30 tools for virtual and live sessions

This server falls under the Browser Automation and Developer Tools categories on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • MCP server for Linux desktop GUI automation on KDE Plasma 6

Use Cases

Automate GUI interactions on Linux KDE Plasma 6 Wayland desktops.
Run end-to-end testing and accessibility automation with 30+ tools.
isac322

Maintainer

LicenseMIT
Languagepython
Versionv1.0.0
UpdatedMay 19, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx kwin

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use KWin

kwin-mcp is a Python-based MCP server that enables AI agents to automate Linux desktop GUI applications running on KDE Plasma 6 Wayland. It launches isolated virtual KWin compositor sessions so agents can click, type, take screenshots, and inspect the AT-SPI2 accessibility tree — all without touching the user's real desktop. With 30 MCP tools covering mouse, keyboard, clipboard, touch input, window management, and screenshots, it provides a complete feedback loop for headless GUI testing and live desktop collaboration.

Prerequisites

  • KDE Plasma 6 running on Wayland (Linux only)
  • Python 3.12 or higher
  • uv package manager (recommended) or pip
  • AT-SPI2 accessibility stack installed (typically pre-installed on KDE)
  • An MCP client such as Claude Code or Cursor
1

Install kwin-mcp

Install the package from PyPI using uv (recommended) or pip.

uv tool install kwin-mcp
# or
pip install kwin-mcp
2

Verify system requirements

Confirm you are running KDE Plasma 6 on Wayland. The server requires kwin_wayland, dbus-run-session, and AT-SPI2 to be available.

echo $XDG_SESSION_TYPE   # should output 'wayland'
kwin_wayland --version
which at-spi2-registryd
3

Add to your MCP client configuration

Add the kwin-mcp server to your Claude Code project's .mcp.json or to claude_desktop_config.json for Claude Desktop.

{
  "mcpServers": {
    "kwin-mcp": {
      "command": "uvx",
      "args": ["kwin-mcp"]
    }
  }
}
4

Start a virtual KWin session

Ask your AI agent to start an isolated session. The session_start tool launches a sandboxed KWin Wayland compositor. You can optionally specify the app to open, screen dimensions, and whether to isolate the home directory.

5

Interact with GUI applications

Use the 30 available tools to automate the application. Use accessibility_tree to inspect widget structure, mouse_click / key_type for input, and screenshot to observe results. The AT-SPI2 tree provides structured widget data so the agent doesn't rely solely on vision.

6

Connect to a live desktop session (optional)

To automate your real desktop instead of a virtual one, use session_connect or start kwin-mcp with the --default-live-session flag. This is useful for collaborative 'share my screen' automation workflows.

kwin-mcp --default-live-session

KWin Examples

Client configuration

Add kwin-mcp to your Claude Code .mcp.json using uvx so no global install is needed.

{
  "mcpServers": {
    "kwin-mcp": {
      "command": "uvx",
      "args": ["kwin-mcp"]
    }
  }
}

Prompts to try

Natural language prompts that leverage kwin-mcp's 30 automation tools once the server is connected.

- "Start a KWin session, launch kcalc, and click the buttons to calculate 15 * 7."
- "Open Dolphin file manager, navigate to the Downloads folder, and take a screenshot."
- "Launch the GIMP image editor, read the accessibility tree to find the File menu, and open a new image."
- "Connect to my live desktop session and show me what windows are currently open."
- "Run an end-to-end test of my Qt application: launch it, fill in the form fields using the accessibility tree, click Submit, and verify the success dialog appears."

Troubleshooting KWin

session_start fails with 'kwin_wayland not found' or 'dbus-run-session not found'

Install the missing KDE Plasma 6 packages. On Arch Linux: sudo pacman -S kwin plasma-workspace. On Ubuntu/Debian: sudo apt install kwin-wayland dbus dbus-x11. Ensure you are on KDE Plasma 6, not Plasma 5.

Accessibility tree returns empty or minimal results

Ensure AT-SPI2 is running: systemctl --user status at-spi-dbus-bus. Some applications require launching with AT_SPI_BUS_TYPE=session set. GTK apps need GTK_MODULES=gail:atk-bridge.

Input injection (clicks, key presses) has no effect

kwin-mcp uses KWin's private EIS D-Bus interface. Make sure you are running KDE Plasma 6 (not another compositor). On live sessions, verify the correct DBUS_SESSION_BUS_ADDRESS and WAYLAND_DISPLAY are set.

Frequently Asked Questions about KWin

What is KWin?

KWin is a Model Context Protocol (MCP) server that mcp server for linux desktop gui automation on kde plasma 6 wayland -- 30 tools for virtual and live sessions It connects AI assistants to external tools and data sources through a standardized interface.

How do I install KWin?

Follow the installation instructions on the KWin GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with KWin?

KWin works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is KWin free to use?

Yes, KWin is open source and available under the MIT license. You can use it freely in both personal and commercial projects.

Browse More Browser Automation MCP Servers

Explore all browser automation servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "kwin": { "command": "npx", "args": ["-y", "kwin"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use KWin?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides