使用说明
mcp-vnc
一种MCP(模型上下文协议)服务器,将VNC客户端操作作为工具公开。允许AI助手通过VNC连接、查看和控制远程桌面。
安装
从以下网址下载适用于您平台的最新二进制文件 发布:
| 平台 | 二进制 |
|---|---|
| Linux x64 | mcp-vnc-linux-x64 |
| macOS arm64 | mcp-vnc-macos-arm64 |
| Windows x64 | mcp-vnc-windows-x64.exe |
在macOS上,使用前需要删除隔离属性:
xattr -cr /path/to/mcp-vnc-macos-arm64
{
"mcpServers": {
"vnc": {
"command": "/path/to/mcp-vnc-linux-x64"
}
}
}
码头工人
docker pull ghcr.io/signal-slot/mcp-vnc
{
"mcpServers": {
"vnc": {
"command": "docker",
"args": ["run", "--rm", "-i", "--network=host", "ghcr.io/signal-slot/mcp-vnc"]
}
}
}
从源代码构建
依赖项
构建
git submodule update --init
cmake -B build -DCMAKE_BUILD_TYPE=Release -G Ninja
cmake --build build
用法
{
"mcpServers": {
"vnc": {
"command": "/path/to/build/mcp-vnc/mcp-vnc"
}
}
}
码头工人
docker build -t mcp-vnc .
docker run --rm -i --network=host mcp-vnc
工具
| 工具 | 说明 |
|---|---|
connect |
连接到VNC服务器(主机、端口、密码) |
disconnect |
断开与VNC服务器的连接 |
screenshot |
捕获屏幕(全屏或区域) |
save |
将屏幕截图保存到文件 |
status |
获取连接状态 |
mouseMove |
移动鼠标光标 |
mouseClick |
单击鼠标按钮(左/中/右) |
doubleClick |
双击某个位置 |
mousePress |
按下鼠标按钮而不松开 |
mouseRelease |
松开鼠标按钮 |
longPress |
按住鼠标按钮一段时间 |
dragAndDrop |
从当前位置拖动到目标 |
sendKey |
发送X11 keysym键事件 |
sendText |
键入文本字符串 |
setPreview |
显示/隐藏实时VNC预览窗口 |
setPreviewTitle |
设置预览窗口的标题 |
setInteractive |
启用/禁用将输入从预览窗口转发到VNC服务器 |
setStaysOnTop |
切换预览窗口是否位于其他窗口的顶部 |
checkPixelColor |
检查像素是否与预期颜色匹配 |
waitForColor |
轮询像素,直到它与颜色匹配(超时) |
setClipboard |
将文本发送到远程剪贴板 |
getClipboard |
从远程剪贴板接收文本 |
setClipboardImage |
将图像发送到远程剪贴板(扩展剪贴板DIB) |
getClipboardImage |
从远程剪贴板(扩展剪贴板DIB)接收图像 |
startRecording |
开始将VNC屏幕录制为MP4文件 |
stopRecording |
停止当前屏幕录制 |
setMacroDir |
设置保存和加载宏的目录 |
createMacro |
使用给定名称创建一个新的空宏 |
addMacroStep |
向现有宏添加步骤 |
playMacro |
按顺序执行所有步骤播放已保存的宏 |
listMacros |
列出宏目录中所有已保存的宏 |
getMacro |
获取宏的完整JSON内容 |
deleteMacro |
删除已保存的宏文件 |
许可证
仅限LGPL-3.0或仅限GPL-2.0或仅限GPR-3.0
