MCP YouTube工具箱
一种MCP服务器,为AI助手提供了强大的工具,以便其与YouTube进行交互,包括视频搜索、转录提取、评论检索等更多功能。
服务介绍
py-mcp-youtube-toolbox

这是一个MCP服务器,为AI助手提供了强大的工具来与YouTube进行交互,包括视频搜索、字幕提取、评论检索等功能。
概述
py-mcp-youtube-toolbox 提供了以下与YouTube相关的功能:
- 使用高级过滤选项搜索YouTube视频
- 获取有关视频和频道的详细信息
- 检索带有排序选项的视频评论
- 以多种语言提取视频字幕和字幕
- 查找给定视频的相关视频
- 按地区获取热门视频
- 根据字幕生成视频内容摘要
- 具有过滤、搜索和多视频能力的高级字幕分析
目录
先决条件
- Python: 安装Python 3.12或更高版本
- YouTube API密钥:
- 前往Google Cloud Console
- 创建新项目或选择现有项目
- 启用YouTube Data API v3:
- 转到“APIs & Services” > “Library”
- 搜索并启用“YouTube Data API v3”
- 创建凭据:
- 转到“APIs & Services” > “Credentials”
- 点击“Create Credentials” > “API key”
- 记下您的API密钥
安装
Git克隆
bash
git clone https://github.com/jikime/py-mcp-youtube-toolbox.git
cd py-mcp-youtube-toolbox
配置
-
安装UV包管理器:
bash
curl -LsSf https://astral.sh/uv/install.sh | sh -
创建并激活虚拟环境:
bash
uv venv -p 3.12
source .venv/bin/activate # 在MacOS/Linux上
或者
.venvScriptsactivate # 在Windows上
-
安装依赖项:
bash
uv pip install -r requirements.txt -
环境变量:
bash
cp env.example .env
vi .env
使用您的YouTube API密钥更新
YOUTUBE_API_KEY=your_youtube_api_key
使用Docker
-
构建Docker镜像:
bash
docker build -t py-mcp-youtube-toolbox . -
运行容器:
bash
docker run -e YOUTUBE_API_KEY=your_youtube_api_key py-mcp-youtube-toolbox
本地运行
-
运行服务器:
bash
mcp run server.py -
运行MCP Inspector:
bash
mcp dev server.py
配置MCP设置
将服务器配置添加到您的MCP设置文件中:
Claude桌面应用程序
- 通过Smithery自动安装:
bash
npx -y @smithery/cli install @jikime/py-mcp-youtube-toolbox --client claude
- 手动安装
打开~/Library/Application Support/Claude/claude_desktop_config.json
在mcpServers对象中添加以下内容:
json
{
"mcpServers": {
"YouTube Toolbox": {
"command": "/path/to/bin/uv",
"args": [
"--directory",
"/path/to/py-mcp-youtube-toolbox",
"run",
"server.py"
],
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key"
}
}
}
}
Cursor IDE
打开~/.cursor/mcp.json
在mcpServers对象中添加以下内容:
json
{
"mcpServers": {
"YouTube Toolbox": {
"command": "/path/to/bin/uv",
"args": [
"--directory",
"/path/to/py-mcp-youtube-toolbox",
"run",
"server.py"
],
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key"
}
}
}
}#### 为 Docker 配置
json
{
"mcpServers": {
"YouTube Toolbox": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "YOUTUBE_API_KEY=your_youtube_api_key",
"py-mcp-youtube-toolbox"
]
}
}
}
工具文档
视频工具
search_videos: 使用高级筛选选项(频道、时长、地区等)搜索 YouTube 视频get_video_details: 获取特定 YouTube 视频的详细信息(标题、频道、观看次数、点赞数等)get_video_comments: 检索带有排序选项的 YouTube 视频评论get_related_videos: 查找与特定 YouTube 视频相关的视频get_trending_videos: 按地区获取 YouTube 上的热门视频
频道工具
get_channel_details: 获取有关 YouTube 频道的详细信息(名称、订阅者、观看次数等)
字幕工具
get_video_transcript: 以指定语言从 YouTube 视频中提取字幕/字幕get_video_enhanced_transcript: 具有过滤、搜索和多视频功能的高级字幕提取
提示工具
transcript_summary: 根据字幕生成可自定义选项的 YouTube 视频内容摘要
资源工具
youtube://available-youtube-tools: 获取所有可用的 YouTube 工具列表youtube://video/{video_id}: 获取特定视频的详细信息youtube://channel/{channel_id}: 获取特定频道的信息youtube://transcript/{video_id}?language={language}: 获取特定视频的字幕
开发
对于本地测试,您可以使用附带的客户端脚本:
bash
示例:搜索视频
uv run client.py search_videos query="MCP" max_results=5
示例:获取视频详情
uv run client.py get_video_details video_id=zRgAEIoZEVQ
示例:获取频道详情
uv run client.py get_channel_details channel_id=UCRpOIr-NJpK9S483ge20Pgw
示例:获取视频评论
uv run client.py get_video_comments video_id=zRgAEIoZEVQ max_results=10 order=time
示例:获取视频字幕
uv run client.py get_video_transcript video_id=zRgAEIoZEVQ language=ko
示例:获取相关视频
uv run client.py get_related_videos video_id=zRgAEIoZEVQ max_results=5
示例:获取热门视频
uv run client.py get_trending_videos region_code=ko max_results=10
示例:高级字幕提取
uv run client.py get_video_enhanced_transcript video_ids=zRgAEIoZEVQ language=ko format=timestamped include_metadata=true filters.timeRange.start=100 filters.timeRange.end=200 filters.search.query=에이전트 filters.search.caseSensitive=true filters.segment.method=equal filters.segment.count=2
示例:
许可证
MIT 许可证