mcpField
M
MCP Server - Remote MacOs Use

MCP Server - Remote MacOs Use

本地服务
github.com/baryhuangAI 与智能体49078 周前更新

关于 MCP Server - Remote MacOs Use

这是一个开源的 MCP 服务,让 AI 可以通过 Claude Desktop 远程控制 macOS 系统。它面向需要操作远程 Mac 桌面的用户,主要依靠屏幕共享完成连接,目标机器无需安装额外软件。

主要功能

  1. 01远程获取屏幕截图
  2. 02键盘输入与鼠标点击、双击、滚动、拖放
  3. 03按坐标自动缩放操作位置
  4. 04打开或激活应用并返回 PID
  5. 05通过环境变量配置连接信息

适用场景

  1. 01在远程 Mac 上执行桌面自动化任务
  2. 02调研网页内容或进行社交媒体操作
  3. 03在 Mail 等应用中处理重复性流程

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露获取屏幕、键盘、鼠标和应用控制等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"remote-macos-use": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 服务 - 远程 MacOs 操作

首个可让 AI 全面控制远程 macOS 系统的开源 MCP 服务。

OpenAI Operator 的直接替代方案,专为具备完整桌面操作能力的自主 AI Agent 优化,无需安装任何额外软件。

Docker Pulls License: MIT

演示

  • 调研 Twitter 并发布 Twitter 帖子(https://www.youtube.com/watch?v=--QHz2jcvcs)

    图片
  • 使用 CapCut 制作精彩片段短视频(https://www.youtube.com/watch?v=RKAqiNoU8ec)

    图片
  • AI 招聘专员:使用邮件应用自动收集候选人信息、筛选申请并发送面试安排

  • AI 市场营销实习生:LinkedIn 互动——自动关注相关用户、点赞并评论

  • AI 市场营销实习生:Twitter 互动——自动关注相关用户、点赞并评论

待办事项(按优先级排序)

  1. 性能优化 - 达到 Ubuntu 桌面替代方案的速度
  2. Apple 脚本生成 - 在保持灵活性的同时缩短执行时间
  3. VNC 光标可见性 - 改善调试和演示体验

欢迎贡献!

功能

  • 无需额外 API 费用:使用现有 Claude Pro 计划免费处理屏幕内容
  • 极简设置:只需在目标 Mac 上启用屏幕共享,无需安装额外软件
  • 普遍兼容:适用于所有当前和未来的 macOS 版本

开发初衷

不妥协的原生 macOS 体验

macOS 原生生态系统如今在用户体验方面依然无可匹敌,未来多年也将继续作为黄金标准。这里正是人类能力得以充分发挥的环境;现在,你的 AI 也能同样流畅地在其中运行。

为开放架构而设计
  • 兼容各种大模型:可与任意 MCP 客户端配合使用
  • 模型灵活性:无缝集成 OpenAI、Anthropic 或其他任何大模型提供商
  • 面向未来的集成:旨在随 MCP 生态系统不断发展
轻松部署
  • 目标机器无需任何设置:macOS 上无需运行后台应用或 Agent
  • 只需启用屏幕共享:即可控制任何已启用屏幕共享的 Mac
  • 消除后端复杂性:不同于其他需要运行 Python 应用或后台服务的解决方案
精简的启动流程
  • 利用 Claude Desktop 精致的 UI:无需使用面向开发者的 Python 界面
  • 直观的用户体验:通过熟悉、易用的界面与 AI 控制的 Mac 交互
  • 立即提升效率:无需繁琐配置即可立即开始工作

架构

remote_macos_use_system_architecture

安装

{
  "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",
        "--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 设备发送键盘输入。使用环境变量获取连接详情。

remote_macos_mouse_move

将鼠标光标移动到远程 macOS 设备上的指定坐标,并自动缩放坐标。使用环境变量获取连接详情。

remote_macos_mouse_click

在远程 macOS 设备上的指定坐标处单击鼠标,并自动缩放坐标。使用环境变量获取连接详情。

remote_macos_mouse_double_click

在远程 macOS 设备上的指定坐标处双击鼠标,并自动缩放坐标。使用环境变量获取连接详情。

remote_macos_mouse_scroll

在远程 macOS 设备上的指定坐标处滚动鼠标滚轮,并自动缩放坐标。使用环境变量获取连接详情。

remote_macos_open_application

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

remote_macos_mouse_drag_n_drop

在远程 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 表格的信息:

运行 Remote Desktop 的 macOS 版本macOS 客户端版本身份验证控制和观察拷贝项目或安装软件包所有其他任务协议版本
macOS 13macOS 132048 位 RSA 主机密钥2048 位 RSA 主机密钥使用 2048 位 RSA 主机密钥进行身份验证,然后使用 128 位 AES2048 位 RSA 主机密钥36
macOS 13macOS 10.12仅限本地使用安全远程密码(SRP)协议。如果绑定到 LDAP,或 macOS 服务器版本为 10.11 或更早版本,则使用 Diffie-Hellman(DH)SRP 或 DH,128 位 AES使用 SRP 或 DH 进行身份验证,然后使用 128 位 AES2048 位 RSA 主机密钥35
macOS 11 至 macOS 12macOS 10.12 至 macOS 13仅限本地使用安全远程密码(SRP)协议;绑定到 LDAP 时使用 Diffie-HellmanSRP 或 DH 1024 位,128 位 AESmacOS 13 至 macOS 10.13 使用 2048 位 RSA 主机密钥macOS 10.13 或更高版本使用 2048 位 RSA 主机密钥33
macOS 11 至 macOS 12OS X 10.11 或更早版本DH 1024 位DH 1024 位,128 位 AES使用 512 位素数的 Diffie-Hellman 密钥协商协议使用 512 位素数的 Diffie-Hellman 密钥协商协议30

访问远程 MacOs 设备时,务必使用安全且经过身份验证的连接。此工具只能用于你信任且有权访问的服务端。

许可证

详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。