MCPvil
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"
}
}
}
