YouTube MCP服务器
](https://smithery.ai/server/@coyaSONG/youtube-mcp-server)
用于与YouTube数据交互的模型上下文协议(MCP)服务器。此服务器提供资源和工具,通过stdio界面查询YouTube视频、频道、评论和转录。
特性
- 使用高级过滤选项搜索YouTube视频
- 获取特定视频和频道的详细信息
- 比较多个视频的统计数据
- 按地区和类别发现热门视频
- 分析频道性能和视频统计数据
- 检索视频评论和文字记录/字幕
- 生成视频分析和成绩单摘要
先决条件
- Node.js(v16+)
- YouTube数据API密钥
安装
通过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 cleanDocker部署
该项目包括一个用于容器化部署的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密钥无效
- 未找到视频或频道
- 成绩单不可用
- 网络问题
许可证
麻省理工学院
