gnome-desktop-mcp 是一款用于 GNOME 桌面自动化的开源工具,目标是把桌面操作能力提供给 AI 智能体。它支持通过 MCP(Model Context Protocol)让兼容的 AI 客户端(例如 Claude Code)执行截图、窗口管理、键盘和鼠标输入注入等操作。
用途 由于 GNOME Wayland 禁止外部进程截图或注入输入,该项目采用 GNOME Shell 扩展在合成器内部运行的方式绕过限制,并通过 D-Bus 暴露接口。Python 编写的 MCP 服务器再将 MCP 工具调用转换为 D-Bus 方法调用(借助 dasbus),从而让任何支持 MCP 的客户端都能间接操控 GNOME 桌面。
主要能力
- 提供约 30 个 MCP 工具,涵盖截图、窗口管理、输入注入、工作区控制。
- 截图:通过 Shell.Screenshot 实现静默截图,不弹出权限对话框。
- 窗口管理:借助 Meta.Window 操作窗口。
- 键盘/鼠标注入:通过 Clutter.VirtualInputDevice 发送输入事件。
- 隐私指示器:顶栏图标显示连接状态(红色表示活动,灰色表示空闲)。
- 总开关:可一键禁用全部自动化。
- 活动日志:记录最近 20 次方法调用(仅名称与时间戳,不含数据)。
使用方式
- 快速安装(开发版):安装后需注销并重新登录(Wayland 下必需),然后启用。
- MCP 服务器可仅从 PyPI 安装。
- 在 Claude Code 中使用时,可将配置添加到 ~/.claude/settings.json。
- 首次使用前会弹出确认对话框,需同意后才能启用自动化。
适用场景
- 需要让 AI 助手在 GNOME Wayland 桌面上执行截图、窗口切换、模拟键鼠操作等自动化任务的场景。
- 与 Claude Code 等兼容 MCP 的客户端配合使用。
限制与安全模型
- 仅支持 GNOME Shell 45 至 49(Wayland)。
- 采用会话总线信任模型:任何本地用户进程均可调用该 API,这与 GNOME 自身的安全模型一致。
- 通过 D-Bus 访问门控,在禁用状态下所有方法均被阻止。
- 总开关可即时禁用自动化,隐私指示器会显示当前连接/激活状态。
其他信息:项目地址为 https://github.com/sbuysse/gnome-desktop-mcp;GNOME Shell 扩展标识为 desktop-automation@gnomemcp.github.io,在会话 D-Bus 上导出 io.github.gnomemcp.DesktopAutomation;MCP 服务器包名为 gnome-desktop-mcp。关于剪贴板与通知功能,官方资料仅在概述中提及,具体工具细节暂未提供;收费、价格、平台及效果等信息暂未提供。