VideoNote-MCP
VideoNote-Mcp verpackt die gesamte Pipeline von „Videolink → Notizen in mehreren Formaten" in einen MCP-Server + Claude-Code-Skill: Gib dem Agenten einen Link, und er erledigt automatisch Download → Spracherkennung → Frame-Verständnis → Danmaku/Kommentare → KI-Zusammenfassung und liefert eine tragbare Notiz mit Screenshots, die sich komplett verschieben lässt.
Repository: HuangYincan/VideoNote-MCP.
Das Projekt kann sowohl Ende-zu-Ende genutzt werden (ein Link → eine Notiz) als auch entkoppelt: Jede Phase der Pipeline (Download / Transkription / Frameextraktion / Kommentare / Zusammenfassung / Export / Verbesserung / Bereinigung) ist ein eigenständiges MCP-Tool. Ob man nur einen Schritt nutzen oder sich nur über den Videoinhalt informieren möchte – alles ist möglich. Es muss kein Backend-Dienst gestartet werden.
⚡ Schnellstart
# 1) 一条命令装好 Skill + MCP(插件 marketplace,uvx 自动更新)
claude plugin marketplace add HuangYincan/VideoNote-MCP
claude plugin install videonote@videonote
# 2) 安装时 Claude Code 会逐项提示默认值(风格/转写引擎/视频理解/评论等);
# 装完在会话里跑配置向导收尾:
/videonote-setup
# 3) (可选)LLM-Key/B 站扫码/CLI向导
# ! videonote setup
# 4) 重启会话,对 agent 说「帮我给这个视频做笔记」+ 链接[!TIP] Vier Installationsmethoden, Konfigurationsdetails, Updates und Sicherheit findest du in docs/04-使用手册.md.
Related MCP server: tldw-mcp
📚 Dokumentation
Vollständige Anleitungen zu Installation / Konfiguration / Nutzung / Umgebungsvariablen / Updates / Sicherheit sind unter docs/ abgelegt (die README enthält nur eine Übersicht):
📖 Benutzerhandbuch —— Installation (4 Methoden) · Konfiguration (Setup-Assistent + CLI) · Umgebungsvariablen · Updates · Sicherheit
🎬 Praxisbeispiele
Zwei End-to-End-Praxisbeispiele: Eines nutzt die direkte AGENT-Generierung und erzeugt ein LaTeX-Mathnote-PDF, das andere nutzt die vollautomatische LLM-Generierung und erzeugt portables Markdown.
Beispiel 1 · agent_direct + LaTeX mathnote (DeepSeek-V4-Video)
Quelle: [闪客] DeepSeek V1~V4 ausführlich erklärt! Für Jung und Alt verständlich~
Eine Video + vier Arten externer Materialien (Paper / technische Berichte / offizielle WeChat-Kanal-Ankündigungen / Open-Source-Sammlungen) → direkte AGENT-Generierung einer verfeinerten Notiz, ausgegeben als LaTeX-Mathnote-PDF (chinesische KaiTi-Vorlage):
Page1 | Page2 | Page3 |
Highlights: agent_direct-Komplettablauf (ohne LLM-Key; der Agent liest Transkript + Frames + Kommentare und schreibt die Notiz selbst) · Multi-Quellen-Kreuzintegration (Video × Paper × technische Berichte × Open-Source-Liste) · Verfeinerung behält Original (note.md / note_original.md doppelt) · LaTeX-Mathnote-PDF (automatische Behebung von fehlenden Schriften / Zeilenumbruch-Überläufen / doppelten Referenzen). Die vollständige Prozessdokumentation findest du unter examples/agent-direct-deepseek-v4-mathnote/README.md.
Beispiel 2 · Vollautomatische LLM-Generierung + portables Markdown (mehrere Videos parallel)
Minimaler Prompt (3 Bilibili-Links + Ausgabeverzeichnis, kein einziges Argument erklärt) → vollautomatisch durchlaufen: Umgebungsprüfung → Link-Erkennung → Anbieter-/Modellermittlung → Parameterbestätigung → mehrere Videos parallel → nach der Generierung Verfeinerung anhand der Untertitel. Ergebnis: 3 verfeinerte tragbare Notizen (note.md + Assets/-Screenshots + Abschnitt „Zuschauermeinungen“, zusätzlich bleibt note_original.md zum Vergleich erhalten).
IELTS: Mythen entkräften + Aufschlüsselung der vier Teilbereiche Hören/Lesen/Schreiben/Sprechen + 179 häufige Prüfungswörter + 15 logische Rahmenstrukturen
Rechtsmedizin: Ein seit 43 Jahren praktizierender Rechtsmediziner „seziert“ Filmaufnahmen und vergleicht sie mit der Realität – verfeinert auf 12 Abschnitte erweitert
Transformer: Detaillierte Erklärung des Self-Attention-Mechanismus, 18 Screenshots entlang der Vorlesungs-Timeline
Die vollständige Prozessdokumentation findest du unter examples/note-generation-example/README.md.
🗺️ Pipeline-Übersicht
flowchart LR
A["视频链接"] --> B["下载音视频<br/>+ 平台字幕"]
B --> C["语音转写<br/>或直接用平台字幕"]
B -. 可选 .-> D["逐帧画面理解<br/>关键帧 → 网格图"]
B -. 可选 .-> E["弹幕 + 评论区"]
C --> F["素材包<br/>转写 · 帧 · 评论"]
D -.-> F
E -.-> F
F --> G["AI 总结 → Markdown 底稿<br/>正文 + 截图 + 「观众观点」"]
G --> O1["便携笔记<br/>note.md + Assets/"]
G --> O2["字幕导出<br/>SRT · VTT · JSON"]
G -. Agent 生成 .-> O3["创意格式<br/>思维导图 · 闪卡 · LaTeX · typst"]
G -. 可选 .-> O4["基于完整字幕精修<br/>保留原版对比"]Phase | Aufgabe | Typische Werkzeuge |
Ein Link → eine Notiz, die gesamte Pipeline vollautomatisch durchlaufen |
| |
Erkennt die Plattform und lädt Audio/Video herunter; deckt 1800+ Websites und lokale Dateien ab |
| |
Audiospur in Text umwandeln; lokale/Cloud-Engines wählbar | wird intern von | |
Frames in Intervallen extrahieren, multimodale LLM „sieht“ die Bilder | Parameter | |
Danmaku und Kommentarmeinungen von Bilibili abrufen | Parameter | |
Material → strukturiertes Markdown, 9 Stile wählbar |
| |
SRT/VTT/JSON-Maschinencxport + kreative Formate (Agent-generiert) |
| |
Mehrere Dateien zusammenführen, Vorverarbeitung, Sprechertrennung |
| |
Globale Aufgabenübersicht, Belegung anzeigen, bedarfsgerechte Bereinigung |
|
0 🔄 End-to-End-Komplettablauf
Im End-to-End-Modus genügt ein Link: generate_note durchläuft die gesamte Pipeline asynchron und gibt eine task_id zurück; mit dem schlanken get_task_status wird per Polling bis SUCCESS/FAILED/CANCELLED abgefragt (maximal 3 laufende Aufgaben pro Prozess; nicht parallel in derselben Nachricht einreichen). cancel_note bricht kooperativ ab. „AGENT direkt generieren“ läuft über prepare_note_material – es wird nur ein Materialpaket vorbereitet, ohne die konfigurierte LLM aufzurufen; der Agent liest Transkript, schaut sich die Bilder an und schreibt die Notiz selbst.
Werkzeug | Beschreibung | Typ |
| Ein Link → asynchrone Notizgenerierung, gibt task_id zurück (unterstützt Video-Verständnis / Kommentar-Integration / tragbare Notizen mit Screenshots) | MCP-Tool |
| Schlankes Polling des Aufgabenstatus (bis SUCCESS/FAILED/CANCELLED) | MCP-Tool |
| Kooperativer Abbruch laufender / wartender Aufgaben | MCP-Tool |
| Bereitet nur das Materialpaket vor (Transkript / Frames / Kommentare) für die direkte AGENT-Generierung | MCP-Tool |
AGENT direkt generieren ( | Der Agent liest das Materialpaket und schreibt die Notiz selbst, ohne die konfigurierte LLM zu nutzen | SKILL / Agent-Orchestrierung |
1 📥 Download & Plattform-Erkennung
inspect_video erkennt die Plattform (bilibili / youtube / douyin / tiktok / kuaishou / local; außerhalb der 6 eingebauten Plattformen wird platform:"generic" zurückgegeben und automatisch die yt-dlp-Allgemeinextraktion mit 1800+ Websites genutzt) + prüft die Linkgültigkeit (bei ungültigem Link wird direkt der Grund genannt) + zerlegt Bilibili-Mehrteiler / YouTube-Playlists in einzelne, unabhängig einreichbare URLs (ohne Download). Plattform-Cookies laufen über ! videonote login bilibili / ! videonote setup und nicht über MCP. Plattform-Untertitel (einschließlich Bilibili-KI-Untertitel) werden von generate_note intern bevorzugt verwendet; es gibt kein separates Werkzeug.
Werkzeug | Beschreibung | Typ |
| Parst Mehrteiler / Playlists und gibt für jede Folge eine | MCP-Tool |
2 🎙 Spracherkennung (ASR)
Die Spracherkennung (ASR) wird intern von generate_note erledigt: Plattform-Untertitel (einschließlich Bilibili-KI-Untertiteln) werden bevorzugt; ohne Untertitel wird transkribiert. Wählbare Engines: fast-whisper (lokal) / groq / bcut / kuaishou (Cloud) / mlx-whisper (macOS Apple Silicon GPU) / funasr (beste Chinesisch-Erkennung, VAD + automatische Zeichensetzung). Engine- und Modellverwaltung über die CLI: ! videonote transcriber set/download; Status unter get_config().
3 🖼️ Video-Frame-Verständnis (Frameextraktion)
generate_note unterstützt direkt Video-Verständnis-Parameter: video_understanding=True + video_interval (Standard 6s) + grid_size (Standard [3,3]). Die Rasterbilder werden an eine multimodale LLM geschickt, die sich die Bilder „ansieht“.
Parameter | Beschreibung | Typ |
| Frames in Intervallen extrahieren + Rasterbilder eingebettet an multimodale Modelle senden | Parameter |
4 💬 Danmaku & Kommentare
Mit include_comments=True + comments_limit (Standard 20) bei generate_note werden Danmaku-Nachrichten und häufige Meinungen aus dem Kommentarbereich in die Notiz übernommen; es wird ein neuer Abschnitt „Zuschauermeinungen“ hinzugefügt (erfordert Bilibili-SESSDATA; schlägt das Abrufen fehl, wird die Aufgabe nicht blockiert).
Parameter | Beschreibung | Typ |
| Fügt der Notiz einen Abschnitt „Zuschauermeinungen“ hinzu (Standard 20 Einträge) | Parameter |
5 ✍️ KI-Zusammenfassung & Notizen
Unterstützt 9 Stile: minimal / detailed / academic / tutorial / xiaohongshu / life_journal / task_oriented / business / meeting_minutes; mit format=["screenshot"] werden tragbare Notizen erzeugt (note.md + Assets/, mit relativen Verweisen komplett verschiebbar). Anbieter-/Modell-/Transkriptionskonfiguration läuft ausschließlich über die CLI (! videonote providers set / ! videonote transcriber set); schreibgeschützt einsehbar über get_config(). agent_direct wird direkt vom AGENTEN generiert.
Parameter | Beschreibung | Typ |
9 Notizstile + | Stilauswahl / tragbare Screenshot-Notizen | Parameter |
| Schreibgeschützte Konfigurationsübersicht (Standardwerte / Anbieter / Transkriptions-Engine / Cookie-Status), optional mit Konnektivitätstest | MCP-Tool |
| Der AGENT liest das Materialpaket selbst und schreibt die Notiz | SKILL / Agent-Orchestrierung |
6 📤 Export in mehrere Formate
Für maschinelle Formate gibt es export_transcript (srt / vtt / json) – deterministische Darstellung (Zeitachsen-Umrechnung), ohne LLM-Kosten, gibt file://-Pfade zurück. Kreative Formate (Mindmap / Karteikarten / LaTeX / typst / benutzerdefinierte Vorlagen) werden vom Agenten auf Basis der MD-Rohfassung + SKILL-Vorlagen erzeugt (LaTeX mit integrierten Math-Note-/English-Article-Vorlagen: Mathematik-/Naturwissenschafts-Notizstil, englischer Artikel-/Vortragsgliederungsstil; typst mit integrierter zju-lab-Vorlage: MINT-Notizen/Labbericht/Aufsatzstil mit ZJU-Logo).
Werkzeug | Beschreibung | Typ |
| Transkript als srt/vtt/json exportieren (deterministisches maschinelles Format) | MCP-Tool |
Kreative Formate | Mindmap / Karteikarten / LaTeX / typst → vom Agenten auf Basis der Rohfassung generiert | SKILL / Agent-Orchestrierung |
7 🎛️ Audio-Verbesserung
merge_audio führt mehrere Audioaufnahmen / Meeting-Abschnitte / lokale Videos zu einer 16-kHz-Mono-WAV-Datei zusammen und transkribiert sie anschließend. Die Audio-Vorverarbeitung (16-kHz-Normalisierung + automatische Aufteilung bei >1800 s, optionale Rauschunterdrückung) ist standardmäßig deaktiviert und benötigt keine zwingenden Abhängigkeiten. diarize_media führt die Sprechertrennung durch (pyannote ist eine optionale Zusatzabhängigkeit; erfordert HF_TOKEN + Modellfreigabe).
Werkzeug | Beschreibung | Typ |
| Mehrere Dateien zu 16-kHz-Mono-WAV zusammenführen (FFmpeg concat) | MCP-Tool |
Audio-Vorverarbeitung | 16-kHz-Normalisierung + automatische Aufteilung langer Dateien (in setup ② aktivierbar) | Konfiguration |
| Sprechertrennung (Besprechungsprotokolle / mehrere Sprecher) | MCP-Tool |
8 🗂️ Aufgabenverwaltung & Bereinigung
Pro Aufgabe ein Ordner note_results/{task_id}/: raw/ (heruntergeladene Medien) + gen/ (Transkript/Notizen/Frames/Exporte) + Steuerdateien; der globale Aufgabenindex liegt in der SQLite-Tabelle video_tasks (mit semantischem Titel). list_tasks listet alle Aufgaben auf (anhand des semantischen Titels erkannt), cleanup_note(dry_run=True) prüft vor dem Löschen, cleanup_note / cleanup_all bereinigen aufgabenweise / global (Konfiguration und Modelle bleiben standardmäßig erhalten), health_check prüft die Bereitschaft von FFmpeg / Datenbank / 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 -. 索引 .-> T1Werkzeug | Beschreibung | Typ |
| Alle Aufgaben auflisten (globaler Index mit semantischem Titel) | MCP-Tool |
| Aufgabenweise Bereinigung / globale Bereinigung (Werkseinstellungen wiederherstellen) | MCP-Tool |
| Bereitschaftsstatus von FFmpeg / Datenbank / Whisper | MCP-Tool |
🏆 Best Practices
Lernen & Prüfungsvorbereitung: End-to-End + Video-Verständnis + nachgelagerte Optimierung auf Basis der Untertitel, um den Kurs gründlich zu durchdringen.
Besprechungsprotokolle:
merge_audioführt Audioaufnahmen zusammen →diarize_mediatrennt die Sprecher → Stilmeeting_minutes.Vorlesung vertieft lesen: Nach der End-to-End-Generierung verfeinert der Agent auf Basis der vollständigen Untertitel und ergänzt Details kapitelweise.
Videoanalyse: Danmaku + Kommentar-Integration aktivieren; die Notiz enthält den Abschnitt „Zuschauermeinungen“.
End-to-End: Für einen Link
generate_noteverwenden (Download/Transkription/Zusammenfassung/Kommentare laufen intern ab); nur Material vorbereiten mitprepare_note_material.Praxisbeispiele: Vollständige Fallbeispiele findest du unter
examples.
🤝 Mitwirken
Feature-Branch → PR →
dev(CI-Smoke-Tests müssen grün sein); nach Stabilisierung vondevPR →main(geschützter Branch, Review erforderlich).Ablauf, Branch-Namenskonventionen und Selbstcheck vor dem Commit findest du in CONTRIBUTING.md.
🙏 Danksagung
Dank an die Community und alle Mitwirkenden, an Glama für die Aufnahme des MCP-Servers sowie an alle Open-Source-Abhängigkeiten und Upstream-Pipeline-Projekte für die Inspiration.
Maintenance
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that generates structured notes from Bilibili videos by automatically downloading audio, transcribing with Whisper, and processing through LLM.17
- AlicenseNot gradedqualityCmaintenanceMCP server that extracts YouTube video transcripts (including metadata) as Markdown, enabling AI to summarize and discuss video content without watching it.MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server that transforms YouTube educational videos into learning resources by extracting transcripts and generating summaries, notes, quizzes, and flashcards using AI.1
- FlicenseNot gradedqualityBmaintenanceMCP server that converts PDF, video, web, and audio inputs into structured Markdown notes with support for checkpointing, batch processing, and Obsidian integration.
Related MCP Connectors
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
An MCP server that integrates with Discord to provide AI-powered features.
MCP server for Google Veo AI video generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/HuangYincan/VideoNote-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server