远程MacOS控制服务器

MCP Server是一个开源工具,允许AI完全控制远程macOS系统,无需额外软件安装,适用于自动化任务和远程操作。

  • by baryhuang
  • Python
  • 本地部署
  • 382 星标
  • 更新于
在 GitHub 查看 baryhuang/mcp-remote-macos-use

使用说明

MCP服务器-远程MacOs使用

第一个开源MCP服务器,使AI能够完全控制远程macOS系统。

OpenAI Operator的直接替代品,专门针对具有完整桌面功能的自主AI代理进行了优化,不需要额外的软件安装。

陈列柜

  • 研究推特和发布推特(https://www.youtube.com/watch?v=--QHz2jcvcs)

  • 使用CapCut创建简短的精彩视频(https://www.youtube.com/watch?v=RKAqiNoU8ec)

  • AI Recruiter:使用Mail App自动收集候选人信息、资格申请和发送筛选会话

  • AI营销实习生:LinkedIn参与度——自动关注、点赞和评论相关用户

  • 人工智能营销实习生:推特参与度——自动关注、点赞和评论相关用户

待办事项列表(按优先级排列)

  1. 性能优化 -匹配Ubuntu桌面替代品的速度
  2. 苹果脚本生成 -减少执行时间,同时保持灵活性
  3. VNC光标可见性 -改善调试和演示体验

我们欢迎捐款!

特性

  • 无额外API成本:使用您现有的Claude Pro计划免费进行屏幕处理
  • 最小设置:只需在目标Mac上启用屏幕共享,无需额外软件
  • 通用兼容性:适用于当前和未来的所有macOS版本

我们为什么建造这个

毫不妥协的原生macOS体验

macOS原生生态系统在当今的用户体验方面仍然无与伦比,并将在未来几年继续成为黄金标准。这是人类能力真正蓬勃发展的地方,现在你的人工智能可以在这种环境中流畅地运行。

开放式架构设计

  • 通用LLM兼容性:与您选择的任何MCP客户合作
  • 模型灵活性:与OpenAI、Anthropic或任何其他LLM提供商无缝集成
  • 面向未来的集成:旨在与MCP生态系统一起发展

轻松部署

  • 目标机器上的零设置:macOS上不需要后台应用程序或代理
  • 屏幕共享是您所需要的一切:控制任何启用了屏幕共享的Mac
  • 消除后端复杂性:与其他需要运行Python应用程序或后台服务的解决方案不同

简化Bootstrap流程

  • 利用Claude Desktop的抛光用户界面:不需要开发人员风格的Python接口
  • 直观的用户体验:通过熟悉、用户友好的界面与您的AI控制的Mac进行交互
  • 即时生产力:立即开始工作,无需配置麻烦

建筑

安装

{
  "mcpServers": {
    "remote-macos-use": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "-e",
        "MACOS_USERNAME=your_macos_username",
        "-e",
        "MACOS_PASSWORD=your_macos_password",
        "-e",
        "MACOS_HOST=your_macos_hostname_or_ip",
        "-e",
        "LIVEKIT_API_KEY=your_livekit_api_key",
        "-e",
        "LIVEKIT_API_SECRET=your_livekit_api_secret",
        "-e",
        "LIVEKIT_HOST=your_livekit_host",
        "--rm",
        "buryhuang/mcp-remote-macos-use:latest"
      ]
    }
  }
}

通过LiveKit支持WebRTC

此服务器现在通过LiveKit集成提供WebRTC支持,支持:

  • 低延迟实时屏幕共享
  • 性能和响应能力得到提高
  • 与传统VNC相比,网络效率更高
  • 基于网络条件的自动质量自适应

要使用WebRTC功能,您需要:

  1. 设置LiveKit服务器或使用LiveKit Cloud
  2. 如上述配置示例所示,配置LiveKit环境变量

开发人员说明

克隆仓库

# Clone the repository
git clone https://github.com/yourusername/mcp-remote-macos-use.git
cd mcp-remote-macos-use

