Ubuntu VM控制MCP服务器
一种模型上下文协议(MCP)服务器,允许AI助手使用SSH与Ubuntu VM交互。
目的
此MCP服务器为AI助手提供了一个安全的接口,以便在远程Ubuntu机器上执行基本的GUI操作。它可以执行命令,模拟键盘和鼠标输入,并捕获屏幕。
这要求目标Ubuntu VM有一个正在运行的图形桌面环境和必要的工具(xdotool, scrot)安装。
特性
execute_command:执行远程VM上的任何shell命令。type_text:模拟键入文本。click:在指定坐标处模拟鼠标点击。get_active_window_title:检索当前活动窗口的标题。take_screenshot:捕获屏幕并将图像作为base64编码字符串返回。
先决条件
- 启用MCP工具包的Docker桌面。
- 安装了桌面环境(如GNOME、XFCE)和SSH服务器的Ubuntu VM。
- Ubuntu虚拟机上安装了以下工具:
xdotool和scrot(sudo apt-get install xdotool scrot). - 配置用于访问VM的基于SSH密钥的身份验证。
安装
看 install_instructions.txt 文件以获取分步说明。
使用示例
在Claude Desktop中,您可以问:
- “在我的Ubuntu虚拟机上打开一个终端。”
- (这将使用 execute_command 命令如下 gnome-terminal)
- “在我的VM上的活动窗口中键入‘hello world’。”
- 在我的Ubuntu机器上,点击屏幕上100、150的位置
- “我的VM上当前窗口的名称是什么?”
- “显示我的Ubuntu虚拟机屏幕上的内容。”
安全考虑
- SSH密钥SSH私钥作为Docker密钥处理,并由Docker安全存储。它在运行时被挂载到容器中,并在退出时从容器的文件系统中删除。
- 命令执行:The
execute_command这个工具非常强大。请注意您要求助手运行的命令。 - 网络:确保Docker容器可以通过网络访问Ubuntu VM。
- 非root用户Docker容器以非root用户身份运行,以提高安全性。
