Token导航 LogoToken导航TokenDH.com
Vnc MCP Server logo
AI代理stdio官方级别未说明来源级核验

Vnc MCP Server

MCP Server

VNC MCP Server 是一个高级模型上下文协议服务器,通过VNC协议使AI代理能够查看、推理和控制计算机,将标准VNC连接转换为AI代理的高级“视觉-动作”接口。

工具数

21

提示词数

0

GitHub Stars

1

资源数

0
AI代理TypeScriptClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

volkan-m

提供方

volkan-m

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

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

命令预览

docker run -d \

详细介绍

VNC MCP服务器

一种先进的模型上下文协议(MCP)服务器,使AI代理能够通过VNC(RFB)协议查看、推理和控制计算机。该服务器将标准VNC连接转换为AI代理的高级“视觉动作”接口。

📊 系统架构

graph TD
    subgraph "AI Environment"
        A[AI Agent / Claude Desktop] -->|MCP Protocol| B[VNC MCP Server]
    end

    subgraph "Bridge Layer"
        B -->|Image Processing| C[Sharp / Tesseract.js]
        B -->|RFB Protocol| D[VNC Connection]
    end

    subgraph "Target System"
        D -->|Input Simulation| E[Windows / macOS / Linux]
        E -->|Framebuffer| D
    end

    style B fill:#f00,stroke:#333,stroke-width:4px

🌟 主要特点

👁️ 高级视觉

  • 区域截图:精确捕捉特定区域的屏幕截图以保存代币。
  • OCR(光学字符识别):使用Tesseract.js从屏幕的任何部分提取文本。
  • 视觉搜索:使用模板匹配在屏幕上查找特定的图标、按钮或图像。
  • 像素分析:获取任何像素的精确Hex/RGB颜色以进行状态验证。
  • 变化检测:等待特定区域更新后再继续。

🕹️ 类人控制

  • 精确输入:单击, 双击,以及流畅的鼠标移动。
  • 拖放:模拟坐标之间的复杂拖动操作。
  • 滚动:定向鼠标滚轮支持(上/下/左/右)。
  • 精通键盘:键入字符串并执行复杂的组合键(例如。, Ctrl+C, Cmd+Space).

⚡ 混合控制(VNC+SSH外壳)

  • 后台执行:在服务器上运行任何shell命令(bash/cmd/powershell)。
  • 🔗 通过SSH远程执行:通过集成的SSH客户端直接在VNC主机上运行命令。
  • 🛡️ 安全层:强大的过滤系统,具有特定平台的allowlists和denylists。
  • 与跨平台支持:适用于Windows、Linux和macOS。
  • 无缝集成:使用终端安装软件,然后使用VNC控制应用程序。

🧠 智力与健康

  • 操作系统检测和平台感知:基于屏幕分辨率模式的智能操作系统检测(Windows/MOSC/Linux)。
  • 连接健康状况:通过延迟测量和心跳状态进行实时连接监控。
  • 剪贴板同步:完全双向剪贴板支持。
  • 自动连接:配置服务器以通过环境变量立即连接。
  • 高级测序:在一次调用中执行多个操作,以实现更快的自动化。

🚀 入门指南

先决条件

  • Node.js v18+
  • 目标系统上正在运行的VNC服务器。
  • (可选)在目标系统上启用SSH服务以执行远程命令。

快速开始

  1. 克隆和安装:
   git clone https://github.com/volkan-m/vnc-mcp-server.git
   cd vnc-mcp-server
   npm install
   npm run build
  1. 测试环境(Docker与Chrome和SSH):

运行启用了Google Chrome、VNC和SSH的完整Linux桌面:

   docker run -d \
     -p 5901:5900 \
     -p 2222:22 \
     -v /dev/shm:/dev/shm \
     --name mcp-vnc-chrome \
     -e VNC_PASSWORD=vncpass \
     dorowu/ubuntu-desktop-lxde-vnc:latest

*连接到localhost:5901的VNC和localhost:2222的SSH(内部端口22)。*

  1. MCP客户端配置:

谷歌反重力/克劳德桌面

将此添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "vnc": {
      "command": "node",
      "args": ["/absolute/path/to/vnc-mcp-server/dist/index.js"],
      "env": {
        "VNC_HOST": "localhost",
        "VNC_PORT": "5901",
        "VNC_PASSWORD": "vncpass"
      }
    }
  }
}

🛡️ 安全配置(可选)

您可以限制AI可以执行哪些系统命令:

