关于 MCP Server - Remote MacOs Use
这是一个开源的 MCP 服务,让 AI 可以通过 Claude Desktop 远程控制 macOS 系统。它面向需要操作远程 Mac 桌面的用户,主要依靠屏幕共享完成连接,目标机器无需安装额外软件。
主要功能
- 01远程获取屏幕截图
- 02键盘输入与鼠标点击、双击、滚动、拖放
- 03按坐标自动缩放操作位置
- 04打开或激活应用并返回 PID
- 05通过环境变量配置连接信息
适用场景
- 01在远程 Mac 上执行桌面自动化任务
- 02调研网页内容或进行社交媒体操作
- 03在 Mail 等应用中处理重复性流程
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露获取屏幕、键盘、鼠标和应用控制等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 服务 - 远程 MacOs 操作
首个可让 AI 全面控制远程 macOS 系统的开源 MCP 服务。
OpenAI Operator 的直接替代方案,专为具备完整桌面操作能力的自主 AI Agent 优化,无需安装任何额外软件。
演示
-
调研 Twitter 并发布 Twitter 帖子(https://www.youtube.com/watch?v=--QHz2jcvcs)
-
使用 CapCut 制作精彩片段短视频(https://www.youtube.com/watch?v=RKAqiNoU8ec)
-
AI 招聘专员:使用邮件应用自动收集候选人信息、筛选申请并发送面试安排
-
AI 市场营销实习生:LinkedIn 互动——自动关注相关用户、点赞并评论
-
AI 市场营销实习生:Twitter 互动——自动关注相关用户、点赞并评论
待办事项(按优先级排序)
- 性能优化 - 达到 Ubuntu 桌面替代方案的速度
- Apple 脚本生成 - 在保持灵活性的同时缩短执行时间
- VNC 光标可见性 - 改善调试和演示体验
欢迎贡献!
功能
- 无需额外 API 费用:使用现有 Claude Pro 计划免费处理屏幕内容
- 极简设置:只需在目标 Mac 上启用屏幕共享,无需安装额外软件
- 普遍兼容:适用于所有当前和未来的 macOS 版本
开发初衷
不妥协的原生 macOS 体验
macOS 原生生态系统如今在用户体验方面依然无可匹敌,未来多年也将继续作为黄金标准。这里正是人类能力得以充分发挥的环境;现在,你的 AI 也能同样流畅地在其中运行。
为开放架构而设计
- 兼容各种大模型:可与任意 MCP 客户端配合使用
- 模型灵活性:无缝集成 OpenAI、Anthropic 或其他任何大模型提供商
- 面向未来的集成:旨在随 MCP 生态系统不断发展
轻松部署
- 目标机器无需任何设置:macOS 上无需运行后台应用或 Agent
- 只需启用屏幕共享:即可控制任何已启用屏幕共享的 Mac
- 消除后端复杂性:不同于其他需要运行 Python 应用或后台服务的解决方案
精简的启动流程
- 利用 Claude Desktop 精致的 UI:无需使用面向开发者的 Python 界面
- 直观的用户体验:通过熟悉、易用的界面与 AI 控制的 Mac 交互
- 立即提升效率:无需繁琐配置即可立即开始工作
架构
安装
- 在 MacOs 上启用屏幕共享 如果你从 macstadium.com 租用 Mac,可跳过此步骤
- 连接到远程 MacOs
- 为本地 Mac 安装 Docker Desktop
- 将此 MCP 服务添加到 Claude Desktop 你可以在 Claude 配置中添加以下内容,将 Claude Desktop 配置为使用 Docker 镜像:
{
"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 功能,你需要:
- 设置 LiveKit 服务,或使用 LiveKit Cloud
- 按照上方的配置示例配置 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 命令。请按以下步骤操作:
-
创建新的构建器实例(如果尚未创建):
docker buildx create --use -
为多个平台构建并推送镜像:
docker buildx build --platform linux/amd64,linux/arm64 -t buryhuang/mcp-remote-macos-use:latest --push . -
验证镜像是否适用于指定的平台:
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 13 | macOS 13 | 2048 位 RSA 主机密钥 | 2048 位 RSA 主机密钥 | 使用 2048 位 RSA 主机密钥进行身份验证,然后使用 128 位 AES | 2048 位 RSA 主机密钥 | 36 |
| macOS 13 | macOS 10.12 | 仅限本地使用安全远程密码(SRP)协议。如果绑定到 LDAP,或 macOS 服务器版本为 10.11 或更早版本,则使用 Diffie-Hellman(DH) | 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 | macOS 13 至 macOS 10.13 使用 2048 位 RSA 主机密钥 | macOS 10.13 或更高版本使用 2048 位 RSA 主机密钥 | 33 |
| macOS 11 至 macOS 12 | OS X 10.11 或更早版本 | DH 1024 位 | DH 1024 位,128 位 AES | 使用 512 位素数的 Diffie-Hellman 密钥协商协议 | 使用 512 位素数的 Diffie-Hellman 密钥协商协议 | 30 |
访问远程 MacOs 设备时,务必使用安全且经过身份验证的连接。此工具只能用于你信任且有权访问的服务端。
许可证
详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。