一个全面的模型上下文协议(MCP)服务器,通过YouTube Data API v3提供实时YouTube数据访问。此服务器使AI助手能够搜索、分析并检索关于YouTube视频、频道、播放列表等的详细信息。
get_video_details - 获取包括标题、描述、统计数据和元数据在内的完整视频信息get_playlist_details - 检索播放列表信息和元数据get_playlist_items - 列出播放列表中的视频及其详细信息get_channel_details - 获取频道信息,包括订阅者数量、视频数量和描述get_video_categories - 列出特定地区的可用视频类别get_channel_videos - 获取YouTube频道的最新视频search_videos - 使用可定制参数在YouTube上搜索视频get_trending_videos - 获取特定地区的热门视频get_video_comments - 获取视频评论,并提供排序选项analyze_video_engagement - 分析互动指标并提供见解get_channel_playlists - 列出YouTube频道的播放列表get_video_caption_info - 获取可用字幕/转录信息evaluate_video_for_knowledge_base - 使用技术新鲜度评分进行智能内容评估,以供知识库整理get_video_transcript - 提取YouTube视频的实际转录内容git clone https://github.com/dannySubsense/youtube-mcp-server.git
cd youtube-mcp-server
pip install -r requirements.txt
在项目根目录创建一个credentials.yml文件:
youtube_api_key: "YOUR_YOUTUBE_API_KEY_HERE"
重要提示: 不要将你的credentials.yml文件提交到版本控制中!
python test_server.py
这将对所有14个功能进行全面测试,确保一切正常工作。
按照上述步骤安装服务器
添加到Claude Desktop配置 - 编辑你的Claude Desktop配置文件:
Windows: %APPDATA%\Claude\claude_desktop_config.json
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"youtube": {
"command": "python",
"args": ["/path/to/youtube-mcp-server/youtube_mcp_server.py"],
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key_here"
}
}
}
}
重启Claude Desktop
验证集成 - 询问Claude:“你能搜索YouTube上的Python教程吗?”
按照上述步骤安装服务器
在Cursor设置中配置:
设置环境变量 用于你的API密钥
使用Cursor测试 通过让它搜索YouTube内容
对于自定义应用或其他MCP客户端:
from youtube_mcp_server import (
get_video_details,
search_videos,
evaluate_video_for_knowledge_base
)
# 示例用法
async def example():
# 搜索视频
results = await search_videos("机器学习", max_results=5)
print(results)
# 评估视频是否适合加入知识库
evaluation = await evaluate_video_for_knowledge_base("dQw4w9WgXcQ")
print(evaluation)
你也可以使用环境变量而不是凭证文件:
export YOUTUBE_API_KEY="your_api_key_here"
# 获取详细的视频信息
result = await get_video_details("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
# 也支持视频ID
result = await get_video_details("dQw4w9WgXcQ")
# 搜索最近的Python教程
tutorials = await search_videos(
query="Python教程",
max_results=110,
order="日期"
)
# 获取美国的热门视频
trending = await get_trending_videos(region_code="US", max_results=5)
# 获取频道信息
channel_info = await get_channel_details("@3Blue1Brown")
# 获取频道的最新视频
recent_videos = await get_channel_videos("@3Blue1Brown", max_results=5)
# 获取频道的所有播放列表
playlists = await get_channel_playlists("@3Blue1Brown")
# 评估视频是否值得加入知识库
# 包括教育内容的技术新鲜度评分
evaluation = await evaluate_video_for_knowledge_base("Z6nkEZyS9nA")
# 示例输出:
# 🟢 强烈推荐 - 显示有价值内容的强烈指标
# ⏰ 内容新鲜度:非常近期(2天前)
# 🚀 技术时效性:React 2025内容 - 框架发展迅速
# 从视频中提取完整的转录内容
transcript = await get_video_transcript("Z6nkEZyS9nA")
# 也支持URL和不同语言
transcript_spanish = await get_video_transcript(
"https://www.youtube.com/watch?v=Z6nkEZyS9nA",
language="es"
)
# 示例输出:
# 📝 完整转录:[完整的视频转录文本]
# ⏰ 时间戳段落:[00:15] 欢迎参加这个教程...
# 字数:约2,847字
# 分析视频互动指标
engagement = await analyze_video_engagement("dQw4w9WgXcQ")
# 获取视频评论
comments = await get_video_comments("dQw4w9WgXcQ", max_results=10, order="相关性")
| 函数 | 目的 | 主要特性 |
|---|---|---|
get_video_details | 完整视频信息 | 观看次数、点赞数、时长、描述 |
get_playlist_details | 播放列表元数据 | 标题、描述、视频数量 |
get_playlist_items | 播放列表中的视频 | 按顺序列出并带有元数据 |
get_channel_details | 频道信息 | 订阅者数量、总观看次数、描述 |
get_video_categories | 可用类别 | 地区特定类别列表 |
get_channel_videos | 最近频道视频 | 最新的上传视频及其详细信息 |
search_videos | 视频搜索 | 多种排序方式,过滤器 |
get_trending_videos | 热门内容 | 地区特定热门视频 |
get_video_comments | 视频评论 | 排序,回复计数 |
analyze_video_engagement | 互动指标 | 行业基准,见解 |
get_channel_playlists | 频道播放列表 | 所有公开播放列表 |
get_video_caption_info | 字幕可用性 | 语言,手动与自动 |
evaluate_video_for_knowledge_base | 内容评估 | 智能新鲜度评分,针对技术内容 |
get_video_transcript | 提取转录内容 | 全文提取,时间戳,多语言 |
evaluate_video_for_knowledge_base函数包括高级内容评估:
| 函数 | 配额成本 | 备注 |
|---|---|---|
| 基础功能(get_video_details等) | 1 单位 | 成本低 |
| 搜索功能 | 100+ 单位 | 成本高 |
| 字幕功能 | 50+ 单位 | 中高成本 |
| 评估功能 | 51 单位 | 中高成本 |
每日限额: 10,000单位(默认) 监控使用情况 以避免配额耗尽。
服务器包括全面的错误处理:
运行全面的测试套件:
python test_server.py
这将使用真实的YouTube内容测试所有14个功能,并提供详细输出。
credentials.yml文件git checkout -b feature/amazing-feature)python test_server.py测试更改git commit -m '添加精彩功能')git push origin feature/amazing-feature)该项目使用以下方法开发:
详见documents/testing.md以获取详细的开发和测试程序。
“未找到API密钥”错误:
credentials.yml存在且格式正确“配额超出”错误:
“未找到视频”错误:
MCP连接问题:
本项目根据MIT许可发布 - 详情参见LICENSE文件。
准备好增强你的AI助手的YouTube功能了吗?今天就开始吧! 🚀