MCP Catalogs
首页

kwin-mcp

by isac322·23·综合分 43

专为 KDE Plasma 6 Wayland 桌面自动化设计的 MCP 服务器,提供 30 个工具支持虚拟会话和实时桌面交互。

developer-toolsai-llmproductivity
6
Forks
15
活跃 Issue
本月
最近提交
2 天前
收录于

概述

kwin-mcp 是一个全面的模型上下文协议(MCP)服务器,使 AI 代理能够与运行在 KDE Plasma 6 Wayland 上的 Linux 桌面应用程序交互。它既支持不影响用户桌面的隔离虚拟会话,也支持实时会话连接以实现协作工作流。该服务器提供 30 个 MCP 工具,涵盖鼠标、键盘、触摸、剪贴板、无障碍树检查、截图捕获和窗口管理,非常适合进行端到端 GUI 测试和桌面自动化。

试试问 AI

装完之后,这里有 5 个你可以让 AI 做的事:

:在无头隔离会话中自动测试 KDE/Qt/GTK 应用程序
:AI 驱动的桌面自动化,让代理自主操作 GUI 应用程序
:实时桌面协作,AI 代理可以观察并与用户的真实桌面交互
:kwin-mcp 支持哪些桌面环境?
:kwin-mcp 如何处理输入而不触发系统授权提示?

什么时候选它

当您需要在 Wayland 上的 KDE Plasma 6 应用程序中进行自动化测试,并需要完整输入能力以及隔离测试和实时桌面模式时,选择 kwin-mcp。

什么时候不要选它

如果您需要自动化非 KDE 桌面环境或 X11 系统中的应用程序,避免使用 kwin-mcp,因为它仅支持 Wayland 上的 KDE Plasma 6。

此 server 暴露的工具

从 README 抽取出 12 个工具
  • session_startapp_command? str, screen_width? int (1920), screen_height? int (1080), enable_clipboard? bool (false), keep_screenshots? bool (false), isolate_home? bool (false), keep_home? bool (false), env? dict

    Start an isolated KWin Wayland session, optionally launching an app

  • session_connectdbus_address? str, wayland_display? str, keep_screenshots? bool (false)

    Connect to an existing KWin session (real desktop or container)

  • screenshotinclude_cursor? bool (false)

    Capture a screenshot of the virtual display (saved as PNG)

  • accessibility_treeapp_name? str, max_depth? int (15), role? str

    Get the AT-SPI2 widget tree with roles, names, states, and coordinates

  • find_ui_elementsquery str, app_name? str, states? list[str]

    Search for UI elements by name, role, or description with optional state filtering

  • mouse_clickx int, y int, button? str ('left'), double? bool, triple? bool, modifiers? list[str], hold_ms? int (0), screenshot_after_ms? list[int]

    Click at coordinates with various options for button, modifiers, and click behavior

  • keyboard_typetext str, screenshot_after_ms? list[int]

    Type a string of text character by character (US QWERTY layout)

  • launch_appcommand str, env? dict

    Launch an application inside the running session

  • list_windows

    List all accessible application windows with titles and focused state

  • wait_for_elementquery str, app_name? str, timeout_ms? int (5000), poll_interval_ms? int (200), expected_states? list[str]

    Poll the accessibility tree until an element matching query and/or states appears

  • mouse_dragfrom_x int, from_y int, to_x int, to_y int, button? str ('left'), modifiers? list[str], waypoints? list[[x,y,dwell_ms]], screenshot_after_ms? list[int]

    Drag from one point to another with smooth interpolation and optional waypoints

  • focus_windowapp_name str

    Focus a window by application name

可对比工具

xdotooluiautomationrobotframeworkplaywright

安装

安装

**使用 uv(推荐):**

uv tool install kwin-mcp

**使用 pip:**

pip install kwin-mcp

**Claude Desktop 配置:** 将其添加到您的 claude_desktop_config.json 文件中:

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

FAQ

kwin-mcp 支持哪些桌面环境?
kwin-mcp 专为 KDE Plasma 6 上的 Wayland 设计。它可以与任何在 KDE Plasma 上运行的 Wayland 应用程序协同工作,包括 Qt、GTK 和 Electron 应用。
kwin-mcp 如何处理输入而不触发系统授权提示?
kwin-mcp 直接使用 KWin 的私有 EIS(模拟输入服务器)D-Bus 接口,绕过了 XDG RemoteDesktop 门户,这消除了用户确认对话框的需要。

Hacker News 讨论

开发者社区最近的相关讨论。

kwin-mcp 对比

GitHub →

最后更新于 · 由 README + GitHub 公开数据自动生成。