YouTube MCP 服务器
用于与 YouTube 数据交互的模型上下文协议 (MCP) 服务器。该服务器提供资源和工具,用于通过 stdio 接口查询 YouTube 视频、频道、评论和文字记录。
特征
使用高级过滤选项搜索 YouTube 视频
获取有关特定视频和频道的详细信息
比较多个视频的统计数据
按地区和类别发现热门视频
分析频道性能和视频统计数据
检索视频评论和文字记录/字幕
生成视频分析和文字记录摘要
Related MCP server: YouTube Translate MCP
先决条件
Node.js(v16+)
YouTube 数据 API 密钥
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 YouTube MCP 服务器:
npx -y @smithery/cli install @coyaSONG/youtube-mcp-server --client claude手动安装
克隆此存储库:
git clone https://github.com/coyaSONG/youtube-mcp-server.git cd youtube-mcp-server安装依赖项:
npm install在根目录中创建一个
.env文件:YOUTUBE_API_KEY=your_youtube_api_key_here PORT=3000
用法
构建和运行
构建项目:
npm run build运行服务器:
npm start以开发模式运行:
npm run dev清理构建工件:
npm run clean
Docker 部署
该项目包含一个用于容器化部署的Dockerfile:
# Build the Docker image
docker build -t youtube-mcp-server .
# Run the container
docker run -p 3000:3000 --env-file .env youtube-mcp-serverAPI 参考
资源
youtube://video/{videoId}- 获取特定视频的详细信息youtube://channel/{channelId}- 获取有关特定频道的信息youtube://transcript/{videoId}- 获取特定视频的成绩单可选查询参数:
?language=LANGUAGE_CODE(例如en、ko、ja)
工具
基本工具
search-videos- 使用高级过滤选项搜索 YouTube 视频get-video-comments- 获取特定视频的评论get-video-transcript- 获取特定视频的文字记录(可选语言)enhanced-transcript- 具有过滤、搜索和多视频功能的高级成绩单提取get-key-moments- 从视频记录中提取带有时间戳的关键时刻,以便于导航get-segmented-transcript- 将视频记录分成多个片段以便于分析
统计工具
get-video-stats- 获取特定视频的统计信息get-channel-stats- 获取订阅者数量、观看次数和其他频道统计数据compare-videos- 比较多个视频的统计数据
发现工具
get-trending-videos- 按地区和类别检索热门视频get-video-categories- 获取特定区域可用的视频类别
分析工具
analyze-channel-videos- 分析特定频道视频的表现趋势
提示
video-analysis- 生成 YouTube 视频的分析transcript-summary- 根据视频成绩单生成视频摘要,可自定义长度并提取关键字segment-by-segment-analysis- 通过分析视频的每个片段提供内容的详细细分
示例
访问视频脚本
youtube://transcript/dQw4w9WgXcQ获取特定语言的成绩单
youtube://transcript/dQw4w9WgXcQ?language=en使用统计工具
// Get video statistics
{
"type": "tool",
"name": "get-video-stats",
"parameters": {
"videoId": "dQw4w9WgXcQ"
}
}
// Compare multiple videos
{
"type": "tool",
"name": "compare-videos",
"parameters": {
"videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"]
}
}使用成绩单摘要提示
{
"type": "prompt",
"name": "transcript-summary",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"language": "en"
}
}使用增强转录工具
// Basic multi-video transcript extraction
{
"type": "tool",
"name": "enhanced-transcript",
"parameters": {
"videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"],
"format": "timestamped"
}
}
// With search and time filtering
{
"type": "tool",
"name": "enhanced-transcript",
"parameters": {
"videoIds": ["dQw4w9WgXcQ"],
"filters": {
"timeRange": {
"start": 60, // Start at 60 seconds
"end": 180 // End at 180 seconds
},
"search": {
"query": "never gonna",
"contextLines": 2
}
},
"format": "merged"
}
}
// With smart segmentation for easier analysis
{
"type": "tool",
"name": "enhanced-transcript",
"parameters": {
"videoIds": ["dQw4w9WgXcQ"],
"filters": {
"segment": {
"count": 5,
"method": "smart" // Breaks at natural pauses
}
},
"format": "timestamped",
"language": "en"
}
}使用增强的转录分析功能
// Get key moments from a video
{
"type": "tool",
"name": "get-key-moments",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"maxMoments": "5"
}
}
// Get a segmented transcript
{
"type": "tool",
"name": "get-segmented-transcript",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"segmentCount": "4"
}
}
// Get a segment-by-segment analysis
{
"type": "prompt",
"name": "segment-by-segment-analysis",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"segmentCount": "4"
}
}
// Get customized transcript summary
{
"type": "prompt",
"name": "transcript-summary",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"language": "en",
"summaryLength": "detailed",
"includeKeywords": "true"
}
}错误处理
服务器处理各种错误情况,包括:
API 密钥无效
未找到视频或频道
无法获取成绩单
网络问题
执照
麻省理工学院
致谢
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.