mcpField
C
ClawTank

ClawTank

本地服务
github.com生产力465 天前更新

关于 ClawTank

ClawTank 是一款开源的 macOS 原生 RDP 服务端,可通过标准远程桌面客户端访问和控制 Mac 桌面。它还提供 Agent API 和 MCP 服务,让 Mac 上的 AI Agent 截取屏幕并操作桌面,并支持每个 Agent 独立令牌和审计日志。

主要功能

  1. 01macOS 原生 RDP 服务端
  2. 02硬件编码 H.264 视频
  3. 03可调整大小的虚拟桌面
  4. 04支持键鼠、音频和剪贴板
  5. 05TLS、NLA 与连接审计日志
  6. 06带独立令牌的 Agent API

适用场景

  1. 01从 Windows、移动设备或 Linux 访问 Mac
  2. 02无需虚拟显示器插头使用无头 Mac
  3. 03让 AI Agent 查看并控制 Mac 桌面
  4. 04通过 Tailscale 远程连接

MCP 相关

ClawTank 内置 MCP 服务和 Agent API,供 Mac 上的 AI Agent 使用。Agent 可截取屏幕并控制桌面,同时具备独立令牌、审计日志和可见的停止按钮。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbclawtank-mcp-0.9.0-arm64.mcpb

工具

还没有获取到工具列表

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

详细介绍

ClawTank

通过 RDP 连接到你的 Mac。开源、硬件加速、无需云服务。

CI Release License: Apache-2.0 平台:macOS 14+,搭载 Apple silicon

安装 · 连接 · 常见问题 · 故障排查 · 文档 · 帮助测试 Beta 版

ClawTank 是一款适用于 macOS 的原生 RDP 服务。你可以通过任何标准远程桌面客户端连接到 Mac,获得流畅、完整的桌面体验:在 Windows、Mac、iPad 和 iPhone 上使用 Windows App,在 Android 上使用 Microsoft 的 RDP 应用,在 Windows 上使用内置的 mstsc,或在 Linux 上使用 FreeRDP。

家里有 Mac mini 或 Mac Studio? 你可以通过 MacBook、Windows PC、iPad 或 Linux 设备使用它。桌面会以 Retina 清晰度适配窗口,无需虚拟显示器插头,也无需云服务。

ClawTank 设置窗口的“通用”标签页:登录时启动、保持唤醒、交换 Ctrl 和 Command、统计信息叠加层、声音和剪贴板选项 ClawTank 内置的连接指南,展示如何通过 Windows App 从 Mac 连接

状态:0.9 Beta 版。 以下每项功能均经过自动化测试、实时测量,以及每次提交时运行的 FreeRDP 互操作测试。目前正在使用 Microsoft 客户端(Windows App、mstsc)、无头 Mac mini 和真实网络进行实际测试:欢迎帮助测试或报告问题。

功能

  • 速度快: 使用 Mac 的媒体引擎编码 H.264 视频,并通过 RDP 图形管线发送。在 Apple silicon 上,CPU 占用低于 10% 时约可达到 60 fps。
  • 适配屏幕: 桌面会实时调整大小以适配客户端窗口。Retina 虚拟显示器能呈现清晰的文字,无头 Mac 也无需虚拟 HDMI 插头。
  • 体验如同本地操作:
    • 键盘和鼠标操作,包括滚动、中键和前进/后退按钮
    • 在客户端绘制光标形状
    • 系统音频、双向剪贴板(文本、富文本、图像)
    • 复制和粘贴文件及文件夹
  • 默认安全:
    • TLS 和网络级身份验证,并使用独立密码(绝不会使用你的 macOS 密码)
    • 仅限本地网络,登录失败后锁定,并提供审计日志
  • 通过 Tailscale 从任何地方访问: 无需端口转发,也不会将任何内容暴露到互联网(指南)。
  • Agent API 和 MCP 服务: 允许 Mac 上的 AI Agent 截图并控制设备,并提供按 Agent 区分的令牌、审计日志和醒目的“停止”按钮(指南)。
  • 免费且开源: 采用 Apache-2.0 许可证,包括公司也可使用。无需账号、无遥测、无需云服务。

对比

ClawTankmacOS 屏幕共享Chrome 远程桌面
协议RDP基于 VNC(Apple 扩展)专有协议,通过 Google 提供
从 Windows 使用内置工具连接✅ mstsc / Windows App❌ 需要 VNC 客户端❌ 需要 Chrome
iPad / iPhone / Android✅ Windows App / Microsoft RDP 应用第三方 VNC 应用✅ Chrome 远程桌面应用
需要账户否否Google 账户
流量路径直连(局域网或你自己的 Tailscale)直连通过 Google 的服务器建立连接;直连失败时由 Google 中继
硬件视频编码✅ H.264高性能模式下支持(Mac 连接 Mac,Apple 芯片)—
桌面随客户端窗口调整大小✅——
不连接虚拟显示器也能使用无头 Mac✅ 虚拟显示器——
价格 / 许可证免费,Apache-2.0随 macOS 提供免费,闭源

根据各产品的公开文档整理。欢迎提供更正。“—”表示我们尚未验证。

