关于 MCP YouTube Server
为 YouTube 提供搜索和内容查询能力的 MCP 服务,供兼容的主机应用调用。除视频搜索与详情外,还能查询频道、播放列表、相关视频及热门视频。
主要功能
- 01搜索视频
- 02获取视频详情
- 03查询频道与视频列表
- 04搜索播放列表并列出内容
- 05查找相关及热门视频
适用场景
- 01按主题搜索 YouTube 视频
- 02查看指定视频或频道的详细信息
- 03查找播放列表中的视频
MCP 相关
该 MCP 服务向兼容主机应用公开 YouTube 搜索及视频、频道和播放列表查询工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP YouTube 服务
这是一个简单的模型上下文协议(MCP)服务,提供与 YouTube 交互的工具。它允许 MCP 宿主应用(例如 Claude for Desktop):
- 搜索 YouTube 视频。
- 获取特定 YouTube 视频的详细信息。
要求
- Python 3.10 或更高版本。
- uv(运行安装脚本前必须先安装)。
- YouTube Data API v3 密钥。你可以从 Google Cloud Console 获取。
- 兼容
bash的 shell(主要用于在 Linux/macOS 上运行安装脚本)。
安装与设置
-
克隆代码库:
git clone https://github.com/davo00019/mcp-server-youtube.git cd mcp-server-youtube -
运行安装脚本:
- 确保已安装
uv(运行pip install uv,或参阅 uv 安装说明)。 - 在
mcp-server-youtube目录内运行:bash setup.sh - 脚本将:
- 检查是否已安装
uv。 - 在
mcp-server-youtube目录中创建虚拟环境(.venv)。 - 安装依赖项(
uv sync)。 - 提示你输入 YouTube API 密钥并创建
.env文件。 - 将服务包装脚本设为可执行。
- 打印最终说明以及 MCP 宿主配置所需的路径。
- 检查是否已安装
- 确保已安装
-
配置 MCP 宿主:
- 按照
setup.sh脚本末尾打印的说明操作。 - 复制脚本提供的“Wrapper Script Path”。
- 将此路径粘贴到 MCP 宿主的配置文件(例如
claude_desktop_config.json)中,作为youtube服务的command,并确保args为[]。
- 按照
配置详情(.env)
setup.sh 脚本会提示你输入 YouTube Data API v3 密钥,并在 mcp-server-youtube 目录中创建 .env 文件,内容如下:
YOUTUBE_API_KEY=YOUR_API_KEY_HERE
之后如需更改密钥,可以直接编辑此 .env 文件。
在 MCP 宿主中运行(示例:Claude for Desktop)
运行 setup.sh 脚本并按上述说明配置 MCP 宿主后(参见“安装与设置”中的步骤 3),宿主应用启动时应会自动启动此服务。
-
找到 Claude for Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
编辑配置文件: 更新
mcpServers部分。setup.sh脚本(通过print_config_paths.py)会提供示例 JSON 结构,准确展示如何配置youtube服务条目,包括command字段的正确绝对路径。将脚本输出中的示例复制并粘贴到配置文件中,或根据示例进行调整。 -
重启 Claude for Desktop。
- Windows 用户须知:
setup.sh和run_server.sh脚本适用于bash环境(Linux/macOS)。你可能需要手动完成设置步骤(创建 venv、安装依赖、创建.env,以及使用直接的 Python/脚本路径配置宿主),或为 Windows 调整脚本(例如创建run_server.bat)。
- Windows 用户须知:
用法
在 MCP 宿主中配置服务并重启宿主后,YouTube 工具应该就可以使用了。 随后,你可以在宿主应用中使用自然语言提示:
- “在 YouTube 上搜索 ‘python async tutorial’”
- “查找有关 ‘MCP server development’ 的视频”
- “获取 YouTube 视频 ID XXXXXXX 的详情”(将 XXXXXXX 替换为有效 ID)
宿主应用会与本地 youtube_server.py 进程通信,以完成这些请求。
可用工具
服务器目前提供以下工具:
search_videos(query: str, max_results: int = 5):根据查询字符串搜索 YouTube 视频。get_video_details(video_id: str):获取指定视频 ID 的详细信息(摘要、统计数据、内容详情)。get_channel_details(channel_id: str):获取指定频道 ID 的详细信息(摘要、统计数据)。list_channel_videos(channel_id: str, max_results: int = 10):列出指定频道 ID 上传的近期视频。search_playlists(query: str, max_results: int = 5):搜索与查询字符串匹配的 YouTube 播放列表。get_playlist_items(playlist_id: str, max_results: int = 10):列出指定播放列表 ID 中的视频。get_related_videos(video_id: str, max_results: int = 5):查找 YouTube 认为与指定视频 ID 相关的视频。get_popular_videos(region_code: str = 'US', video_category_id: str = '0', max_results: int = 10):列出指定地区或类别中当前热门的视频。
参与贡献
欢迎贡献!如果您有改进建议或修复了错误,请随时提交问题或拉取请求。
许可证
本项目采用 MIT 许可证授权。详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。