mcpField
O
oriel-vnc

oriel-vnc

本地服务
yordilorenzo.github.io其他0今天更新

关于 oriel-vnc

通过屏幕截图、点击和按键操作任何运行 VNC 服务的桌面(macOS、Linux、Windows)

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"yordilorenzo-oriel-vnc": {
"command": "uvx",
"args": [
"oriel-vnc"
],
"env": {
"ORIEL_VNC_HOSTS": "<ORIEL_VNC_HOSTS>"
}
}
}
}
启动命令uvx oriel-vnc
需要配置的环境变量
ORIEL_VNC_HOSTSPath to the hosts file that lists each machine's VNC address and login. Default: ~/.config/oriel-vnc/hosts.json

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

安装包
pypioriel-vnc0.1.0

工具

还没有获取到工具列表

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

README 原文English

来自项目 README

README 暂无中文译文,以下为英文原文;中文介绍见上方。

oriel-vnc

oriel-vnc is an MCP server that lets an AI assistant operate any computer that runs a VNC server, through screenshots, clicks and keys.

It is the second MCP server in oriel, for what oriel.exe can't reach: Macs, Linux machines, and screens with no accessibility tree, such as games, remote desktops and canvases. For Windows apps, use oriel.exe: it reads each window as text, so the assistant doesn't need a screenshot at every step.

oriel-vnc runs on the computer where the assistant runs and connects to each machine's VNC server. Nothing is installed on the machines themselves.

Set up

  1. Turn on a VNC server on each machine: Screen Sharing on macOS (System Settings → General → Sharing), a VNC server such as TigerVNC or x11vnc on Linux, TightVNC or similar on Windows. Allow it only from your own network or tailnet.

  2. List the machines in ~/.config/oriel-vnc/hosts.json (or the file $ORIEL_VNC_HOSTS names). See hosts.example.json:

    {
      "mac": { "address": "192.168.1.20::5900", "username": "env:MAC_VNC_USER", "password": "env:MAC_VNC_PASSWORD" },
      "linux-box": { "address": "linux-box.local::5901", "password": "cmd:op read op://Private/VNC linux-box/password" }
    }
    
    • address is host::port.
    • username (macOS logins need one) and password can be the value itself, env:NAME to read an environment variable, or cmd:... to take the output of a command such as a password manager's CLI. Prefer the last two, so the file holds no passwords.
    • encoding is zrle (the default), hextile or raw. Use raw if screenshots time out against a TigerVNC server.
    • cmd_key is the keysym that cmd in vnc_key sends (default super).
  3. Add it to your MCP client. With uv installed:

    claude mcp add --scope user oriel-vnc -- uvx oriel-vnc
    

    Other clients: the command is uvx with the argument oriel-vnc. From a checkout, uv run --script vnc/oriel_vnc.py works too.

Then ask the assistant to take a screenshot of one of your machines.

Tools

ToolWhat it does
vnc_hostsLists the configured machines, their address and last seen screen size
vnc_screenshotThe whole screen, scaled down so its long edge is at most 1456 px
vnc_zoomA region at full resolution, for small text
vnc_clickClick at x,y (left, right or middle; clicks=2 for a double-click)
vnc_moveMove the pointer, for hover menus and tooltips
vnc_dragPress, move in steps, release
vnc_scrollWheel clicks at x,y in any direction
vnc_typeType text into the focused field
vnc_keyA key or combination: enter, cmd+space, ctrl+alt+t, win+r

Every x,y is in the pixel space of the latest full screenshot of that machine; oriel-vnc scales it to the real screen. Actions reply with a fresh screenshot about 0.6 s later, so the assistant sees what happened.

How it behaves

  • One connection per machine, kept open between calls. A failed call drops the connection and retries once.
  • Quick to fail. A machine that is off or asleep fails within 5 seconds instead of waiting out the VNC client's 30-second timeout.
  • Logins in memory only. oriel-vnc reads them on first use and never writes them to disk.

Safety

oriel-vnc can do anything a person at that screen could, including on the lock screen. Point it only at machines you own, keep VNC off the public internet, and don't let the assistant act on instructions it reads on screen. oriel's SECURITY.md covers how to report a problem.

评论

支持 Markdown

第一次接触 MCP?

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

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