Kwin MCP
UnclaimedMCP server for Linux desktop GUI automation on KDE Plasma 6 Wayland -- 30 tools for virtual and live sessions
Set up this server
01 / Choose your client
02 / Before you connect
Authentication is not specified. Check the project instructions before connecting.
Project instructions03 / Add the configuration
claude mcp add --transport stdio 'kwin-mcp' -- 'uvx' 'kwin-mcp'04 / Check it in your client
Open your client’s MCP settings and confirm the server connects and lists its tools. A copied configuration does not confirm a working connection.
More in Automation
Browse the full directoryUnclaimed listing
Is this your MCP server?
This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.
Claim this serverSecurity profile
Claimed and verified servers get a weekly static scan that shows what the code can reach: external services, environment variables, shell commands, agent configuration folders, plus any dependencies with known advisories. Claim this listing to get one. How the security profile works
30 of 30 tools
Documented tools (30)
From project documentation. A server handshake does not verify each tool’s description or behavior.
accessibility_tree
appname? str, maxdepth? int (15), role? str
clipboard_get
(none)
clipboard_set
text str
dbus_call
service str, path str, interface str, method str, args? list[str]
find_ui_elements
query str, appname? str, states? list[str]
focus_window
appname str
keyboard_key
key str, screenshotafterms? list[int]
keyboard_key_down
key str
keyboard_key_up
key str
keyboard_type
text str, screenshotafterms? list[int]
keyboard_type_unicode
text str, screenshotafterms? list[int]
launch_app
command str, env? dict
list_windows
(none)
mouse_button_down
x int, y int, button? str ("left")
mouse_button_up
x int, y int, button? str ("left")
mouse_click
x int, y int, button? str ("left"), double? bool, triple? bool, modifiers? list[str], holdms? int (0), screenshotafterms? list[int]
mouse_drag
fromx int, fromy int, tox int, toy int, button? str ("left"), modifiers? list[str], waypoints? list[[x,y,dwellms]], screenshotafterms? list[int]
mouse_move
x int, y int, screenshotafterms? list[int]
mouse_scroll
x int, y int, delta int, horizontal? bool, discrete? bool, steps? int (1)
read_app_log
pid int, lastnlines? int (50)
screenshot
includecursor? bool (false)
session_connect
dbusaddress? str, waylanddisplay? str, keepscreenshots? bool (false)
session_start
appcommand? str, screenwidth? int (1920), screenheight? int (1080), enableclipboard? bool (false), keepscreenshots? bool (false), isolatehome? bool (false), keephome? bool (false), env? dict
session_stop
(none)
touch_multi_swipe
fromx int, fromy int, tox int, toy int, fingers? int (3), durationms? int (300), screenshotafterms? list[int]
touch_pinch
centerx int, centery int, startdistance int, enddistance int, durationms? int (500), screenshotafterms? list[int]
touch_swipe
fromx int, fromy int, tox int, toy int, durationms? int (300), screenshotafterms? list[int]
touch_tap
x int, y int, holdms? int (0), screenshotafterms? list[int]
wait_for_element
query str, appname? str, timeoutms? int (5000), pollintervalms? int (200), expectedstates? list[str]
wayland_info
filterprotocol? str
Tool change history
FAQ
Questions about Kwin MCP Server
- How do I connect Kwin MCP Server to Claude?
- Run `claude mcp add kwin-mcp -- uvx kwin-mcp` in Claude Code, or add the same command and arguments under mcpServers in Cursor's mcp.json or Claude Desktop's claude_desktop_config.json, then restart the client. The blocks above are ready to paste.
- Is Kwin MCP Server free?
- The listed licence is MIT. Check the upstream terms for permitted use and commercial requirements; a public repository does not by itself mean the software is free or open source. Connected APIs and hosted services may have separate charges.
- What can Kwin MCP Server do?
- Kwin MCP Server documents 30 tools to the agent, including accessibility_tree, clipboard_get, clipboard_set. The descriptions above come from project documentation. A live handshake does not test individual tool behavior.