安装

要求: macOS 14 Sonoma 或更高版本,且使用 Apple 芯片。Intel Mac:从源代码构建(未经测试)。

  1. 从 Releases 下载 ClawTank-<version>-arm64.dmg。也可以对照 SHA256SUMS 检查:

    shasum -a 256 ~/Downloads/ClawTank-*.dmg
    
  2. 打开 DMG,将 ClawTank 拖到 Applications。

  3. 首次启动(此 Beta 版本尚未经过公证):

    1. 打开 ClawTank。macOS 会提示无法验证开发者。
    2. 点击 完成,然后前往 系统设置 → 隐私与安全性。
    3. 向下滚动,找到有关 ClawTank 的提示并点击 仍要打开,然后使用密码或 Touch ID 确认。

    此操作只需执行一次。如果你更喜欢使用终端:xattr -dr com.apple.quarantine /Applications/ClawTank.app。经过公证并由 Developer ID 签名的版本会正常打开;请参阅 docs/releasing.md。

  4. ClawTank 会显示在菜单栏中(显示器图标)。设置窗口会引导你完成以下操作:

    • 屏幕录制: 让客户端能够看到你的屏幕。
    • 辅助功能: 让客户端的键盘和鼠标能够控制 Mac。
    • ClawTank 密码: 这是你在 RDP 客户端中输入的密码,不是 Mac 密码。

随后,设置窗口会显示用于连接的地址、用户名和证书指纹。你可以随时通过 菜单 → 设置指南… 重新打开该窗口。

连接

使用 ClawTank 菜单中显示的地址(Copy Address)、ClawTank 用户名(在设置过程中显示)和 ClawTank 密码。客户端和 Mac 必须连接到同一网络,或都连接到 Tailscale(见下文)。

Windows(远程桌面连接)
  1. 按 Win+R,输入 mstsc,然后按 Enter。
  2. Computer:输入 Mac 的地址。点击 Show Options,然后输入User name。
  3. 点击 Connect,然后输入 ClawTank 密码。
  4. Windows 会发出证书警告。请确认指纹与 ClawTank《Setup Guide》中的指纹一致,然后接受证书。勾选“Don't ask me again”,这样下次就不会再收到提示。
Mac(Windows App)
  1. 从 Mac App Store 安装 Windows App。
  2. 点击 + → Add PC。**PC name:**输入 Mac 的地址。**User account:**添加 ClawTank 用户名和密码。
  3. 双击这台 PC。提示:在 PC 的设置中开启 Optimize for Retina displays,让文字显示更清晰。

在 MacBook 上使用 Mac mini 或 Mac Studio 时,可以按此方式设置:桌面会按 MacBook 窗口的大小创建,因此文字与 MacBook 自带屏幕上的文字一样清晰。

iPad / iPhone / Android
  1. 从 App Store 安装 Windows App(Android 用户可从 Google Play 安装 Microsoft 的 Remote Desktop / Windows App)。
  2. 点击 + → Add PC。输入 Mac 的地址,以及 ClawTank 用户名和密码。
  3. 点击这台 PC 进行连接。
Linux(FreeRDP / Remmina)
xfreerdp3 /v:<address> /u:<username> /dynamic-resolution /gfx:avc420

或者在 Remmina 中添加 RDP 连接,并使用相同的地址和用户名。

**从家庭或办公室以外的位置连接:**在 Mac 和你的设备上安装 Tailscale,并登录同一账户。然后连接到 ClawTank → Settings → Remote Access 中显示的名称。不要在路由器上转发端口 3389。请参阅 docs/remote-access.md,其中也介绍了 Wake-on-LAN。

常见问题

运行安全吗? 连接使用 TLS 加密,并要求使用 NLA,因此在显示任何画面之前就会验证密码。默认情况下,只有本地网络和 Tailscale 地址可以连接。5 分钟内登录失败 5 次,该地址就会被封锁 5 分钟。每次尝试都会记录在 菜单 → 连接日志… 中。密码存储在你的钥匙串中;对于临时构建版本,则存储在权限为 0600 的文件中。

为什么需要“屏幕录制”和“辅助功能”权限? “屏幕录制”权限可让 ClawTank 捕获屏幕并发送画面。“辅助功能”权限可让它将客户端的键盘和鼠标操作转换为实际输入。没有“辅助功能”权限时,你可以观看,但无法控制。ClawTank 绝不会将录制内容保存到磁盘。

为什么要单独设置密码,而不是使用我的 macOS 账户密码? 这样,即使 RDP 密码泄露,也无法解锁你的 Mac、钥匙串或 sudo。请在 设置 → 安全性 中更改密码。

Mac 锁定或停留在登录窗口时,我可以连接吗? macOS 不允许应用捕获锁定的屏幕:有人在键盘前解锁 Mac 之前,客户端只能看到墙纸。在始终开机的 Mac mini 上,你可以开启自动登录(FileVault 启用时不可用),这样重启后桌面就会就绪。请权衡这项设置与他人能否实际接触 Mac。Mac 锁定时,ClawTank 菜单会显示相应状态。

