YouTube下载器MCP服务器📺
这个项目是一个 MCP(多通道协议)服务器 这允许克劳德(或任何兼容MCP的AI代理)将YouTube视频直接下载到您计算机的下载文件夹中。它旨在与Claude的工具调用功能无缝集成。
特性
- 显示两个MCP工具:
- download_youtube_video(url: str):在后台启动YouTube视频下载并返回下载ID。 - check_download_status(download_id: str):用于检查下载的状态(正在进行、已完成或错误)。
- 下载内容将保存到系统的下载文件夹中。
- 完全异步/后台操作。
安装
- 克隆存储库:
git clone
cd youtube-downloader-mcp- 安装诗歌(如果你没有):
pip install poetry- 安装依赖项:
poetry install- 安装FFmpeg
检查并按照说明使用本网站安装此工具(https://ffmpeg.org/). 这 yt_dlp 需要FFmpeg将音频和视频文件合并为单个mp4文件。
运行MCP服务器
使用Poetry运行服务器:
poetry run python endpoints.py您应该看到这样的消息:
Running YouTube Downloader MCP server与克劳德一起使用
- 将此服务器添加为Claude设置中的工具 (或使用Claude桌面应用程序的“添加MCP服务器”功能)。
- 更新您的 claude_desktop_config.json 添加此MCP服务器配置: - ``` { "mcpServers": { "youtube-dowloader": { "command": "poetry", "args": [ "--directory", "", "run", "python", "endpoints.py" ] } } }
- 有关更多信息,请查看此链接https://modelcontextprotocol.io/quickstart/user
1. Claude将自动发现以下工具:
- `download_youtube_video(url: str)`
- `check_download_status(download_id: str)`
1. **工作流程示例:**

## 运行测试
要运行YoutubeDownloader服务的单元测试,请使用:
poetry run python -m unittest tests/test_services.py
所有测试均位于 `tests/` 目录。这些测试使用模拟,因此不会进行真正的下载或系统调用。
## 备注
- **FFmpeg是必需的** 用于视频合并。如果您没有,请从下载 [ffmpeg.org](https://ffmpeg.org/download.html) 并确保它在你的路径中。
- 所有下载都会转到系统的下载文件夹。
- 此服务器专为与Claude一起使用而设计,但任何兼容MCP的客户端都可以使用它。
## 故障排除
- 如果您看到有关非JSON输出的错误,请确保您运行的是最新代码(所有yt-dlp日志都重定向到stderr)。
- 如果你得到 `ffmpeg not installed` 错误,请安装FFmpeg并重新启动服务器。
- 如果您遇到状态不更新的问题,请确保一次只运行一个服务器实例。
## 许可证
麻省理工学院