变量描述默认值被拒绝
LINUX_DENIED_COMMANDS被阻止的Linux命令`rm -rf,rm -f,shred,mkfs,:(){ ::& };:`
WIN_DENIED_COMMANDS被阻止的Windows命令del,format,rd,sfc,attrib
MAC_DENIED_COMMANDS被阻止的macOS命令rm -rf,rm -f
[OS]_ALLOWED_COMMANDS如果设置, 这些是允许的(默认为空)

🔗 通过SSH远程执行

服务器现在支持通过SSH在目标机器上直接执行命令。通过连接时 vnc_connect,您可以提供可选 ssh 对象:

{
  "host": "192.168.1.50",
  "ssh": {
    "user": "root",
    "password": "your-password",
    "port": 22
  }
}

如果SSH已连接, vnc_system_command 自动将所有命令路由到目标机器,而不是本地服务器。

📊 增强的状态监控

屏幕信息

vnc_get_screen_info 返回有关远程会话的详细信息:

  • 决心:当前显示尺寸
  • 操作系统提示:智能操作系统检测(基于分辨率模式的Windows/MOSC/Linux)
  • SSH状态:SSH连接是否处于活动状态

连接健康状况

vnc_get_connection_health 提供全面的连接指标:

  • VNC状态:连接/断开状态
  • 延迟:屏幕刷新操作的实时延迟测量
  • 决心:当前显示尺寸
  • SSH状态:SSH连接状态

🎯 高级视觉功能

带坐标叠加的屏幕截图

使用 overlay 参数在 vnc_screenshot 添加带有标记坐标(A1、B2等)的网格以便于导航:

{
  "format": "jpeg",
  "quality": 85,
  "overlay": true
}

这有助于AI代理更准确地理解和传达屏幕位置。

支持多种语言的OCR

vnc_ocr_region 该工具通过Tesseract.js支持多种语言。指定语言代码:

{
  "x": 0,
  "y": 0,
  "width": 1920,
  "height": 1080,
  "lang": "eng+deu+fra"
}

支持的语言:eng(英语)、deu(德语)、fra(法语)、spa(西班牙语)等等。

批处理操作 vnc_execute_sequence

在一次调用中执行多个输入操作,以实现更快的自动化:

{
  "actions": [
    {"type": "move", "x": 100, "y": 100},
    {"type": "click", "x": 100, "y": 100},
    {"type": "wait", "ms": 500},
    {"type": "type", "text": "Hello World"},
    {"type": "key", "key": "Enter"}
  ]
}

这种方法减少了RPC开销,并提高了复杂自动化序列的响应能力。

🧰 API参考(工具)

工具类别描述
vnc_connect设置连接到VNC(可选:包括 ssh 配置)。
vnc_disconnect安装程序断开与VNC服务器的连接。
vnc_get_screen_info状态返回分辨率、操作系统提示(Windows/MOSC/Linux)和SSH状态。
vnc_get_connection_health状态提供心跳状态、延迟测量、分辨率和SSH连接状态。
vnc_screenshot视觉使用可选的坐标叠加捕获全屏或区域的PNG/JPEG。
vnc_ocr_regionVision使用OCR从特定区域提取文本(支持多种语言)。
vnc_find_image视觉在屏幕上查找具有可配置公差的模板图像。
vnc_wait_for_change视觉阻止,直到屏幕区域在超时内更新。
vnc_get_pixel_colorVision返回特定像素的Hex/RGB颜色值。
vnc_mouse_move输入将鼠标移动到坐标。
vnc_mouse_click输入执行鼠标单击(左/中/右按钮)。
vnc_mouse_double_click输入执行快速双击。
vnc_mouse_drag输入使用按钮控件从点A拖动到点B。
vnc_mouse_scroll输入方向盘滚动(上/下/左/右)。
vnc_key_tap输入用修饰符轻击按键(例如。, C-v, M-Tab, S-Enter).
vnc_type_string输入键入字符序列。
vnc_execute_sequenceInput在一次性能调用中执行多个输入操作。
vnc_system_command系统执行shell命令(本地或通过SSH远程)。
vnc_launch_gui_app系统在远程桌面上启动GUI应用程序。
vnc_set_clipboard系统设置远程系统剪贴板文本。
vnc_get_clipboard系统检索最后已知的远程剪贴板内容。

🛡 许可证

MIT许可证。看 许可证 了解详情。

目录标签

目录标签

AI代理TypeScriptClaude本地部署VNC控制计算机视觉远程操作自动化

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

21

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP