KWin
MCP server for Linux desktop GUI automation on KDE Plasma 6 Wayland -- 30 tools for virtual and live sessions
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
Maintainer
Works with
Installation
Manual Installation
npx kwinConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
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
Install kwin-mcp
Install the package from PyPI using uv (recommended) or pip.
uv tool install kwin-mcp
# or
pip install kwin-mcpVerify 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-registrydAdd 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"]
}
}
}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.
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.
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-sessionKWin 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.
KWin Alternatives — Similar Browser Automation Servers
Looking for alternatives to KWin? Here are other popular browser automation servers you can use with Claude, Cursor, and VS Code.
Chrome DevTools MCP
★ 40.6kAI-powered Chrome automation server with natural language element detection. Control Chrome browser through MCP protocol for testing, debugging, and performance analysis. Features 91% accuracy in element location, works with free AI models, and suppo
UI TARS Desktop
★ 34.9k📇 🏠 - Browser automation capabilities using Puppeteer, both support local and remote browser connection.
Playwright
★ 32.8kA production-ready browser automation server that enables AI assistants to interact with web pages using tools for navigation, element interaction, and data extraction. It features a built-in Inspector UI and robust crash recovery for reliable automa
Page Agent
★ 18.0kJavaScript in-page GUI agent. Control web interfaces with natural language.
Chrome
★ 11.7kAn extension-based MCP server that enables AI assistants to control your browser, leveraging existing sessions and login states for automation and content analysis. It provides over 20 tools for semantic tab search, interactive element manipulation,
LAMDA
★ 7.8kThe most powerful Android RPA agent framework, next generation mobile automation.
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.
Set Up KWin in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
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.