使用说明
项目简介
本项目是一个基于Model Context Protocol (MCP) 的服务器实现示例,它允许LLM客户端通过标准化的MCP协议,远程控制Ubuntu桌面,并执行Bash命令。此服务器主要用于为LLM应用提供计算机操作和环境交互能力,例如进行网页浏览、软件操作、文件编辑等。
主要功能点
- 远程桌面控制: 通过VNC协议控制远程Ubuntu桌面,支持鼠标移动、点击、键盘输入、截图等操作。
- Bash命令执行: 通过SSH协议在远程服务器上执行Bash命令,支持文件操作、程序运行等。
- 文件编辑工具: 提供自定义的文件编辑工具,支持查看、创建、字符串替换、行插入、撤销编辑等功能。
- 工具化接口: 所有功能均以MCP Tool的形式暴露,方便LLM客户端调用。
安装步骤
- 克隆仓库: 'git clone https://github.com/xiehust/sample-mcp-servers'
- 进入目录: 'cd sample-mcp-servers/remote_computer_use'
- 安装依赖: 'pip install -r requirements.txt'
- 配置环境变量: 复制 '.env.example' 文件为 '.env',并根据你的远程服务器配置修改 '.env' 文件中的环境变量,包括 'VNC_HOST', 'VNC_PORT', 'VNC_USERNAME', 'VNC_PASSWORD', 'SSH_PORT', 'PEM_FILE' (如果使用SSH密钥), 'DISPLAY_NUM'等。
服务器配置
MCP客户端需要配置以下JSON格式的服务器信息才能连接到此MCP服务器。请注意根据实际情况替换 'command' 和 'args' 中的路径。
{ "server_name": "remote_computer_use", "command": "python", "args": ["/path/to/sample-mcp-servers/remote_computer_use/server_claude.py"] }
- 'server_name': 服务器名称,可以自定义。
- 'command': 启动服务器的命令,这里使用 'python'。
- 'args': 启动服务器命令的参数,这里指向 'server_claude.py' 脚本的绝对路径。请将 '/path/to/sample-mcp-servers' 替换为仓库在您本地的实际路径。 如果需要运行 'server.py' (功能较少版本), 请将脚本路径替换为 '/path/to/sample-mcp-servers/remote_computer_use/server.py'。
基本使用方法
- 启动MCP服务器: 在 'remote_computer_use' 目录下,运行 'python server_claude.py' 或 'python server.py' (确保环境变量已正确配置)。
- 配置MCP客户端: 在你的LLM应用或MCP客户端中,根据上述“服务器配置”信息配置连接到此MCP服务器。
- 调用工具: 通过MCP客户端,你可以调用服务器提供的 'computer', 'bash', 'str_replace_editor' 等工具,实现远程桌面控制和命令执行。具体工具的使用方法请参考代码中的工具函数注释。
信息
分类
桌面与硬件