VideoNote-MCP
VideoNote-Mcp упаковывает весь конвейер «видеоссылка → многоформатные заметки» в MCP Server + Claude Code Skill: дайте агенту ссылку, и он автоматически выполнит загрузку → транскрипцию речи → понимание кадров → комментарии/отзывы → AI-резюме, вернув портативную заметку со скриншотами, которую можно перенести целиком.
Репозиторий: HuangYincan/VideoNote-MCP.
Проект можно использовать как сквозным (одна ссылка → одна заметка), так и в разделённом виде: каждый этап конвейера (загрузка / транскрибация / извлечение кадров / комментарии / резюме / экспорт / улучшение / очистка) — это отдельный MCP-инструмент. Можно использовать только один этап или просто узнать содержание видео. Не требуется запускать никаких бэкенд-сервисов.
⚡ Быстрый старт
# 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] Четыре способа установки, детали конфигурации, обновление и безопасность — см. docs/04-使用手册.md.
Related MCP server: tldw-mcp
📚 Документация
Полные инструкции по установке / настройке / использованию / переменным окружения / обновлению / безопасности архивированы в docs/ (в README остался только обзор):
📖 Руководство пользователя — установка (4 способа) · настройка (мастер setup + CLI) · переменные окружения · обновление · безопасность
🎬 Реальные примеры
Два сквозных реальных примера: один через прямую генерацию AGENT с выводом LaTeX mathnote PDF, другой через полностью автоматическую генерацию LLM с созданием портативного Markdown.
Пример 1 · agent_direct + LaTeX mathnote (видео DeepSeek-V4)
Источник: 【闪客】深入解读 DeepSeek V1~V4!男女老少都听得懂~
Одно видео + четыре типа внешних материалов (статья / технический отчёт / официальное объявление в публичном аккаунте / открытые исходники) → прямая генерация AGENT доработанной заметки с выводом LaTeX mathnote PDF (шаблон с китайским каллиграфическим шрифтом):
Page1 | Page2 | Page3 |
Особенности: полный процесс agent_direct (без LLM-ключа, агент сам читает транскрипцию + кадры + комментарии и пишет заметку) · кросс-интеграция нескольких источников (видео × статья × технический отчёт × открытый список) · доработка с сохранением оригинала (двойные файлы note.md / note_original.md) · LaTeX mathnote PDF (автоматическое исправление отсутствующих шрифтов / переполнения строк / дедупликация цитат). Полная запись процесса — см. examples/agent-direct-deepseek-v4-mathnote/README.md.
Пример 2 · Полностью автоматическая генерация LLM + портативный Markdown (параллельно несколько видео)
Минимальный промпт (3 ссылки Bilibili + выходная директория, ни одного параметра не указано) → полностью автоматически выполняются проверка окружения → распознавание ссылок → обнаружение провайдера/модели → подтверждение параметров → параллельная обработка нескольких видео → доработка на основе субтитров после генерации, в результате — 3 доработанные портативные заметки (note.md + скриншоты Assets/ + раздел «Мнение зрителей», с сохранением note_original.md для сравнения).
IELTS: разбор заблуждений + разбор четырёх разделов (аудирование/чтение/письмо/говорение) + 179 частотных слов для экзамена + 15 логических фраз
Судебная медицина: судмедэксперт с 43-летним стажем «разбирает по кадрам» кино и реальность, доработанная заметка расширена до 12 разделов
Transformer: подробный разбор механизма самовнимания, 18 скриншотов распределены по таймлайну лекции
Полная запись процесса — см. examples/note-generation-example/README.md.
🗺️ Карта конвейера
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/>保留原版对比"]Этап | Назначение | Типовые инструменты |
Одна ссылка → одна заметка, весь конвейер автоматически |
| |
Определяет платформу и загружает аудио/видео, охватывает 1800+ сайтов и локальные файлы |
| |
Аудиодорожка в текст, локальные / облачные движки на выбор | Выполняется внутри | |
Извлекает кадры с интервалом, мультимодальная LLM «смотрит» кадры | Параметр | |
Собирает комментарии Bilibili и мнения из обсуждений | Параметр | |
Материалы → структурированный Markdown, 9 стилей на выбор |
| |
Механический экспорт SRT/VTT/JSON + креативные форматы (генерирует Agent) |
| |
Объединение нескольких файлов, предобработка, разделение говорящих |
| |
Глобальный индекс задач, просмотр занятости, очистка по необходимости |
|
0 🔄 Сквозной полный процесс
В сквозном режиме достаточно дать одну ссылку: generate_note асинхронно выполняет весь конвейер и возвращает task_id; лёгкий get_task_status опрашивает до SUCCESS/FAILED/CANCELLED (не более 3 активных задач на процесс, не отправляйте параллельно в одном сообщении). cancel_note — кооперативная отмена. «Прямая генерация AGENT» идёт через prepare_note_material — только подготовка пакета материалов, без вызова настроенной LLM, агент сам читает транскрипцию, смотрит кадры и пишет заметку.
Инструмент | Назначение | Тип |
| Одна ссылка → асинхронная генерация заметки, возвращает task_id (поддержка понимания видео / интеграции комментариев / портативных заметок со скриншотами) | MCP-инструмент |
| Лёгкий опрос статуса задачи (до SUCCESS/FAILED/CANCELLED) | MCP-инструмент |
| Кооперативная отмена активных / ожидающих задач | MCP-инструмент |
| Только подготовка пакета материалов (транскрипция / кадры / комментарии) для прямой генерации AGENT | MCP-инструмент |
Прямая генерация AGENT ( | Агент сам читает пакет материалов и пишет заметку, без настроенной LLM | SKILL / оркестрация Agent |
1 📥 Загрузка и анализ платформы
inspect_video определяет платформу (bilibili / youtube / douyin / tiktok / kuaishou / local; для платформ вне встроенных 6 возвращает platform:"generic" и автоматически использует универсальное извлечение yt-dlp, охватывающее 1800+ сайтов) + проверяет валидность ссылки (если недействительна — сразу указывает причину) + разбивает мультисегментные видео Bilibili / плейлисты YouTube на отдельные URL для каждой серии (без загрузки). Cookie платформы передаются через ! videonote login bilibili / ! videonote setup, не через MCP. Субтитры платформы (включая AI-субтитры Bilibili) используются внутри generate_note в приоритетном порядке, отдельного инструмента нет.
Инструмент | Назначение | Тип |
| Разбирает мультисегментные / плейлисты, возвращает URL для каждой серии, который можно передать в | MCP-инструмент |
2 🎙 Транскрипция речи (ASR)
Транскрипция речи (ASR) выполняется внутри generate_note: в приоритете субтитры платформы (включая AI-субтитры Bilibili), при их отсутствии — транскрипция. Движки на выбор: fast-whisper (локальный) / groq / bcut / kuaishou (облачные) / mlx-whisper (GPU на macOS Apple Silicon) / funasr (лучший для китайского, VAD + автоматическая пунктуация). Управление движками и моделями — через CLI: ! videonote transcriber set/download; просмотр состояния — get_config().
3 🖼️ Понимание видеокадров (извлечение кадров)
generate_note напрямую поддерживает параметры понимания видео: video_understanding=True + video_interval (по умолчанию 6s) + grid_size (по умолчанию [3,3]), отправляя сетку кадров мультимодальной LLM для «просмотра».
Параметр | Назначение | Тип |
| Извлечение кадров с интервалом + встроенная сетка кадров для мультимодальной модели | Параметр |
4 💬 Комментарии и отзывы
generate_note с include_comments=True + comments_limit (по умолчанию 20) собирает частотные мнения из комментариев и обсуждений в заметку, добавляя раздел «Мнение зрителей» (требуется SESSDATA Bilibili; при сбое задача не прерывается).
Параметр | Назначение | Тип |
| Добавляет в заметку раздел «Мнение зрителей» (по умолчанию 20) | Параметр |
5 ✍️ AI-резюме и заметки
Поддерживается 9 стилей: minimal / detailed / academic / tutorial / xiaohongshu / life_journal / task_oriented / business / meeting_minutes; format=["screenshot"] создаёт портативную заметку (note.md + Assets/, относительные ссылки — можно переносить целиком). Настройка провайдера/модели/транскрайбера — только через CLI (! videonote providers set / ! videonote transcriber set), просмотр — get_config(). agent_direct — прямая генерация AGENT.
Параметр | Назначение | Тип |
9 стилей заметок + | Выбор стиля / портативная заметка со скриншотами | Параметр |
| Сводка конфигурации только для чтения (значения по умолчанию / провайдер / транскрайбер / состояние cookie), опциональная проверка подключения | MCP-инструмент |
| Агент сам читает пакет материалов и пишет заметку | SKILL / оркестрация Agent |
6 📤 Экспорт в несколько форматов
Механические форматы — через export_transcript (srt / vtt / json) — детерминированная отрисовка (пересчёт таймлайна), не расходует LLM, возвращает путь file://. Креативные форматы (интеллект-карты / флеш-карточки / LaTeX / typst / пользовательские шаблоны) генерируются Agent на основе MD-черновика + SKILL-шаблонов (в LaTeX встроены шаблоны Math Note / English Article: стиль математических/технических заметок, стиль английских текстов/планов выступлений; в typst встроен шаблон zju-lab: стиль технических заметок/отчётов/статей с логотипом ZJU).
Инструмент | Назначение | Тип |
| Экспорт транскрипции в srt/vtt/json (детерминированные механические форматы) | MCP-инструмент |
Креативные форматы | Интеллект-карты / флеш-карточки / LaTeX / typst → Agent на основе черновика | SKILL / оркестрация Agent |
7 🎛️ Улучшение аудио
merge_audio объединяет несколько аудиозаписей / фрагментов встреч / несколько локальных видео в один 16kHz mono wav и затем транскрибирует. Предобработка аудио (нормализация 16kHz + автоматическое разбиение длинных >1800s, опциональное шумоподавление) по умолчанию выключена, без жёстких зависимостей. diarize_media выполняет разделение говорящих (pyannote — опциональная тяжёлая зависимость, требуется HF_TOKEN + авторизация модели).
Инструмент | Назначение | Тип |
| Объединение нескольких файлов в 16kHz mono wav (FFmpeg concat) | MCP-инструмент |
Предобработка аудио | Нормализация 16kHz + автоматическое разбиение длинных (включается в setup ②) | Конфигурация |
| Разделение говорящих (протоколы встреч / подкасты с несколькими людьми) | MCP-инструмент |
8 🗂️ Управление задачами и очистка
Для каждой задачи — отдельная папка note_results/{task_id}/: raw/ (загруженные медиа) + gen/ (транскрипция/заметки/кадры/экспорт) + управляющие файлы; глобальный индекс задач — в SQLite-таблице video_tasks (с семантическим названием). list_tasks перечисляет все задачи (по семантическому названию), cleanup_note(dry_run=True) — сначала показывает, затем очищает, cleanup_note / cleanup_all — очистка по задаче / глобальная (по умолчанию сохраняет конфигурацию и модели), 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Инструмент | Назначение | Тип |
| Список всех задач (глобальный индекс, с семантическим названием) | MCP-инструмент |
| Очистка по задаче / глобальная очистка (сброс к заводским настройкам) | MCP-инструмент |
| Готовность FFmpeg / базы данных / whisper | MCP-инструмент |
🏆 Лучшие практики
Учёба и подготовка: сквозной режим + понимание видео + последующая доработка на основе субтитров, чтобы разобрать курс досквозь.
Протокол встречи:
merge_audioобъединяет фрагменты записей →diarize_mediaразделяет говорящих → стильmeeting_minutes.Глубокое чтение лекций: после сквозной генерации агент дорабатывает на основе полных субтитров, дополняя детали по разделам.
Разбор видео: включить комментарии + интеграцию отзывов, заметка содержит раздел «Мнение зрителей».
Сквозной режим: одна ссылка через
generate_note(весь процесс загрузки/транскрибации/резюме/комментариев выполняется внутри); только подготовка материалов — черезprepare_note_material.Реальные примеры: полные записи процессов — в
examples.
🤝 Как внести вклад
Функциональная ветка → PR →
dev(CI smoke-тесты должны быть зелёными); после стабилизацииdev→ PR →main(защищённая ветка, требуется ревью).Процесс, имена веток и самопроверка перед коммитом — см. CONTRIBUTING.md.
🙏 Благодарности
Благодарим сообщество и всех контрибьюторов, Glama за включение MCP-сервера в каталог, а также все открытые зависимости и вдохновение от upstream-проектов конвейера.
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