使用说明
YouTube MCP服务器
一个简单的模型上下文协议(MCP)服务器,提供YouTube视频元数据和转录。内置于 FastMCP 更干净、更Python化的方法。
特性
- 获取视频元数据:检索标题、描述、持续时间、浏览次数、上传日期、频道信息和缩略图
- 获取视频转录:使用自动回退功能获取多种语言的视频转录
安装
- 安装Python依赖项:
pip install -r requirements.txt
- 使服务器可执行:
chmod +x server.py
用法
运行服务器
服务器使用stdio进行通信。运行它:
python server.py
MCP客户端配置
将此服务器添加到您的MCP客户端配置中(例如,在Cursor或其他兼容MCP的客户端中):
{
"mcpServers": {
"youtube-mcp": {
"command": "python",
"args": ["/path/to/youtube-mcp/server.py"]
}
}
}
工具: get_youtube_video_info
参数:
video_url_or_id(必填):YouTube视频URL或视频ID- 示例:
https://www.youtube.com/watch?v=dQw4w9WgXcQhttps://youtu.be/dQw4w9WgXcQdQw4w9WgXcQ
- 示例:
language_codes(可选):成绩单的首选语言代码数组(默认值:["en"])- 例子:
["en", "es", "fr"]
- 例子:
退货:
video_id:提取的视频IDmetadata:视频元数据,包括标题、描述、持续时间、观看次数等。transcript:转录数据,包括全文、片段、语言和生成状态
示例响应:
{
"video_id": "dQw4w9WgXcQ",
"metadata": {
"title": "Video Title",
"description": "Video description...",
"duration": 212,
"view_count": 1000000,
"upload_date": "20231015",
"uploader": "Channel Name",
"channel": "Channel Name",
"thumbnail": "https://...",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
},
"transcript": {
"transcript": "Full transcript text...",
"segments": [
{
"text": "Segment text",
"start": 0.0,
"duration": 5.0
}
],
"language": "en",
"is_generated": false
}
}
依赖项
fastmcp:FastMCP框架-一个具有直观装饰器的Python MCP框架(由Prefect开发)youtube-transcript-api:用于获取YouTube成绩单yt-dlp:用于获取YouTube视频元数据pydantic:用于数据验证
为什么选择FastMCP?
FastMCP是一个现代的Python框架,用于构建MCP服务器,它:
- 使用直观的装饰器(
@mcp.tool())代替手动工具注册 - 通过以下方式简化服务器设置
mcp.run()而不是管理stdio流 - 提供更好的类型推断和验证
- 提供更干净、更可维护的代码库
- 由省长积极维护,并提供出色的文件
备注
- 服务器自动从各种YouTube URL格式中提取视频ID
- 如果手动创建的成绩单不可用,成绩单将回退到自动生成的版本
- 如果没有首选语言的成绩单,它将尝试查找任何可用的成绩单