Token导航 LogoToken导航TokenDH.com
Claude Kvm logo
运维云端未说明官方级别未说明来源级核验

Claude Kvm

MCP Server

Claude KVM是一款通过VNC协议控制远程桌面的MCP工具,由JS代理层和Swift VNC守护进程组成,适用于需要远程操作桌面环境的场景。

工具数

21

提示词数

0

GitHub Stars

14

资源数

0
远程控制JavaScriptClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ARAS-Workspace

提供方

ARAS-Workspace

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Claude KVM

Remote Access, Artificial Intelligence

claude-kvm.ai

Claude KVM是一个通过VNC控制远程桌面环境的MCP工具。它由一个精简的JS代理层(MCP服务器)和一个在macOS系统上运行的平台原生Swift VNC守护进程组成。

![Claude KVM Demo](https://github.com/ARAS-Workspace/claude-kvm/blob/main/test/README.md) ![Claude KVM Demo Mac](https://github.com/ARAS-Workspace/claude-kvm/blob/test/e2e/mac/test/README.md)

\[!提示\] 幻影WG 这对你来说可能是一个很好的选择。 将您的VNC服务器隔离在您自己的网络中,同时享受自托管VPN性能以及在此过程中获得的额外隐私功能。

现场试运行

\[!注意\] 测试在GitHub Actions上透明地进行——每个步骤在CI环境中都是可见的。在每次测试结束时,无论集成是通过还是失败,您都会看到代理在会话期间采取的每个步骤的屏幕截图,以及 .mp4 捕获整个会话的视频录制。通过查看这些记录和屏幕截图,您可以观察代理在每个阶段的进展情况、任务花费的时间以及根据系统提示做出的决定。在您自己的环境中为MCP服务器制定自己的系统提示或说明时,您可以使用这些示例作为参考。
\[!警告\]

建筑

graph TB
    subgraph MCP["MCP Client (Claude)"]
        AI["Claude"]
    end

    subgraph Proxy["claude-kvm · MCP Proxy (stdio)"]
        direction TB
        Server["MCP Server
index.js"]
        Tools["Tool Definitions
tools/index.js"]
        Server --> Tools
    end

    subgraph Daemon["claude-kvm-daemon · Native VNC Client (stdin/stdout)"]
        direction TB
        CMD["Command Handler
PC Dispatch"]
        Scale["Display Scaling
Scaled ↔ Native"]

        subgraph Screen["Screen"]
            Capture["Frame Capture
PNG · Crop · Diff"]
            OCR["OCR Detection
Apple Vision"]
        end

        subgraph InputGroup["Input"]
            Mouse["Mouse
Click · Drag · Move · Scroll"]
            KB["Keyboard
Tap · Combo · Type · Paste"]
        end

        VNC["VNC Bridge
LibVNCClient 0.9.15"]

        CMD --> Scale
        Scale --> Capture
        Scale --> Mouse
        Scale --> KB
        Capture -.->|"framebuffer"| VNC
        Mouse -->|"pointer events"| VNC
        KB -->|"key events"| VNC
    end

    subgraph Target["Target Machine"]
        VNC_Server["VNC Server
:5900"]
        Desktop["Desktop Environment"]
        VNC_Server --> Desktop
    end

    AI |"stdio
JSON-RPC"| Server
    Server |"stdin/stdout
PC (NDJSON)"| CMD
    VNC |"RFB Protocol
TCP :5900"| VNC_Server

    classDef proxy fill:#1a1a2e,stroke:#16213e,color:#e5e5e5
    classDef daemon fill:#0f3460,stroke:#533483,color:#e5e5e5
    classDef target fill:#1a1a2e,stroke:#e94560,color:#e5e5e5

    class Server,Tools proxy
    class CMD,Scale,VNC,Capture,Mouse,KB daemon
    class VNC_Server,Desktop target

图层

语言角色沟通
MCP代理JavaScript(Node.js)通过MCP协议与Claude通信,管理守护进程生命周期stdio JSON-RPC
VNC守护程序Swift/C(苹果Silicon)VNC连接、屏幕截图、鼠标/键盘输入注入标准输入/标准输出PC(NDJSON)

PC(过程调用)协议

代理和守护进程之间的通信使用NDJSON上的PC协议:

Request:      {"method":"","params":{...},"id":}
Response:     {"result":{...},"id":}
Error:        {"error":{"code":,"message":"..."},"id":}
Notification: {"method":"","params":{...}}

坐标缩放

VNC服务器的原生分辨率被缩小以适应 --max-dimension (默认值:1280px)。Claude更一致地使用缩放坐标——守护进程在后台处理转换:

Native:  4220 x 2568  (VNC server framebuffer)
Scaled:  1280 x 779   (what Claude sees and targets)

mouse_click(640, 400) → VNC receives (2110, 1284)

屏幕策略

Claude通过渐进式验证方法最大限度地降低了代币成本:

diff_check       →  changeDetected: true/false     ~5ms    (text only, no image)
detect_elements  →  OCR text + bounding boxes      ~50ms   (text only, no image)
cursor_crop      →  crop around cursor              ~50ms   (small image)
screenshot       →  full screen capture             ~200ms  (full image)

detect_elements 使用Apple Vision框架进行设备上OCR。返回具有缩放空间中的边界框坐标的文本内容——实现精确的点击定位,而无需消耗视觉标记。

______________________________________________________________________

安装

需求

  • macOS(苹果Silicon/aarch64)
  • Node.js(LTS)

守护进程

brew tap ARAS-Workspace/tap
brew install claude-kvm-daemon
\[!注意\] claude-kvm-daemon 通过CI(GitHub Actions)进行编译和代码签名。构建输出以两种格式打包:a .tar.gz Homebrew发行档案和 .dmg 用于公证的磁盘映像。DMG在同一工作流程中提交给苹果服务器进行公证——该过程可以从CI日志中跟踪。经公证的DMG可作为CI文物使用;存档 .tar.gz 也作为版本发布在存储库上。Homebrew安装跟踪此版本。 - 自制水龙头

MCP配置

创建一个 .mcp.json 项目目录中的文件:

{
  "mcpServers": {
    "claude-kvm": {
      "command": "npx",
      "args": ["-y", "claude-kvm"],
      "env": {
        "VNC_HOST": "192.168.1.100",
        "VNC_PORT": "5900",
        "VNC_USERNAME": "user",
        "VNC_PASSWORD": "pass",
        "CLAUDE_KVM_DAEMON_PATH": "/opt/homebrew/bin/claude-kvm-daemon",
        "CLAUDE_KVM_DAEMON_PARAMETERS": "-v"
      }
    }
  }
}
\[!注意\] 该工具通过CI进行端到端测试——Claude通过VNC执行任务,同时独立的视觉模型观察并验证结果。请参阅 集成测试 用于实时工作流运行、系统提示和演示录制。

配置

MCP代理(ENV)

参数默认值说明
VNC_HOST127.0.0.1VNC服务器地址
VNC_PORT5900VNC端口号
VNC_USERNAME用户名(ARD需要)
VNC_PASSWORD密码
CLAUDE_KVM_DAEMON_PATHclaude-kvm-daemon守护进程二进制路径(如果已在path中,则不需要)
CLAUDE_KVM_DAEMON_PARAMETERS守护程序的其他CLI参数

后台程序参数(CLI)

通过以下方式传递给守护进程的其他参数 CLAUDE_KVM_DAEMON_PARAMETERS:

"CLAUDE_KVM_DAEMON_PARAMETERS": "--max-dimension 800 -v"
参数默认值说明
--max-dimension1280最大显示缩放尺寸(px)
--connect-timeoutVNC连接超时(秒)
--bits-per-sample每像素采样位数
--no-reconnect禁用自动重新连接
-v, --verbose详细日志记录(stderr)

运行时配置(PC)

所有计时和显示参数都可以在运行时通过 configure 方法。使用 get_timing 以检查当前值。

设置定时:

{"method":"configure","params":{"click_hold_ms":80,"key_hold_ms":50}}
{"result":{"detail":"OK — changed: click_hold_ms, key_hold_ms"}}

更改显示比例:

{"method":"configure","params":{"max_dimension":960}}
{"result":{"detail":"OK — changed: max_dimension","scaledWidth":960,"scaledHeight":584}}

重置为默认值:

{"method":"configure","params":{"reset":true}}
{"result":{"detail":"OK — reset to defaults","timing":{"click_hold_ms":50,"combo_mod_ms":10,"cursor_crop_radius":150,"double_click_gap_ms":50,"drag_min_steps":10,"drag_pixels_per_step":20,"drag_position_ms":30,"drag_press_ms":50,"drag_settle_ms":30,"drag_step_ms":5,"hover_settle_ms":400,"key_hold_ms":30,"max_dimension":1280,"paste_settle_ms":30,"scroll_press_ms":10,"scroll_tick_ms":20,"type_inter_key_ms":20,"type_key_ms":20,"type_shift_ms":10},"scaledWidth":1280,"scaledHeight":779}}

获取当前值:

{"method":"get_timing"}
{"result":{"timing":{"click_hold_ms":80,"combo_mod_ms":10,"cursor_crop_radius":150,"double_click_gap_ms":50,"drag_min_steps":10,"drag_pixels_per_step":20,"drag_position_ms":30,"drag_press_ms":50,"drag_settle_ms":30,"drag_step_ms":5,"hover_settle_ms":400,"key_hold_ms":50,"max_dimension":1280,"paste_settle_ms":30,"scroll_press_ms":10,"scroll_tick_ms":20,"type_inter_key_ms":20,"type_key_ms":20,"type_shift_ms":10},"scaledWidth":1280,"scaledHeight":779}}
参数默认值说明
max_dimension1280最大屏幕截图尺寸
cursor_crop_radius150光标裁剪半径(px)
click_hold_ms50点击保持时间
double_click_gap_ms50双击间隙延迟
hover_settle_ms400悬停等待
drag_position_ms30预拖动位置等待
drag_press_ms50拖动按住阈值
drag_step_ms5插值点之间
drag_settle_ms30释放前先解决
drag_pixels_per_step20每像素点密度
drag_min_steps10最小插值步长
scroll_press_ms10滚动新闻稿间隙
scroll_tick_ms20勾间延迟
key_hold_ms30按键保持时间
combo_mod_ms10修改人解决延迟
type_key_ms20打字时按住键
type_inter_key_ms20字符间延迟
type_shift_ms10Shift键固定
paste_settle_ms30发布剪贴板写入等待

______________________________________________________________________

工具

所有操作都是通过单个 vnc_command 工具:

屏幕

操作参数描述
screenshot全屏PNG截图
cursor_crop使用十字准线覆盖裁剪光标周围
diff_check根据基线检测屏幕变化
set_baseline将当前屏幕另存为差异参考

老鼠

操作参数描述
mouse_clickx, y, button?单击(左中)
mouse_double_clickx, y双击
mouse_movex, y移动光标
hoverx, y移动+结算等待
nudgedx, dy相对光标移动
mouse_dragx, y, toX, toY从头到尾拖动
scrollx, y, direction, amount?滚动(上右)

键盘

操作参数描述
key_tapkey单键按下(输入转义制表符空格…)
key_combokeykeys修改器组合(“cmd+c”或\[“cmd”、“shift”、“3”\])
key_typetext逐个字符键入文本
pastetext通过剪贴板粘贴文本

检测

操作参数描述
detect_elements带边界框的OCR文本检测(Apple Vision)

返回缩放空间中具有边界框坐标的文本元素:

{"method":"detect_elements"}
{"result":{"detail":"13 elements","elements":[{"confidence":1,"h":9,"text":"Finder","w":32,"x":37,"y":6},{"confidence":1,"h":9,"text":"File","w":15,"x":84,"y":6},{"confidence":1,"h":9,"text":"Edit","w":19,"x":112,"y":6},{"confidence":1,"h":9,"text":"View","w":22,"x":143,"y":6},{"confidence":1,"h":11,"text":"Go","w":15,"x":179,"y":6},{"confidence":1,"h":9,"text":"Window","w":35,"x":207,"y":6},{"confidence":1,"h":11,"text":"Help","w":22,"x":255,"y":6},{"confidence":1,"h":11,"text":"8•","w":26,"x":1161,"y":6},{"confidence":1,"h":9,"text":"Fri Feb 20 22:19","w":80,"x":1189,"y":6},{"confidence":1,"h":9,"text":"Assets","w":32,"x":1202,"y":97},{"confidence":1,"h":9,"text":"Passwords.kdbx","w":74,"x":1181,"y":168},{"confidence":1,"h":93,"text":"PHANTOM","w":633,"x":322,"y":477},{"confidence":1,"h":32,"text":"YOUR SERVER, YOUR NETWORK, YOUR PRIVACY","w":629,"x":325,"y":568}],"scaledHeight":717,"scaledWidth":1280}}

配置

操作参数描述
configure`{
}`在运行时设置计时/显示参数
configure{reset: true}将所有参数重置为默认值
get_timing获取当前计时+显示参数

控制

操作参数描述
waitms?等待(默认500ms)
health连接状态+显示信息
shutdown优雅的守护进程关闭

______________________________________________________________________

认证

支持的VNC身份验证方法:

  • VNC身份验证 --基于密码的质询响应(DES)
  • 德国广播联盟 --苹果远程桌面(Diffie-Hellman+AES-128-ECB)

macOS通过ARD身份验证类型30凭据请求自动检测。检测到时,元键将重新映射到超级(命令键兼容性)。

______________________________________________________________________

](https://lobehub.com/mcp/aras-workspace-claude-kvm)

\[!注意\] 在裸机Mac上运行?请参阅 Mac M1准备技巧 用于VNC强化、SSH隧道和会话稳定性提示。

______________________________________________________________________

*“克劳德”是Anthropic,PBC的商标。本项目不隶属于Anthropic或得到Anthropics的认可。*

版权所有(c)2026 Riza Emre ARAS-MIT许可证

目录标签

目录标签

远程控制JavaScriptClaude本地部署VNC工具桌面自动化跨平台操作AI辅助

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

21

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP