SuperAPI AI 工具集

tui-mcp

tui-mcp 是一个面向终端的 MCP 服务器,类似于浏览器领域的 Chrome DevTools MCP。它能在托管伪终端(pty)中启动任意 TUI(终端用户界面)应用,提供截图、读取文本、发送按键等交互能力。应用会认为自己在真实终端中运行,兼容 vim、htop、bubbletea、textual、ink、inquirer、trend、ncurses 等任何 TUI 框架或不使用框架的程序。与执行离散命令的 bash 工具不同,tui-mcp 保持持久、交互式的会话,pty 在多次调用间存活,因此能处理有状态工具、全屏 UI、多步交互流程、需要持续监视的场景以及要求真实 TTY 的 CLI。它基于 node-pty 运行真实伪终端,并用 xterm-headless 解析输出,同时提供终端监控界面来查看和控制所有活动会话。

访问官网

工具介绍

用途

tui-mcp 是一个 MCP(Model Context Protocol)服务器,目标是把终端本身作为通用接口暴露给 AI 助手。正如 Chrome DevTools MCP 之于浏览器,tui-mcp 之于终端:它让 AI 能够启动、截图和交互任意 TUI 应用。

它通过 node-pty 启动一个真实的伪终端托管终端应用,应用以为自己在真实终端中运行。输出由 xterm-headless(VS Code 终端背后的终端模拟器,无 DOM 版本)解析,MCP 工具读取并操作该解析后的缓冲区。

主要能力

  • 在托管 pty 中启动任意终端应用。
  • 对终端界面截图、读取文本。
  • 向终端发送按键输入。
  • 保持持久、交互式的会话:pty 在多次调用间存活,支持有状态工具(如 mysql shell、事务)、全屏 UI(htop、vim、k9s、lazygit)、多步交互(SSH 密码、2FA、交互式安装器、git rebase -i)、持续监视(tail 日志、构建、部署)以及要求真实 TTY 的 CLI。
  • 提供 node-pty 生成的 xterm-256color 真实 pty,使需要 TTY 的 CLI 正常工作。
  • 支持任何 TUI 框架或不使用框架:vim、htop、bubbletea、textual、ink、inquirer、trend、ncurses 等。
  • 可从终端监控界面查看和控制所有活动会话。

与 bash 工具的区别

bash 工具运行离散命令,每次调用即发即忘,进程退出后返回输出。tui-mcp 维护持久、交互式的会话,pty 在调用之间保持存活。以下场景尤其重要:

  • 工具具有状态:在 mysql shell 中已 USE 数据库、处于事务中,bash 工具无法在调用之间保持会话。
  • 工具具有 UI:htop、vim、k9s、lazygit 等全屏界面使用 ANSI 转义码,bash 工具返回乱码;tui-mcp 通过 xterm 模拟渲染为可读截图或文本快照。
  • 交互是多步的:SSH 依次提示密码、2FA 验证码;交互式安装器提问;git rebase -i 进入编辑器。这些对话式流程无状态的 bash 工具无法处理。
  • 需要监视:tail 日志、监控构建、等待部署完成。会话保持打开,代理可随时快照检查进度。
  • 工具要求 TTY:某些 CLI 无真实终端时行为不同或拒绝运行。node-pty 提供带 xterm-256color 的真实 pty,因此一切按预期工作。

bash 工具是 exec(),tui-mcp 是“坐到终端前像人一样使用它”。一个运行命令,另一个操作软件。

使用方式

在托管 pty 中启动任意终端应用,即可对其截图、读取文本、发送按键。可同时启动多个会话(例如一个跑开发服务器、一个跑测试、一个 tail 日志、一个在调试器中),实现多会话编排。

可从终端监控界面查看和控制所有活动会话:左侧为会话列表,右侧为实时 ANSI 渲染的终端预览。监控界面会发现机器上运行的所有 tui-mcp 服务器并聚合其会话。

监控界面操作:

  • j/k 或方向键在服务器和会话间移动,g/G 到顶部/底部,鼠标点击和滚动也可用。
  • 在会话上按 enter 附着:输入的一切传给其 pty,ctrl+\ 分离。
  • 在服务器上按 enter 打开针对它的启动面板。
  • s 将会话完整回滚缓冲抓取到可滚动视图,esc 返回实时。
  • l 在选中行的服务器上启动新会话(ctrl+s 循环目标)。
  • 3 秒内按两次 x 终止选中的会话。

附着、启动、终止和回滚需要服务器为 1.2 或更新版本;旧服务器上的会话标记为 ro(只读),仍可观看。

适用场景

  • 远程运维:代理通过 SSH 登录生产机,tail 日志、grep 错误、重启服务、观察恢复。读取的是与人类 SRE 相同的终端输出,无需自定义 API。
  • 遗留系统交互:ncurses 管理面板、mysql cli、redis-cli、psql 等永远不会获得 REST API 的系统。
  • 多会话编排:同时启动 3-4 个会话,如开发服务器、测试、日志、调试器,相当于多一双手的结对编程。
  • 交互式调试器:gdb、lldb、pdb、node --inspect,代理可设断点、单步执行、检查变量。
  • 基础设施即对话:kubectl、terraform、docker、aws cli。代理无需 Kubernetes MCP 服务器或 AWS MCP 服务器,直接像人一样使用 CLI。

大多数 MCP 服务器包装一个特定工具或 API。tui-mcp 包装终端本身,即所有工具已经使用的通用接口。它是 MCP 的 eval()。

限制

  • 附着、启动、终止和回滚功能需要服务器 1.2 或更新版本;旧服务器上的会话为只读。
  • 安装方式、具体收费或价格、平台支持等细节暂未提供。