video-link-analyzer
Allows detection, metadata retrieval, downloading, and transcription of videos from Bilibili.
Allows detection, metadata retrieval, downloading, and transcription of videos from Instagram.
Allows detection, metadata retrieval, downloading, and transcription of videos from TikTok.
Allows detection, metadata retrieval, downloading, and transcription of videos from Vimeo.
Allows detection, metadata retrieval, and downloading of videos from WeChat Channels (微信视频号).
Allows detection, metadata retrieval, downloading, and transcription of videos from YouTube.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@video-link-analyzerAnalyze this YouTube video and get transcript: https://youtu.be/dQw4w9WgXcQ"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Video Link Analyzer - MCP Server
一个独立的 MCP (Model Context Protocol) 服务器,提供链接类型智能识别和视频下载分析能力。
可被 WorkBuddy、Codex 或任何 MCP 兼容客户端连接使用。
从 GitHub 安装
每台电脑都应从仓库重新创建虚拟环境;不要复制或提交 venv/、下载视频、浏览器 Cookie 或 .env 文件。
git clone https://github.com/demielcaitlinxk441-pixel/video-link-mcp.git
cd video-link-mcpWindows:
setup.batmacOS / Linux:
chmod +x setup.sh
./setup.sh需要无字幕语音转写时,在命令后加 --with-stt。安装脚本会创建本机 venv/、安装 Chromium、运行 scripts/verify.py 和 diagnose.py,并打印可复制的 MCP 配置。若诊断提示未安装 ffmpeg,请按系统安装后重新运行 diagnose.py。
更新时执行 git pull,然后再次运行对应的安装脚本和 diagnose.py。登录 Cookie 和视频号 Cookie 只能在当前电脑的浏览器或 MCP 环境变量中配置,不能提交到仓库。
Related MCP server: Douyin MCP Server
功能概览
工具 | 功能 | 说明 |
| 链接类型识别 | 判断 URL 是视频/文章/设计页面,支持 16+ 平台 |
| 视频元数据 | 获取标题、时长、描述等,不下载文件 |
| 视频下载 | 下载视频+音频+字幕(yt-dlp),yt-dlp 失败时自动切换 Playwright 拦截下载;微信视频号支持直接 API 调用(无第三方依赖)和 Worker API 兜底 |
| 语音转文字 | 字幕不可用时用 Whisper 识别(可选) |
| 一站式分析 | 下载→字幕→STT兜底,返回完整分析数据,支持 Cookie/代理 |
支持的视频平台
YouTube、哔哩哔哩、Vimeo、抖音、TikTok、Twitter/X、Instagram、微博、腾讯视频、优酷、爱奇艺、知乎视频、小红书、斗鱼、虎牙、微信视频号(直接 API 调用或 Worker API 兜底),以及直接视频文件链接(.mp4/.mkv 等)。
快速开始
1. 运行安装脚本
cd video-link-mcp
setup.bat脚本会自动:
创建 Python 虚拟环境(
venv/)安装核心依赖(
mcp、yt-dlp)检查 ffmpeg 是否可用
输出 MCP 配置 JSON
2. 安装 ffmpeg(视频合并需要)
winget install ffmpeg或从 ffmpeg.org 下载。
3. (可选)安装语音转文字
当视频没有字幕时,可用 Whisper 进行语音识别:
venv\Scripts\pip install faster-whisper4. 配置 MCP 客户端
WorkBuddy
编辑 ~/.workbuddy/mcp.json,添加:
{
"mcpServers": {
"video-link-analyzer": {
"command": "C:\\path\\to\\video-link-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\video-link-mcp\\server.py"]
}
}
}Codex
将同样的 video-link-analyzer 配置添加到 Codex 的 MCP 配置文件中。
将路径替换为实际的项目路径。运行
setup.bat后会自动打印完整配置。
5. 运行测试
venv\Scripts\python.exe scripts\verify.py项目结构
video-link-mcp/
├── server.py # MCP 服务器入口(定义 5 个工具)
├── lib/
│ ├── __init__.py
│ ├── detector.py # 链接类型检测(URL匹配 + 页面分析)
│ ├── downloader.py # 视频下载(yt-dlp + ffmpeg + Playwright 兜底 + 视频号集成)
│ ├── wechat_channels_api.py # 微信视频号下载(直接 API 调用 + Worker API 兜底)
│ ├── playwright_downloader.py # Playwright 网络拦截下载(抖音/TikTok/小红书 兜底)
│ ├── subtitle_parser.py # 字幕解析(VTT/SRT → 纯文本)
│ └── transcriber.py # 语音转文字(faster-whisper / openai-whisper)
├── requirements.txt # 核心依赖
├── requirements-stt.txt # 可选依赖(语音转文字)
├── setup.bat # Windows 一键安装脚本
├── scripts/ # 命令行辅助工具与离线自检
│ ├── verify.py # 离线自检脚本
│ ├── intercept_download.py # Playwright 拦截下载独立脚本
│ ├── download_direct.py # 命令行直接下载脚本
│ └── download_with_cookies.bat # 使用浏览器 Cookie 下载
├── mcp_config_example.json # MCP 配置示例
├── .gitignore # Git 忽略规则(排除 venv/缓存/调试文件)
└── README.md工具详细说明
detect_link_type
输入: url (string)
输出: {
"type": "video" | "article" | "design_page" | "unknown",
"platform": "YouTube" | "Bilibili" | ... | null,
"details": "描述信息",
"confidence": 0.0-1.0
}识别逻辑(三层):
URL 模式匹配 — 已知视频平台域名(置信度 0.95)
直接视频文件 — .mp4/.mkv 等扩展名(置信度 0.90)
页面元数据分析 — 抓取 HTML 检查 video 标签、og:type、文本密度等(置信度 0.55-0.85)
analyze_video(推荐使用)
一站式调用,自动完成完整链路:
输入: url, output_dir (可选)
输出: {
"success": true,
"video_path": "/path/to/video.mp4",
"subtitle_path": "/path/to/subtitle.vtt",
"transcript": "字幕或语音转文字的文本内容",
"transcript_source": "subtitle" | "whisper" | "none",
"metadata": {
"title": "...",
"duration": 300,
"description": "...",
"uploader": "...",
...
}
}流程:
下载视频(普通平台用 yt-dlp 最高画质合并 MP4;微信视频号走直接 API 或 Worker API 下载)
尝试获取中文字幕(zh-Hans → zh → en)
有字幕 → 直接返回字幕文本
无字幕 → 尝试 Whisper 语音转文字
返回完整数据供 AI 进一步分析
依赖说明
依赖 | 用途 | 是否必须 |
| MCP 协议 SDK | 必须 |
| 视频下载 | 必须 |
ffmpeg | 视频合并 + 音频提取 | 必须 |
| Playwright 拦截下载兜底(抖音/TikTok/小红书) | 推荐 |
| 语音转文字 | 可选(无字幕时需要) |
| 语音转文字(备选) | 可选 |
环境变量
环境变量 | 用途 | 是否必须 |
| 微信视频号直接 API 模式(从 yuanbao.tencent.com 获取 Cookie) | 推荐(否则走 Worker 兜底) |
| 自定义 Worker API URL(设置即表示同意将链接交给该 Worker) | 可选 |
| 是否允许将链接发送给默认公共 Worker | 默认 |
抖音 / 需要 Cookie 的平台下载指南
抖音、TikTok 等平台在反爬升级后,经常会要求提供登录 Cookie 才能下载,错误信息通常是:
Fresh cookies needed本项目提供了多种方式解决:
方式 1:自动读取浏览器 Cookie(推荐)
download_video、get_video_info、analyze_video、extract_transcript 四个工具都支持 cookies_from_browser 参数。
支持的浏览器:chrome、edge、firefox、safari、opera、brave。
在 WorkBuddy / Codex 中调用示例:
{
"url": "https://www.douyin.com/video/123456789",
"cookies_from_browser": "chrome"
}yt-dlp 会自动从你登录过抖音的 Chrome 中读取 Cookie。
方式 2:命令行一键下载脚本
cd video-link-mcp
scripts\download_with_cookies.bat https://www.douyin.com/video/123456789 chrome如果要换浏览器:
scripts\download_with_cookies.bat https://www.douyin.com/video/123456789 edge指定输出目录:
scripts\download_with_cookies.bat https://www.douyin.com/video/123456789 chrome C:\Downloads方式 3:使用导出的 cookies.txt
安装浏览器扩展:Get cookies.txt LOCALLY
在抖音网页版登录后,点击扩展导出
cookies.txt调用时传入
cookies_file参数:
{
"url": "https://www.douyin.com/video/123456789",
"cookies_file": "C:\\Users\\you\\Downloads\\cookies.txt"
}方式 4:直接命令行使用 yt-dlp
venv\Scripts\yt-dlp.exe --cookies-from-browser chrome "https://www.douyin.com/video/123456789"或使用代理:
venv\Scripts\yt-dlp.exe --cookies-from-browser chrome --proxy http://127.0.0.1:7890 "https://www.douyin.com/video/123456789"关于 modal_id 链接
你收到的抖音精选链接可能是这种格式:
https://www.douyin.com/jingxuan?modal_id=123456789yt-dlp 不支持这种格式。本项目会自动将其转换为:
https://www.douyin.com/video/123456789所以你可以直接把 jingxuan?modal_id=... 的链接丢进来。
常见问题
Q: 下载的视频没有字幕怎么办?
A: 安装 faster-whisper 后,analyze_video 工具会自动用 Whisper 进行语音转文字。或单独调用 extract_transcript 工具。
Q: 支持哪些视频平台?
A: 任何 yt-dlp 支持的平台。完整列表见 yt-dlp 支持站点。
Q: 下载的文件保存在哪里?
A: 默认保存在系统临时目录的 video-link-analyzer/ 子目录下。可通过 output_dir 参数指定其他路径。
Q: 抖音下载报错 "Fresh cookies needed" 怎么办?
A: 有三层兜底机制:
先传 Cookie 参数:调用时传入
"cookies_from_browser": "chrome"(或 edge / firefox),详见上方「抖音 / 需要 Cookie 的平台下载指南」。自动 Playwright 兜底:如果 yt-dlp 仍然失败(如 Chrome DPAPI 加密问题、Edge 数据库锁定),
download_video和analyze_video会自动切换到 Playwright 拦截模式——用无头浏览器打开视频页面,拦截真实视频 URL 直接下载,不需要 Cookie。手动用脚本:运行
venv\Scripts\python.exe scripts\intercept_download.py "抖音链接"直接走 Playwright 拦截。
Playwright 兜底是全自动的,你不需要额外操作。首次使用前确保已安装:
venv\Scripts\pip.exe install playwright
venv\Scripts\python.exe -m playwright install chromiumQ: MCP 工具新增了哪些参数?
A: 以下四个工具都新增了可选参数:
cookies_from_browser: 自动读取浏览器 Cookie,例如"chrome"、"edge"、"firefox"cookies_file: 传入 Netscape 格式的cookies.txt文件路径proxy: 代理地址,例如"http://127.0.0.1:7890"
Q: 如何在 WorkBuddy 中启用?
A: 配置 ~/.workbuddy/mcp.json 后,在 WorkBuddy 的连接器管理页面点击「Trust」信任该 MCP 服务器即可。
微信视频号下载指南
微信视频号的视频流地址仅通过 WeixinJSBridge 在微信 App 内部传递,Web API 不暴露视频 URL,因此 yt-dlp 和 Playwright 均无法直接下载。
本项目采用 双模式下载策略,优先使用直接 API 调用(无第三方依赖),未配置时自动回退到 Worker API:
模式 1:直接 API 调用(推荐,无第三方依赖)
在本地直接调用腾讯元宝 API + 微信视频号 API 完成链接解析和视频下载,不依赖任何第三方服务。
工作原理:
调用
https://yuanbao.tencent.com/api/weixin/get_parse_result解析分享链接 → 获取export_id和playable_url从
playable_url提取token和eid调用
https://channels.weixin.qq.com/finder-preview/api/feed/get_feed_info→ 获取视频直链 + 元数据直接从 CDN(
finder.video.qq.com)下载有效 MP4 文件(无需解密)
配置方式:
获取元宝 Cookie:
用浏览器打开 https://yuanbao.tencent.com 并登录
打开浏览器开发者工具(F12)→ Network 标签
随便发一条消息,找到任意
api/chat请求复制请求头中完整的
Cookie值
然后通过以下任一方式配置:
方式 A — 环境变量(推荐):
在 MCP 配置中设置环境变量:
{
"mcpServers": {
"video-link-analyzer": {
"command": "python",
"args": ["server.py"],
"env": {
"WECHAT_CHANNELS_YUANBAO_COOKIE": "你的元宝Cookie"
}
}
}
}方式 B — 工具参数:
调用 download_video、get_video_info 或 analyze_video 时传入 yuanbao_cookie 参数:
{
"url": "https://weixin.qq.com/sph/AFWYoXF5Bw",
"yuanbao_cookie": "你的元宝Cookie"
}配置后,返回结果中 download_method 字段为 "wechat_channels_direct"。
模式 2:Worker API(默认启用)
如果未配置元宝 Cookie,系统会默认调用公共 Cloudflare Worker API(sph.litao.workers.dev)解析视频号链接。若不希望将链接发送给公共服务,请在 MCP 配置中设置 WECHAT_CHANNELS_ALLOW_PUBLIC_WORKER=false。
关闭方式: 在 MCP 配置中设置:
{
"env": {
"WECHAT_CHANNELS_ALLOW_PUBLIC_WORKER": "false"
}
}返回结果中 download_method 字段为 "wechat_channels_worker"。如不希望使用公共 Worker,可关闭该选项、配置元宝 Cookie 或自建 Worker。
自定义 Worker URL: 如果公共 Worker 不可用,可以自部署 Worker(参考 ltaoo/wx_channels_download 的 sph_deploy 命令),然后设置环境变量:
{
"env": {
"WECHAT_CHANNELS_WORKER_URL": "https://your-worker.your-subdomain.workers.dev/api/fetch_video_profile"
}
}支持的链接格式
https://weixin.qq.com/sph/<id>(分享链接)https://channels.weixin.qq.com/finder-previewhttps://channels.weixin.qq.com/web/pages/feed/
许可证
本项目采用 MIT License 开源。你可以使用、修改、发布和商用代码,但必须保留版权与许可证声明;软件按“现状”提供,不附带担保。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/demielcaitlinxk441-pixel/video-link-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server