关于 watch-cli
watch-cli MCP 服务是 watch-cli 的 MCP stdio 封装,可将社交视频的画面帧和文字稿打包提供给 AI Agent。它面向支持 MCP 的各类 Agent 运行时,无需为每个 IDE 单独开发插件。
主要功能
- 01单一 watch 工具处理社交视频链接
- 02返回画面帧与文字稿的 v1 JSON 结果
- 03支持 YouTube、X、TikTok 等多个平台
- 04按错误类型返回带标签的 MCP 错误
适用场景
- 01让 AI Agent 根据视频内容生成架构图或代码示例
- 02在 Claude Desktop 或 Cursor 中分析社交视频内容
- 03将视频内容整理为操作步骤或速查表
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露名为 watch 的工具,内部调用 watch CLI 处理视频 URL 并返回结构化结果。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @sonpiaz/watch-cli-mcpKYMA_API_KEY密钥Kyma API key (default backend). Get one at https://kymaapi.com — first $0.50 free, then pay-per-use (~$0.05 per 1-hour video). Optional if WATCH_AUDIO_MODE=local (whisper.cpp) or GROQ_API_KEY is set instead.GROQ_API_KEY密钥Groq API key for direct BYOK transcription (alternative to Kyma). Set this instead of KYMA_API_KEY if you prefer direct provider.WATCH_AUDIO_MODEBackend routing override. Values: kyma (default), byok (use GROQ_API_KEY), local (whisper.cpp on $PATH, fully offline).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
1收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 社交平台视频 URL。支持的平台:YouTube、X / Twitter、LinkedIn、TikTok、Vimeo、Reddit、Facebook。 |
| frames | integer | 否 | 要提取的等间隔帧数。未指定时默认为 8。上限为 64,以保持响应负载较小。 |
详细介绍
@sonpiaz/watch-cli-mcp
MCP(Model Context Protocol)stdio 服务,可将 watch-cli 作为可调用工具提供。
观看任意社交视频 → 自动获取架构图、可运行组件、可运行笔记本或分步速查表。
一个 MCP 服务即可连接所有支持 MCP 的 Agent 运行时——Claude Desktop、Claude Code、Cursor、OpenClaw、hermes-agent、Cline、Continue.dev、Windsurf、Zed、Codex、Kiro、VS Code Copilot——无需针对每个 IDE 单独开发插件。此软件包封装了 watch-cli,让它们都能通过一个通道调用该工具。
前置条件
-
Node.js >= 18。
-
已安装
watchCLI,且位于PATH中。安装方式:curl -fsSL https://raw.githubusercontent.com/sonpiaz/watch-cli/main/install.sh | bash
MCP 服务会调用 watch,不会将 CLI 打包在内。
安装
npm install -g @sonpiaz/watch-cli-mcp
也可以通过 npx 按需运行:
npx -y @sonpiaz/watch-cli-mcp
二进制文件为 watch-cli-mcp。它从 stdin 读取 JSON-RPC,向 stdout 写入 JSON-RPC,并将日志写入 stderr。
工具
注册了一个工具:watch。
输入架构:
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "A social video URL. Supported: YouTube, X / Twitter, LinkedIn, TikTok, Vimeo, Reddit, Facebook."
},
"frames": {
"type": "integer",
"minimum": 1,
"maximum": 64,
"description": "Number of evenly-spaced frames to extract. Default 8."
}
},
"required": ["url"],
"additionalProperties": false
}
输出: 来自 docs/output-schema.md 的 v1 JSON 对象,原样传递。字段说明请参阅架构。
错误映射
| CLI 退出码 | MCP 响应 |
|---|---|
0 | 工具结果,v1 JSON 位于 content[0].text。 |
2 | InternalError,消息包含 tag=missing-dep:<bin>。 |
3 download-auth / download-region | InvalidParams,消息包含该标签——调用方可通过 Cookie 或更换 URL 进行恢复。 |
3 download-network / download-other | InternalError,消息包含该标签。 |
4(部分成功) | 工具结果,isError: false。帧已填充,转录为 null,JSON 负载中的 exit_code: 4。调用方根据 obj.exit_code === 4 进行分支处理。 |
64 | InvalidParams,消息包含 tag=usage-error。 |
1 / 其他 | InternalError,消息包含 CLI stderr 的末尾内容(≤ 1 KB)。 |
标签始终包含在 MCP 错误的 message 字段中,因此调用方可以搜索与 CLI stderr 中相同的 tag=... 标记。
客户端配置
Claude Desktop
配置文件路径:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
将以下内容合并到现有的 mcpServers 对象中:
{
"mcpServers": {
"watch-cli": {
"command": "npx",
"args": ["-y", "@sonpiaz/watch-cli-mcp"]
}
}
}
编辑后重启 Claude Desktop。
Cursor
配置文件路径:.cursor/mcp.json(项目级)或 ~/.cursor/mcp.json(用户全局)。mcpServers 对象结构与 Claude Desktop 相同:
{
"mcpServers": {
"watch-cli": {
"command": "npx",
"args": ["-y", "@sonpiaz/watch-cli-mcp"]
}
}
}
hermes-agent
配置文件路径:hermes-agent 安装目录中的 optional-skills/mcp.json,或用户全局路径 ~/.hermes-agent/mcp.json。mcpServers 结构与上文相同。
其他 MCP 客户端
任何支持 MCP 且接受 npx 命令的 Agent 都可以使用上面的代码片段。替换为客户端的配置文件路径即可;command / args 配置可通用。
从源代码构建
git clone https://github.com/sonpiaz/watch-cli
cd watch-cli/mcp-server
npm install
npm run build
node dist/index.js
许可证
MIT。© 2026 Son Piaz。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。