我只有 Mac。为什么不使用 macOS“屏幕共享”? Mac 之间的“屏幕共享”效果很好,其“高性能”模式还会在 Apple 芯片上使用硬件视频。适合使用 ClawTank 的情况包括:

  • 希望桌面能随客户端窗口调整大小,包括在没有显示器或虚拟显示器适配器的无头 Mac 上
  • 希望所有设备都使用同一台服务:从 MacBook、Windows PC、iPad、Android 或 Linux 连接同一台 Mac mini,并使用 Microsoft 的免费客户端

我们尚未将 ClawTank 与“高性能”模式进行基准测试,因此不会声称它速度更快。

可以让多人同时使用吗?可以使用不同的 macOS 用户吗? 一次只能建立一个 RDP 会话,显示当前登录用户的桌面。macOS 的公开 API 不支持为不同的 macOS 账户建立独立会话。

为什么它不在 Mac App Store 上? ClawTank 所需的 API(输入注入、虚拟显示器)不允许沙盒化的 App Store 应用使用。

更新后,macOS 再次要求我授予权限。 未签名(临时构建)的每个版本都会获得新的代码身份,因此 macOS 会将每次更新视为新应用。请在 隐私与安全性 → 屏幕录制 / 辅助功能 中重新启用 ClawTank(如果旧条目仍在,先将其移除)。使用 Developer ID 签名的构建版本会保留其权限。

它会主动连接外部服务吗? 不会。ClawTank 不会主动建立任何网络连接。它只接受传入的 RDP 连接,以及可选的、发往 127.0.0.1 的本地 Agent API 调用。

故障排除

问题尝试方法
客户端找不到 Mac / 连接超时检查是否连接到同一网络,并使用 Copy Address 中的地址。如果 macOS 询问是否“允许 ClawTank 接受传入的网络连接?”,请选择 Allow(System Settings → Network → Firewall → Options)。检查菜单是否显示“Ready”。
“Your credentials did not work”使用 ClawTank 用户名和密码,而不是 Mac 账户。请从菜单或设置指南中复制凭据。连续失败 5 次后,等待 5 分钟。
从其他网络连接时被拒绝此功能按设计仅支持局域网。请使用 Tailscale(指南)。
每次都会出现证书警告在设置指南中检查指纹后,选择“Don't ask me again”接受一次即可。
只能看到壁纸Mac 已锁定。请在键盘上解锁。
可以看到画面但无法控制为 ClawTank 授予 Accessibility 权限(System Settings → Privacy & Security → Accessibility),然后重新连接。
黑屏授予 Screen Recording 权限,然后退出并重新打开 ClawTank。
没有声音检查 Settings → General → Play this Mac's sound on the client,并在客户端设置中开启音频。
Ctrl+C 无法复制(从 Windows 连接时)开启 Settings → General → Swap Ctrl and ⌘。
Wi-Fi 连接卡顿调低 Settings → Display & Quality 中的设置,或让 Mac 使用以太网。菜单会显示实时 fps 和往返时间。
其他问题Menu → Export Diagnostics… 会生成一个不含机密信息的 zip 文件。请将其附在 问题反馈中。

已知限制

  • 每个会话仅支持一台显示器:多显示器客户端只能获得一个可调整大小的桌面。目前不支持 AVC444(全彩 4:4:4);Retina 会话可提供清晰的文字显示。
  • 尚未进行公证,因此需要执行一次“Open Anyway”步骤。仅提供 Apple silicon 版本。
  • 暂不支持自动更新:请在 GitHub 上关注版本发布。
  • 已验证的内容请参阅 CHANGELOG.md 和 docs/testing.md。

帮助测试 Beta 版

我们正在寻找用户在真实环境中试用 0.9:Windows 和 Mac 客户端、iPad、无头 Mac mini、Wi-Fi 和 Tailscale。Beta 测试指南是一份简短的脚本,每个部分约需 5–15 分钟。请使用 Beta 测试报告表单报告每项结果,包括通过的测试。

文档

从源代码构建

要求:macOS 14+、Xcode 16+、Rust(stable,通过 rustup 安装)、brew install xcodegen swiftlint。

make build        # Rust core + ClawTank.app (app/build/Build/Products/Release/)
make dev-signing  # one-time: a local signing identity so permissions survive rebuilds
make test         # cargo test + XCTest
make lint         # clippy -D warnings, rustfmt, swiftlint
make release      # versioned DMG + SHA256SUMS + release notes in dist/

要在 Xcode 中开发,请运行 make core project,然后打开 app/ClawTank.xcodeproj。架构:docs/architecture.md。设计决策:docs/decisions.md。

贡献

欢迎贡献。有关设置和约定(包括 clean-room 规则),请参阅 CONTRIBUTING.md。请遵守行为准则。如需帮助,请参阅 SUPPORT.md。如需私下报告漏洞,请参阅 SECURITY.md。

许可证

Apache-2.0。请参阅 LICENSE 和 THIRD_PARTY_NOTICES.md。ClawTank 基于 IronRDP 构建。

评论

支持 Markdown

第一次接触 MCP?

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

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