An MCP server and Claude skill that transforms video links into formatted notes through automated download, transcription, visual understanding, and comment analysis. It supports multiple platforms and export formats, working end-to-end or with decoupled tools that require no backend services.
VideoNote:将视频转成结构化笔记。理解画面/弹幕/评论;支持主流平台;工具解耦;多格式导出。
README
VideoNote-Mcp 把「视频链接 → 多格式笔记」整条流水线打包成 MCP Server + Claude Code Skill:给 agent 一个链接,自动完成 下载 → 语音转写 → 画面理解 → 弹幕/评论,默认由当前对话里的 Agent 写笔记(配置 LLM 仅当 Agent 无法看图时作为后备)。
既可端到端使用(一条链接 → 一篇笔记),也可解耦:生成、素材、任务、媒体处理等工具按需取用。无需启动任何后端服务。
快速开始
# 1) 一条命令装好 Skill + MCP(插件 marketplace;MCP 启动命令 uvx videonote@latest 自动取 PyPI 最新版)
claude plugin marketplace add HuangYincan/VideoNote-MCP
claude plugin install videonote@videonote
# 2) 安装时 Claude Code 会逐项提示默认值(风格/转写引擎/视频理解/评论等);
# 装完在会话里跑配置向导收尾:
/videonote-setup
# 3) (可选)后备 LLM 的 Key / B 站扫码 / CLI 向导——默认路径不需要配置 LLM
# ! videonote setup
# 4) 重启会话,对 agent 说「帮我给这个视频做笔记」+ 链接
[!TIP] 四种安装方式、配置细节、更新与安全见 docs/04-使用手册.md。
文档
安装 / 配置 / 使用 / 环境变量 / 更新 / 安全等完整说明已归档到 docs/(README 只保留概览):
真实案例
两个端到端真实案例:一个走 AGENT 直接生成并输出 LaTeX mathnote PDF,一个走 全自动 LLM 生成产出便携 Markdown。
案例一 · agent_direct + LaTeX mathnote(DeepSeek-V4 视频)
一条视频 + 四类外部资料(论文 / 技术报告 / 公众号官宣 / 开源集合)→ AGENT 直接生成精修笔记,并输出 LaTeX mathnote PDF(中文楷体模板):
| Page1 | Page2 | Page3 |
|---|---|---|
- 无 LLM key:Agent 读转写 + 帧图 + 评论自写笔记
- 多源交叉整合:视频 × 论文 × 技术报告 × 开源清单
- 精修保留原稿:
note.md/note_original.md双份 - LaTeX mathnote PDF:自适应修复字体缺失 / 断行溢出 / 引用去重
完整过程记录见 examples/agent-direct-deepseek-v4-mathnote/README.md。
案例二 · 全自动 LLM 生成 + 便携 Markdown(多视频并行)
极简 Prompt(3 个 B 站链接 + 输出目录,一个参数都没说明)→ 全自动跑完 环境检查 → 链接识别 → 供应商/模型发现 → 参数确认 → 多视频并行 → 生成后基于字幕精修,产出 3 份精修便携笔记(note.md + Assets/ 截图 + 「观众观点」章节,并保留 note_original.md 供对比)。
- 雅思:破误区 + 听/读/写/口语四科拆解 + 179 高频考点词 + 15 句逻辑框架
- 法医:从业 43 年法医「拉片」对比影视与现实,精修扩为 12 节
- Transformer:自注意力机制详解,18 张截图按讲课时间线分布
完整过程记录见 examples/note-generation-example/README.md。
流水线地图
实线为主流程:一条 prepare_note_material 出素材,由当前对话 Agent 写笔记;generate_note 是后备(Agent 无法看图时走配置 LLM)。虚线为可选能力(视频理解 / 弹幕评论)。各阶段细节见 docs/02-架构设计.md。
任务管理
每任务一个文件夹 note_results/{task_id}/:raw/(下载媒体)+ gen/(转写/笔记/帧/导出)+ 控制文件;全局任务索引在 SQLite video_tasks 表(含语义标题)。list_tasks 枚举全部任务(按语义标题识别)、cleanup(task_id, dry_run=True) 先查后清、cleanup 按任务 / 全局清理(默认保留配置与模型)、health_check 检查 FFmpeg / 数据库 / whisper 就绪。
flowchart TB
DATA["data/ 数据根"] --> R["note_results/ 任务目录"]
DATA --> DB[("video_note.db<br/>SQLite 全局任务索引")]
R --> T1["任务 A<br/>note_results/{task_id}/"]
R --> T2["任务 B<br/>…"]
R --> T3["任务 C<br/>…"]
T1 --> RAW["raw/ 原始材料<br/>音视频 · 封面"]
T1 --> GEN["gen/ 生成材料"]
T1 --> CTRL["status.json · result.json · manifest.json"]
GEN --> T1A["transcript.json 转写全文"]
GEN --> T1B["note.md 成稿笔记"]
GEN --> T1C["Assets/ 笔记内截图"]
GEN --> T1D["frames/ 关键帧原图"]
GEN --> T1E["srt / vtt / json 字幕导出"]
DB -. 索引 .-> T1
| 工具 | 说明 | 类型 |
|---|---|---|
list_tasks |
列出全部任务(全局索引,带语义标题) | MCP 工具 |
cleanup |
按任务清理(传 task_id)/ 全局清理(恢复出厂,不传) |
MCP 工具 |
health_check |
FFmpeg / 数据库 / whisper 就绪状态 | MCP 工具 |
最佳实践
- 学习备考:端到端 + 视频理解 + 基于字幕的后续优化,把课程讲透。
- 会议纪要:
process_media(action="merge")合并分段录音 →process_media(action="diarize")说话人分离 →meeting_minutes风格。 - 讲座精读:端到端生成后,agent 基于完整字幕精修、按章节补齐细节。
- 视频赏析:开启弹幕 + 评论整合,笔记含「观众观点」章节。
- 默认路径:一条链接用
prepare_note_material,由当前对话 Agent 写笔记;Agent 无法看图或用户要求配置 LLM 时才用generate_note。只做媒体加工用process_media。 - 真实案例:完整案例过程记录见
examples。
如何贡献
- 功能分支 → PR →
dev(CI 冒烟必须绿);dev稳定后 PR →main(保护分支,需 review)。 - 流程、分支命名与提交前自查见 CONTRIBUTING.md。
致谢
感谢社区与所有贡献者,感谢 Glama 对 MCP server 的收录,以及所有开源依赖与上游流水线项目的启发。
Comments (0)
Sign in to join the discussion.
No comments yet
Be the first to share your take.