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

vhs MCP

MCP Server

vhs-mcp是一个集成VHS终端录制能力的Model Context Protocol服务器,支持自动化生成终端会话记录和TUI应用截图,适用于自动化文档和测试工作流。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
文档生成GoClaude自动化测试Claude DesktopClaude

安装说明

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

作者 / 组织

Warashi

提供方

Warashi

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

vhs-mcp

概述

vhs-mcp使AI助手能够以编程方式创建终端会话记录并捕获TUI(文本用户界面)应用程序屏幕截图。通过将VHS与模型上下文协议连接起来,它允许自动化终端文档和测试工作流程。

特性

  • 终端录音自动化:执行VHS磁带文件或磁带文本以生成终端录音
  • TUI截图:当出现特定模式时,自动捕获终端应用程序的屏幕截图
  • 多种输出格式:支持PNG、GIF、MP4、WebM、JSON、ASCII和TXT输出
  • 灵活的配置:可定制的超时、终端尺寸、打字速度等
  • MCP集成:与Claude Desktop和其他MCP兼容客户端无缝协作

安装

使用Nix(推荐)

如果您有启用薄片的Nix:

# Run directly
nix run github:Warashi/vhs-mcp

# Build and install
nix build github:Warashi/vhs-mcp

来源

要求:

# Clone the repository
git clone https://github.com/Warashi/vhs-mcp.git
cd vhs-mcp

# Build
go build -o vhs-mcp main.go

# Run
./vhs-mcp

工具

vhs_run_tape

运行VHS磁带并返回生成的文件URI。

参数:

  • tape_text (字符串,可选):VHS磁带内容为文本
  • tape_path (字符串,可选):.tape文件的路径
  • timeout_sec (整数,可选):超时秒数(默认值:120)

备注:正是其中之一 tape_texttape_path 必须提供。

例子:

{
  "tape_text": "Output demo.gif\n\nSet FontSize 32\nSet Width 1200\nSet Height 600\n\nType \"echo 'Hello, World!'\" Enter\nSleep 500ms\n",
  "timeout_sec": 60
}

退货:生成的工件的文件URI列表(PNG、GIF、MP4、WebM、JSON、ASCII、TXT)。

tui_snap_after

通过VHS运行命令,等待正则表达式模式出现在屏幕上,然后拍摄PNG屏幕截图。

参数:

  • command (string,必填):要运行的命令(例如“htop”)
  • wait_regex (string,必填):屏幕上等待的正则表达式
  • keys (字符串数组,可选):要发送的其他按键(例如,\[“Down”,“Enter”\])
  • screenshot_name (字符串,可选):输出PNG文件名(默认:“screencast.PNG”)
  • width (整数,可选):终端宽度(像素)(默认值:1000)
  • height (整数,可选):终端高度(像素)(默认值:600)
  • typing_ms (整数,可选):键入速度(毫秒)(默认值:0)
  • timeout_sec (整数,可选):超时秒数(默认值:120)

支持的密钥:向上、向下、向左、向右、Enter、Tab、空格、Backspace、PageUp、PageDown、Escape(其他字符串将以文本形式键入)

例子:

{
  "command": "htop",
  "wait_regex": "Load average",
  "keys": ["Down", "Down"],
  "screenshot_name": "htop-screenshot.png",
  "width": 1200,
  "height": 800,
  "timeout_sec": 30
}

退货:生成的PNG屏幕截图的文件URI。

发展

使用Nix

使用所有必需的工具进入开发shell:

nix develop

这提供了:

  • Go工具链
  • 预提交钩子(actionlint、treefmt)
  • 代码格式化程序(gofmt、gofumpt、goimport、golines、nixfmt)
  • 其他工具(保持排序、拼写错误、拼写错误)

手动设置

要求:

  • 转到1.25.2+
  • 家用录像系统
# Install dependencies
go mod download

# Run locally
go run main.go

# Build
go build -o vhs-mcp main.go

# Format code
go fmt ./...

项目结构

.
├── main.go              # Single-file MCP server implementation
├── go.mod               # Go module definition
├── go.sum               # Go dependencies
├── flake.nix            # Nix flake configuration
├── flake.lock           # Nix flake lock file
└── nixpkgs/             # Custom Nix packages
    ├── default.nix      # Package exports
    ├── vhs-mcp/         # Wrapped MCP server
    ├── vhs-mcp-unwrapped/ # Unwrapped Go binary
    ├── vhs/             # VHS package
    └── vhs-unwrapped/   # VHS unwrapped variant

依赖项

运作原理

  1. 服务器使用官方的Go SDK实现模型上下文协议规范
  2. 注册了两个工具: vhs_run_tapetui_snap_after
  3. 每次工具执行:

- 为VHS输出创建临时目录 - 根据输入参数生成VHS磁带文件 - 执行具有超时保护的VHS - 收集生成的工件并返回文件URI

许可证

麻省理工学院

作者

瓦拉希

另见

目录标签

目录标签

文档生成GoClaude自动化测试终端录制本地部署TUI截图MCP协议

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP