YouTube趋势MCP服务器
](https://badge.fury.io/py/youtube-trending-mcp)   
无需网络抓取即可收集热门YouTube视频!此MCP服务器使用 yt-dlp。无需web抓取,无需API密钥,无配额!
特性
- 无网页抓取 -使用yt-dlp稳定的API访问
- 没有API密钥 -永远完全免费
- 无配额 -无限制的数据收集
- 类别筛选 -任何主题:音乐、游戏、烹饪、科技等。
- 每日排名 -跟踪随时间变化的趋势视频
- RSS回退 -替代数据源
- SQLite存储 -内置数据库支持
安装
pip install youtube-trending-mcp或者从源代码安装:
git clone https://github.com/AIKONG2024/youtube-trending-mcp.git
cd youtube-trending-mcp
pip install -e .快速开始
克劳德代码
添加到MCP配置中:
{
"mcpServers": {
"youtube-trending": {
"command": "python",
"args": ["-m", "youtube_trending_mcp"],
"env": {
"DATA_DIR": "/path/to/data"
}
}
}
}光标
添加 ~/.cursor/mcp.json:
{
"mcpServers": {
"youtube-trending": {
"command": "python",
"args": ["-m", "youtube_trending_mcp"]
}
}
}OpenAI 代码专家
{
"mcpServers": {
"youtube-trending": {
"command": "python",
"args": ["-m", "youtube_trending_mcp"],
"env": {
"DATA_DIR": "./data"
}
}
}
}LLM工具参考
工具概述
| 工具 | 说明 |
|---|---|
search_trending_videos | 按类别搜索热门视频 |
search_custom_videos | 使用自定义查询搜索任何主题 |
get_video_metadata | 获取视频的详细元数据 |
collect_daily_ranking | 收集并保存每日排名 |
get_youtube_rss_feed | 从频道/播放列表获取RSS源 |
filter_videos | 按观看次数、点赞、持续时间过滤视频 |
搜索_渲染_视频
Parameters:
category: string (default: "all") - "all", "pets", "music", "gaming", "entertainment", or any topic
max_results: int (default: 20, range: 1-100)
region: string (default: "US") - Country code
Returns: { success, count, category, videos: [VideoObject] }搜索_自定义_视频
Parameters:
query: string (required) - Any search term
max_results: int (default: 20)
min_views: int (default: 0) - Filter by minimum views
sort_by: string (default: "relevance") - "relevance", "views", "date"
Returns: { success, query, count, videos: [VideoObject] }获取_视频_元数据
Parameters:
video_id: string (required) - YouTube video ID (11 chars)
Returns: { success, video: VideoObject }集合银行
Parameters:
category: string (default: "all")
max_results: int (default: 50)
save_to_db: bool (default: true)
save_to_json: bool (default: true)
Returns: { success, count, output_paths: [...] }获取youtube_rss_feed
Parameters:
channel_id: string - Channel ID (starts with "UC...")
playlist_id: string - Playlist ID
(At least one required)
Returns: { success, count, feed_type, videos: [VideoObject] }过滤器_视频
Parameters:
videos: array (required) - List of VideoObjects
min_views: int - Minimum view count
min_likes: int - Minimum like count
max_duration: int - Max duration in seconds
exclude_keywords: array - Keywords to exclude
Returns: { success, original_count, filtered_count, videos: [VideoObject] }视频对象架构
{
"video_id": "dQw4w9WgXcQ",
"title": "Video Title",
"channel": "Channel Name",
"channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw",
"views": 1500000000,
"likes": 16000000,
"upload_date": "20091025",
"duration": 212,
"description": "Description (max 1000 chars)",
"categories": ["Music"],
"tags": ["tag1", "tag2"],
"thumbnail": "https://i.ytimg.com/vi/.../maxresdefault.jpg",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}常见工作流
# Find popular videos on any topic
search_custom_videos(query="machine learning", max_results=30, sort_by="views")
# Get trending by category
search_trending_videos(category="gaming", max_results=50, region="KR")
# Filter results
videos = search_custom_videos(query="cooking", max_results=100)
filter_videos(videos=videos, min_views=50000, max_duration=600)
# Save daily rankings
collect_daily_ranking(category="music", max_results=100)备注
- 视频ID:11个字符(例如。,
dQw4w9WgXcQ) - 通道ID:以开头
UC+22个字符 - 持续时间:秒
- 上传日期:
YYYYMMDD格式
为什么是yt-dlp而不是网络抓取?
| Web抓取 | yt-dlp方法 |
|---|---|
| 需要剧作家(重型) | 不需要浏览器 |
| 随着站点更改而中断 | 稳定的内部API |
| 反机器人保护问题 | 社区维护(143k+星) |
| 法律问题(ToS) | 每周更新 |
| 高维护 | 可靠快速 |
发展
git clone https://github.com/AIKONG2024/youtube-trending-mcp.git
cd youtube-trending-mcp
pip install -e ".[dev]"
pytest tests/ -v相关项目
- yt-dlp mcp -通过MCP下载视频和成绩单
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
用爱创造AIKONG2024
