关于 youtube-summarize
用于获取 YouTube 字幕和视频信息的 MCP 服务,也可返回摘要指令。支持多种字幕格式、语言偏好、播放列表浏览和筛选视频搜索。
主要功能
- 01以五种格式获取字幕
- 02获取视频元数据
- 03为字幕添加时间戳
- 04返回可审阅的摘要指令
- 05浏览播放列表并搜索视频
- 06选择字幕语言
适用场景
- 01按需读取指定格式的字幕
- 02在 LLM 处理前审阅摘要指令
- 03按筛选条件查找视频
- 04枚举并排序播放列表视频
MCP 相关
向 MCP 客户端提供字幕、元数据、播放列表、视频搜索及字幕语言查询工具。摘要工具会返回指令和字幕内容,供客户端 LLM 处理。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
youtube-summarize
用于获取 YouTube 视频文字稿并可选择进行总结的 MCP 服务。

功能
- 获取文字稿,支持多种格式(文本、JSON、SRT、WebVTT、美化输出)
- 视频元数据——标题、描述、频道、上传日期、时长、观看次数、章节(通过 yt-dlp 获取)
- 纯文本文字稿可选包含时间戳
- 总结视频——返回文字稿,并将提示词明确分区列出,供人工审核后再由大模型处理
- 列出播放列表视频——快速枚举任意公开播放列表,并可选择排序方式
- 搜索视频——提供整洁的排序结果和筛选选项,不含 YouTube 网站上的广告、Shorts 栏目和个性化推荐
- 列出视频文字稿支持的语言
- 灵活解析 URL——接受完整的 YouTube URL(
youtube.com/watch?v=、youtu.be/、youtube.com/embed/、youtube.com/shorts/)或纯视频 ID - 多语言支持——请求特定语言的文字稿,并按优先级回退
工具
get_transcript
获取 YouTube 视频的文字稿。默认情况下,响应会在前面加上 [METADATA] 区块(标题、频道、发布日期、时长、观看次数、描述);设置 include_metadata=false 可仅输出文字稿。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
url | string | 必填 | YouTube 视频 URL 或视频 ID |
languages | string[] | ["en"] | 按优先级排列的首选语言 |
format | string | "text" | 输出格式:text、json、pretty、webvtt、srt |
preserve_formatting | boolean | false | 在文字稿中保留 HTML 格式标签 |
include_timestamps | boolean | false | 当 format="text" 时,若设为 true,则在每行前添加 [HH:MM:SS]。其他格式不受影响(它们已包含时间戳)。 |
include_metadata | boolean | true | 在文字稿前添加 [METADATA] 区块。设置为 false 可仅输出文字稿。 |
summarize_transcript
获取文字稿并返回总结说明。响应分为清晰标记的区块([INSTRUCTIONS]、[PROMPT_SOURCE]、[VIDEO]、[METADATA]、[TRANSCRIPT]),便于人工审核提示词后再让大模型处理。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
url | string | 必填 | YouTube 视频 URL 或视频 ID |
prompt | string | (默认提示词) | 自定义总结说明 |
languages | string[] | ["en"] | 按优先级排列的首选语言 |
include_timestamps | boolean | false | 在每行文字稿前添加 [HH:MM:SS]。 |
include_metadata | boolean | true | 包含 [VIDEO] 区块,其中有标题、频道、发布日期、时长、观看次数和描述。 |
get_video_metadata
获取 YouTube 视频的元数据(标题、描述、频道、上传日期、时长、观看次数、标签、章节等)。由 yt-dlp 提供支持。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
url | string | 必填 | YouTube 视频 URL 或视频 ID |
list_playlist_videos
列出 YouTube 播放列表中的视频(标题、ID、频道、时长、观看次数、URL)。每个视频的元数据有意保持精简,以确保即使播放列表很大,调用也能保持快速;如需完整详情,可使用特定视频 ID 调用 get_video_metadata。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
url | string | 必填 | YouTube 播放列表 URL(带 ?list=...)或纯播放列表 ID |
limit | integer | 500 | 返回视频数量上限 |
sort_by | string | "index" | 可选值:index(播放列表顺序)、title、duration、views。不支持 upload_date。 |
order | string | "asc" | asc 或 desc |
search_videos
在 YouTube 上搜索视频,并返回简洁的排序列表(标题、ID、频道、时长、观看次数、URL)——仅包含实际视频,不含广告、推荐栏或个性化内容。相关性排序仍由 YouTube 后端提供。可将结果的 ID 或 URL 与 get_transcript 或 summarize_transcript 配合使用。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
query | string | 必填 | 搜索词 |
limit | integer | 10 | 返回结果的数量上限 |
sort_by | string | "relevance" | 可选值:relevance、date(最新优先)、views、rating |
uploaded | string | "any" | 按上传时间筛选:any、hour、today、week、month、year |
duration | string | "any" | 按时长筛选:any、short(<4 分钟)、medium(4–20 分钟)、long(>20 分钟) |
list_transcripts
列出视频可用的字幕语言。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
url | string | 必填 | YouTube 视频 URL 或视频 ID |
安装
快速开始(推荐)
uvx youtube-summarize
Claude Desktop
添加到 claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"youtube-summarize": {
"command": "uvx",
"args": ["youtube-summarize"]
}
}
}
Claude Code
claude mcp add youtube-summarize -- uvx youtube-summarize
其他 MCP 客户端
通过 stdio 运行服务:
uvx youtube-summarize
前置要求
- Python 3.13+
- uv 包管理器
开发
# Install dependencies
uv sync
# Launch the MCP inspector (web UI for testing tools)
uv run mcp dev main.py
许可证
MIT
mcp-name: io.github.zlatkoc/youtube-summarize
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。