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

MCP Remotetouch

MCP Server

mcp-remotetouch

一个用于通过SSH远程控制Linux设备触摸屏的服务器,支持点击、滑动、长按、双击和键盘事件注入。

工具数

9

提示词数

0

GitHub Stars

0

资源数

0
远程控制TypeScriptClaude命令行工具Claude DesktopClaude

安装说明

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

作者 / 组织

signal-slot

提供方

signal-slot

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

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

命令预览

npx mcp-remotetouch

详细介绍

mcp遥控触摸

一种MCP服务器,用于通过SSH远程控制任何Linux设备上的触摸屏。

将轻击、滑动、长按、双击和键盘事件直接注入设备。守护程序会自动检测触摸屏和屏幕分辨率。键盘输入是通过创建的虚拟键盘设备注入的 /dev/uinput. 无需在远程设备上安装 --Python守护进程通过SSH通过stdin发送,仅使用Python的标准库。

建筑

标准模式(默认)

Dev Machine                              Remote Linux Device
┌──────────────────┐    SSH (persistent)  ┌──────────────────┐
│ MCP Server (TS)  │ ──────────────────> │ Python daemon    │
│ stdio transport   │    JSON-line proto  │ (stdlib only)     │
│                   │  Express + StreamableHTTPServerTransport
                                         │
                                   McpServer (per MCP session)
                                         │
                                SshTouchSessionManager (shared)
                                         │
                                   SSH ──> Linux Device

先决条件

Dev机器

  • Node.js 18+
  • SSH客户端

远程设备

  • 任何带有触摸屏的Linux设备(Raspberry Pi、SBC、嵌入式系统等)
  • Python 3
  • 读/写访问 /dev/input/eventN (触摸屏设备)
  • 写入访问权限 /dev/uinput (用于键盘输入——可选,无需触摸即可工作)

将用户添加到 input 远程设备上的组:

sudo usermod -aG input $USER

重新登录以使更改生效。或者,使用 useSudo 选项。

安装

npm install -g mcp-remotetouch

或者直接与 npx:

npx mcp-remotetouch

用法

添加到您的MCP客户端配置中(例如Claude Desktop的 claude_desktop_config.json):

{
  "mcpServers": {
    "remotetouch": {
      "command": "npx",
      "args": ["mcp-remotetouch"],
      "env": {}
    }
  }
}

设备会自动检测屏幕分辨率。您可以用以下命令覆盖它 REMOTETOUCH_SCREEN_WIDTHREMOTETOUCH_SCREEN_HEIGHT 如果需要的话。

环境变量

变量默认值描述
REMOTETOUCH_SSH_HOST(无)远程设备的SSH主机
REMOTETOUCH_SSH_USERpiSSH用户名
REMOTETOUCH_SSH_PORT22SSH端口
REMOTETOUCH_SSH_KEY(无)SSH私钥路径
REMOTETOUCH_SCREEN_WIDTH自动检测屏幕宽度(像素)
REMOTETOUCH_SCREEN_HEIGHT自动检测屏幕高度(像素)
REMOTETOUCH_USE_SUDOfalse使用sudo运行守护进程

工具

touch_connect

通过SSH连接到远程Linux设备并启动触摸守护进程。返回会话ID。

参数类型说明
host弦?SSH主机
user弦?SSH用户名
port号码?SSH端口
sshKey弦?SSH私钥的路径
screenWidth号码?屏幕宽度(如果省略,则自动检测)
screenHeight号码?屏幕高度(如果省略,则自动检测)
useSudo布尔值?使用sudo运行

touch_tap

点击给定的坐标。

参数类型说明
sessionIdstring会话ID
x数字X坐标
y数字Y坐标
duration_ms号码?点击持续时间(默认值:50ms)

touch_swipe

从(x1,y1)滑动到(x2,y2)。

参数类型说明
sessionIdstring会话ID
x1number起始X坐标
y1number起始Y坐标
x2number结束X坐标
y2number结束Y坐标
duration_ms号码?滑动持续时间(默认值:300ms)
steps号码?插值步数

touch_long_press

在给定坐标处长按。

参数类型说明
sessionIdstring会话ID
x数字X坐标
y数字Y坐标
duration_ms号码?按压持续时间(默认值:800ms)

touch_double_tap

在给定坐标处双击。

参数类型说明
sessionIdstring会话ID
x数字X坐标
y数字Y坐标

key_press

按带有可选修改键的键。需要 /dev/uinput 远程设备上的访问。

参数类型说明
sessionIdstring会话ID
keystring键名(例如。 enter, a, tab, f1, up, space)
modifiersstring\[\]?要按住的修改键(例如。 ["ctrl"], ["ctrl", "shift"])

key_type

通过模拟单个按键来键入文本字符串。需要 /dev/uinput 远程设备上的访问。

参数类型说明
sessionIdstring会话ID
textstring要键入的文本(例如。 Hello, World!)

touch_disconnect

断开会话连接并清理远程守护进程。

参数类型说明
sessionIdstring会话ID

touch_list_sessions

列出所有活动会话。没有参数。

HTTP服务器模式

您可以运行以下命令,而不是作为stdio MCP服务器运行 mcp-remotetouch 作为AI代理可以通过HTTP远程连接的HTTP服务器。

启动服务器

# Default: listen on 0.0.0.0:3000
npx mcp-remotetouch --server

# Custom port and host
npx mcp-remotetouch --server --port 8080 --host 127.0.0.1

CLI参数

参数默认值描述
--server(关闭)启用HTTP服务器模式
--port 3000 (或 REMOTETOUCH_PORT env)HTTP侦听端口
--host 0.0.0.0绑定地址

没有 --server,进程在stdio模式下运行(默认的向后兼容行为)。

工作流程

Claude Desktop的典型会话:

  1. touch_connect --连接到远程设备
  2. touch_tap / touch_swipe / touch_long_press / touch_double_tap --与屏幕交互
  3. key_press / key_type --发送键盘输入
  4. touch_disconnect --结束会话

故障排除

权限不足

远程设备上的用户需要访问 /dev/input/eventN。要么:

  • 将用户添加到 input 组: sudo usermod -aG input $USER (需要重新登录)
  • 或设置 REMOTETOUCH_USE_SUDO=true

未找到物理触摸屏设备

守护进程在中找不到触摸屏 /proc/bus/input/devices.验证:

  • 该设备连接了触摸屏,并加载了驱动程序
  • 设备显示 INPUT_PROP_DIRECT 并且已经 ABS_MT_POSITION_X 能力

键盘输入不可用

key_presskey_type 工具需要写入权限 /dev/uinput。如果报告键盘不可用:

  • 添加udev规则以授予访问权限:
  echo 'KERNEL=="uinput", GROUP="input", MODE="0660"' | sudo tee /etc/udev/rules.d/99-uinput.rules
  sudo udevadm control --reload-rules && sudo udevadm trigger
  • 确保用户在 input 组: sudo usermod -aG input $USER (需要重新登录)
  • 或设置 REMOTETOUCH_USE_SUDO=true

即使在以下情况下,触摸工具仍能继续工作 /dev/uinput 无法访问。

SSH连接失败

  • 确保为远程设备配置了SSH公钥身份验证(不支持密码身份验证,因为连接使用 BatchMode=yes)
  • 验证主机名和端口是否正确

许可证

麻省理工学院

目录标签

目录标签

远程控制TypeScriptClaude命令行工具本地部署触控操作SSH工具Linux设备输入模拟

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

mcp-remotetouch

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosessionremote-capable

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

安装前确认

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

来源信息

继续浏览同类 MCP