构建Docker镜像

# Build the Docker image
docker build -t mcp-remote-macos-use .

跨平台发布

要为多个平台发布Docker镜像,您可以使用 docker buildx 命令。请按照以下步骤操作:

  1. 创建新的构建器实例 (如果你还没有):

    docker buildx create --use
    
  2. 为多个平台构建和推广形象:

    docker buildx build --platform linux/amd64,linux/arm64 -t buryhuang/mcp-remote-macos-use:latest --push .
    
  3. 验证映像是否可用于指定的平台:

    docker buildx imagetools inspect buryhuang/mcp-remote-macos-use:latest
    

用法

服务器通过MCP工具提供远程MacOs功能。

工具规格

服务器提供以下用于远程macOS控制的工具:

remote_macos_get_screen

连接到远程macOS机器并获取远程桌面的屏幕截图。

remote_macos_send_keys

将键盘输入发送到远程macOS机器。

远程_家庭_移动

将鼠标光标移动到远程macOS计算机上的指定坐标,并自动缩放坐标。

remote_macos_mouse_click

在远程macOS机器上的指定坐标处执行鼠标单击,并自动缩放坐标。

远程_家庭_双点击

在远程macOS计算机上的指定坐标处执行鼠标双击,并自动缩放坐标。

远程_操作_家庭_滚动

在远程macOS机器上的指定坐标处执行鼠标滚动,并自动缩放坐标。

远程操作打开应用程序

打开/激活应用程序并返回其PID以进行进一步交互。

远程_操作_家庭_拖动_拖放

在远程macOS机器上执行从起点到终点的鼠标拖动操作,并自动缩放坐标。

所有工具都使用在设置过程中配置的环境变量,而不需要连接参数。

局限性

  • 身份验证支持:
    • 仅支持Apple身份验证(协议30)

安全说明

https://support.apple.com/guide/remote-desktop/encrypt-network-data-apdfe8e386b/mac https://cafbit.com/post/apple_remote_desktop_quirks/

我们只支持协议30,它使用具有512位素数的Diffie-Hellman密钥协商协议。macOS 11至macOS 12在与OS X 10.11或更早版本的客户端通信时使用此协议。

以下是转换为markdown表的信息:

运行远程桌面的macOS版本 macOS客户端版本 身份验证 控制和观察 复制项目或安装包 所有其他任务 协议版本
macOS 13 macOS 13 2048位RSA主机密钥 2048位RSA-主机密钥 用于身份验证的2048位RSA主密钥,然后是128位AES 2048位RSA主机密钥 36
macOS 13 macOS 10.12 仅适用于本地的安全远程密码(SRP)协议。如果绑定到LDAP或macOS服务器的Diffie-Hellman(DH)版本为10.11或更早 SRP或DH,则使用128位AES SRP或者DH进行身份验证,然后使用128位AES 2048位RSA主机密钥 35
macOS 11到macOS 12 macOS 10.12到macOS 13 仅适用于本地的安全远程密码(SRP)协议,如果绑定到LDAP,则使用Diffie-Hellman SRP或DH 1024位、128位AES 2048位RSA主机密钥macOS 13到macOS 10.13 2048位RSA主机密钥macOS 10.13或更高版本 33
macOS 11到macOS 12 OS X 10.11或更早版本 DH 1024位 DH 1024位,128位AES 带512位素数的Diffie-Hellman密钥协商协议 带512比特素数的Diffie Hellman密钥协商协议 30

访问远程MacO机器时,始终使用安全、经过身份验证的连接。此工具只能用于您信任并有权访问的服务器。

MacOs代理客户端

一个轻量级的代理,连接到LiveKit房间进行远程macOS控制。采用我们专有的“keep_eyes_open”系统,通过保持持续的环境感知而无需轮询开销,显著提高了响应能力和性能。这允许通过高效的双向数据通道进行近乎实时的命令执行和反馈。

许可证

麻省理工学院