MCP协议Wayland合成器

MCPvil是一个通过MCP协议暴露功能的简易Wayland合成器,允许AI代理和其他MCP客户端通过stdio与合成器交互。

  • by derekjchow
  • Rust
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 derekjchow/mcpvil

使用说明

MCPvil

一个分支 小货车 从 史密赛 项目与a MCP(模型上下文协议) 服务器迅速地安装了它。

MCPvil是一个最小的Wayland合成器,它通过MCP公开其功能,允许AI代理和其他MCP客户端通过stdio与合成器交互。

MCP工具

工具 说明
launch_app 在合成器中启动应用程序
close_app 通过PID终止应用程序
save_screenshot_to_file 将屏幕截图另存为PNG文件
capture_screenshot 以base64编码的PNG格式捕获屏幕截图
mouse_move 将鼠标指针移动到坐标
mouse_click 在坐标处单击鼠标按钮
key_press 通过evdev keycode模拟按键
scroll 在给定方向上滚动坐标
open_window 打开GUI窗口进行目视检查

安装

系统依赖关系(Debian/Ubuntu)

sudo apt-get install build-essential pkg-config cmake \
  libwayland-dev wayland-protocols libinput-dev libudev-dev \
  libseat-dev libxkbcommon-dev libegl-dev libgles2-mesa-dev \
  libgbm-dev libdrm-dev libxcb1-dev libx11-xcb-dev \
  libdbus-1-dev libsystemd-dev libpixman-1-dev

通过Cargo安装

cargo install --git https://github.com/derekjchow/mcpvil

从源代码构建

git clone https://github.com/derekjchow/mcpvil.git
cd mcpvil
cargo build

用法

MCPvil使用MCP协议(换行符分隔的JSON-RPC)通过stdio进行通信。它可以与任何兼容MCP的客户端一起使用。

# Run directly (MCP server on stdio, compositor logs on stderr)
mcpvil

# With debug logging
RUST_LOG=debug mcpvil

# GUI mode (opens a window for visual inspection)
mcpvil --gui

使用MCP客户端进行设置

克劳德代码

claude mcp add mcpvil -- mcpvil

双子星命令行工具

添加 ~/.gemini/settings.json:

{
  "mcpServers": {
    "mcpvil": {
      "command": "mcpvil"
    }
  }
}

依赖项