Video Download MCP Server
基于 you-get 的通用视频下载 MCP 服务器,支持 100+ 个视频平台的内容下载。
完全集成版本:本项目已将 you-get 的核心功能完全集成,无需外部依赖 you-get 项目。
功能特性
- 查看视频信息: 获取视频标题、大小、格式、时长等详细信息
- 下载视频: 支持从多个平台下载视频文件
- 多平台支持: 支持哔哩哔哩、YouTube、抖音、微博等100+平台
- 多种格式: 支持 MP4、FLV、WebM、MP3 等多种视频和音频格式
支持的平台
国内平台
- 哔哩哔哩 (bilibili.com)
- 抖音 (douyin.com)
- 微博视频 (weibo.com)
- 腾讯视频 (v.qq.com)
- 爱奇艺 (iqiyi.com)
- 优酷 (youku.com)
- 网易云音乐 (music.163.com)
- 知乎视频 (zhihu.com)
- 快手 (kuaishou.com)
国外平台
- YouTube (youtube.com)
- Twitter (twitter.com)
- Instagram (instagram.com)
- TikTok (tiktok.com)
- Vimeo (vimeo.com)
- Facebook (facebook.com)
- Dailymotion (dailymotion.com)
- SoundCloud (soundcloud.com)
还有更多平台支持,详见 you-get 官方文档。
安装
前置要求
- Python 3.8+
- 网络连接
本地安装和使用
# 克隆或下载项目
cd video_download_mcp
# 安装依赖
uv sync
# 运行服务器
uv run python -m bilibili_video_download_mcp
# 或者直接在 Claude Desktop 中配置使用
配置
在 Claude Desktop 的配置文件中添加以下内容:
{
"mcpServers": {
"video-download-mcp": {
"name": "Video Download MCP",
"type": "stdio",
"description": "Universal video downloader supporting 100+ platforms including Bilibili, YouTube, Douyin, etc.",
"isActive": true,
"registryUrl": "",
"command": "uv",
"args": [
"--directory",
"/path/to/your/video_download_mcp",
"run",
"python",
"-m",
"bilibili_video_download_mcp"
]
}
}
}
使用方法
工具列表
1. get_video_info
获取视频的详细信息,包括标题、大小、格式等。
参数:
url: 视频链接URL
示例:
get_video_info("https://www.bilibili.com/video/BV1xx411c7mu")
2. download_video
下载视频到指定目录。
参数:
url: 视频链接URLoutput_dir: 输出目录路径(可选,默认为临时目录)format: 可选,指定清晰度/流ID(例如dash-flv360-AVC,可先用 get_video_info 查看可用值)cookies_path: 可选,浏览器导出的 cookies 文件路径(支持 720p 及以上清晰度时常需登录)
示例:
download_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ", "/Users/username/Downloads")
指定清晰度并使用登录 cookies 示例:
download_video(
url="https://www.bilibili.com/video/BV1xx411c7mu",
output_dir="/Users/username/Downloads",
format="dash-flv720-AVC",
cookies_path="/Users/username/Desktop/cookies.txt"
)
资源
video://info/{url}
获取指定URL视频的详细信息资源(URL需要进行URL编码)。
使用示例
-
获取B站视频信息:
请使用 get_video_info 工具获取这个B站视频的信息: https://www.bilibili.com/video/BV1xx411c7mu -
下载YouTube视频:
请使用 download_video 工具下载这个YouTube视频到我的下载目录: https://www.youtube.com/watch?v=dQw4w9WgXcQ -
批量操作:
请先获取这些视频的信息,然后下载它们: - https://www.bilibili.com/video/BV1xx411c7mu - https://www.youtube.com/watch?v=dQw4w9WgXcQ
技术架构
本项目基于以下技术构建:
- MCP (Model Context Protocol): 提供标准化的工具接口
- you-get: 核心视频下载引擎
- FastMCP: 快速构建MCP服务器
- asyncio: 异步处理支持
注意事项
- 版权和法律: 请确保您有权下载和使用相关视频内容,遵守各平台的使用条款
- 网络连接: 某些平台可能有地理限制或需要登录
- 存储空间: 下载大文件前请确保有足够的存储空间
- 更新维护: 建议定期更新 you-get 以支持最新的平台变化
开发
本地开发
- 克隆项目
- 安装依赖:
pip install -e . - 运行服务器:
python -m bilibili_video_download_mcp
测试
python -m pytest tests/
许可证
MIT License - 详见 LICENSE 文件
贡献
欢迎提交 Issue 和 Pull Request!
更新日志
v1.0.0
- 初始版本发布
- 支持视频信息获取和下载功能
- 支持100+视频平台
相关链接
Metadata
Release files for bilibili-video-download-mcp 1.0.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bilibili_video_download_mcp-1.0.12.tar.gz | 143.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bilibili_video_download_mcp-1.0.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 345.4 kB
Release files / bilibili_video_download_mcp-1.0.12.tar.gz
| Download URL | bilibili_video_download_mcp-1.0.12.tar.gz |
|---|---|
| Size | 143.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f14e25cfcaded4ed31232b893633db611143b1bb5f1e85a990fe445953da5cc4
|
|
BLAKE2b-256 checksum How to use checksums |
76440aafe86372f21e0b352b3e5707e345fb5ca86b08bda7fdec215309df128c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / bilibili_video_download_mcp-1.0.12-py3-none-any.whl
| Download URL | bilibili_video_download_mcp-1.0.12-py3-none-any.whl |
|---|---|
| Size | 202.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a1ce6e487e10dd49888ed8c9663f9e66a79025f9b4d0f9a06bfc9c69831a217
|
|
BLAKE2b-256 checksum How to use checksums |
af8b67651c7fb11203e47a921d2b91a939483fcaabff3eb451f0e8bb01d31b74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|