使用说明

项目简介

本项目是一个基于Model Context Protocol (MCP) 的服务器实现示例,它允许LLM客户端通过标准化的MCP协议,远程控制Ubuntu桌面,并执行Bash命令。此服务器主要用于为LLM应用提供计算机操作和环境交互能力,例如进行网页浏览、软件操作、文件编辑等。

主要功能点

  • 远程桌面控制: 通过VNC协议控制远程Ubuntu桌面,支持鼠标移动、点击、键盘输入、截图等操作。
  • Bash命令执行: 通过SSH协议在远程服务器上执行Bash命令,支持文件操作、程序运行等。
  • 文件编辑工具: 提供自定义的文件编辑工具,支持查看、创建、字符串替换、行插入、撤销编辑等功能。
  • 工具化接口: 所有功能均以MCP Tool的形式暴露,方便LLM客户端调用。

安装步骤

  1. 克隆仓库: 'git clone https://github.com/xiehust/sample-mcp-servers'
  2. 进入目录: 'cd sample-mcp-servers/remote_computer_use'
  3. 安装依赖: 'pip install -r requirements.txt'
  4. 配置环境变量: 复制 '.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'。

基本使用方法

  1. 启动MCP服务器: 在 'remote_computer_use' 目录下,运行 'python server_claude.py' 或 'python server.py' (确保环境变量已正确配置)。
  2. 配置MCP客户端: 在你的LLM应用或MCP客户端中,根据上述“服务器配置”信息配置连接到此MCP服务器。
  3. 调用工具: 通过MCP客户端,你可以调用服务器提供的 'computer', 'bash', 'str_replace_editor' 等工具,实现远程桌面控制和命令执行。具体工具的使用方法请参考代码中的工具函数注释。

信息

分类

桌面与硬件