使用说明
Video Analyzer MCP Server
Analyze any video with AI — YouTube, TikTok & Instagram
Powered by Google Gemini 3.5 Flash · FastMCP · yt-dlp
Features · Architecture · Quick Start · Integration · Security · العربية
特性
v1.5.2暴露 18个MCP工具:
| 工具 | 它做什么 |
|---|---|
analyze_video |
具有自定义提示的完整音频+视觉分析。使用Gemini多模式理解。 |
get_transcript |
提取带有说话者身份的带时间戳的成绩单。通过自动检测支持100多种语言。 |
ask_about_video |
询问有关视频内容的任何问题。 |
prepare_slideshow_assets |
将有序的幻灯片图像作为MCP图像块返回,以便Claude/客户端AI可以直接检查它们。 |
find_video_moments |
查找具有紧凑/标准/全结构化输出的匹配时刻。 |
analyze_video_segment |
仅分析选定的时间范围。 |
prepare_video_context |
分析一次并保存可重用的本地上下文,以便后续问题和证据查找。 |
ask_video_context |
默认情况下,从保存的上下文中回答;双子座再分析是明确的选择加入 |
list_video_contexts |
列出已保存的本地上下文。 |
delete_video_context |
删除一个已保存的上下文。 |
get_video_frame |
尽可能使用YouTube快速路径提取本地静止帧。 |
get_video_clip |
提取一个简短的本地剪辑,尽可能使用30秒的上限和YouTube快速路径。 |
get_video_evidence_asset |
选择已保存的证据并返回帧或片段参考。 |
list_video_sources |
检查本地源/上下文/资产缓存元数据。 |
cleanup_video_cache |
运行或清理托管缓存文件;默认情况下为模拟运行。 |
watch_and_analyze |
从技术视频中提取教程步骤、shell命令、代码片段和文件路径。 |
execute_tutorial_steps |
安全验证和审查提取的步骤;仅在确认后执行。 |
check_analysis_job |
轮询TikTok/Instagram异步下载的后台作业状态。 |
支持的平台
| 平台 | 方法 | 速度 |
|---|---|---|
| 油管 | 直接Gemini分析——分析无需下载。帧/剪辑提取使用 yt-dlp -g 流URL+ffmpeg(如果可用),带有小部分下载回退。 |
即时/快速本地提取 |
| 试试看。 | tikwm.com API(快速)→ yt-dlp回退,使用安全的MP4 H.264/H.265选择器,避免不受支持的ByteDance bvc2/bytevc2 可能时为流 |
~8s |
| 通过curl_cffi进行页面抓取(快速)→ yt-dlp回退 | ~10s |
照片/幻灯片帖子
| 平台 | 岗位类型 | 处理 |
|---|---|---|
| 试试看。 | 照片模式幻灯片 | 下载所有图像,提取可用的音乐/音轨,并发送一个多模式Gemini请求。 |
| 旋转木马/单张照片帖子 | 按顺序下载图像幻灯片,并将其作为一篇帖子进行分析;混合视频幻灯片与元数据一起跳过。 | |
| 油管 | 社区 /post/ 图片附件 |
剪贴 ytInitialData,下载图像附件,并通过Gemini Files API对其进行分析。 |
YouTube视频直接通过Gemini的原生视频理解进行分析——零下载、零上传、最高速度。 对于YouTube证据资产,
source.mp4并非总是必需的:保存的上下文保留原始URL,因此框架/剪辑工具稍后可以使用本地流快速路径。
建筑
| 组件 | 角色 |
|---|---|
| 双子座3.5闪光灯 | 最新Gemini Flash型号——一次通过即可实现完整的音频+视觉理解 |
| FastMCP 3.x | 基于stdio传输的MCP协议框架 |
| yt-dlp+curl-cffi | 通过Chrome浏览器模拟进行视频下载,以绕过反机器人。TikTok下载更喜欢本地可解码的MP4 H.264/H.265格式,并拒绝字节跳动 bvc2/bytevc2 溪流。 |
| tikwm.com API | 当yt-dlp被WAF阻止时,TikTok快速路径回退 |
| FFmpeg | 本地帧/剪辑提取,包括在不下载完整视频的情况下提取YouTube流URL |
| 后台作业 | TikTok/Instagram的异步线程,以防止Claude Desktop超时。失败的内部结果被报告为失败的作业,而不是完成的作业。 |
操作模式
这些是行为模式,而不是工具名称:
| 模式 | 行为 |
|---|---|
auto |
默认自适应行为:YouTube直接分析;TikTok/Instagram快速API/刮取然后yt-dlp回退;保存的上下文在可用时重用。 |
api |
双子座支持的分析或再分析。这被分析工具和明确的Gemini选择加入所使用。 |
client |
MCP客户端工作流模式:长TikTok/Instagram分析返回背景 job_id 投票。 |
local |
保存的上下文、缓存、帧和剪辑操作,除非明确请求,否则可以避免Gemini。 |
快速开始
打包运行时位于 src/video_url_analyzer_mcp/server.py
控制台入口点是 video_url_analyzer_mcp:main.选择其中一个
安装路径与您的工作流匹配。
选项A——单行Windows安装程序(建议新用户使用)
irm https://raw.githubusercontent.com/u2n4/video-url-analyzer-mcp/main/install.ps1 | iex
安装程序遵循当前的MCP客户端模式:它从以下位置安装/运行
PyPI与 uvx,使用现有 GEMINI_API_KEY 环境变量时
一个已经设置,否则仅通过隐藏提示请求密钥,
并允许用户选择在哪里注册服务器:
- 克劳德代码
- 克劳德桌面版
- Codex CLI
- 光标
- 帆板运动
- VS代码/GitHub副本
- 谷歌反重力
- 克莱恩
不要将API密钥附加到PowerShell命令。如果跳过该键,
安装程序仍然会注册服务器,您可以设置 GEMINI_API_KEY
稍后。如果 GEMINI_API_KEY 已在您的用户环境中设置
安装程序将直接使用它,只打印一个掩码表单,如
AIza...abcd.
选项B-- uvx (不安装)
uvx video-url-analyzer-mcp
只要满足以下条件,即可在Windows/macOS/Linux上运行 紫外线 在PATH上。
选项C——来自签出的Windows向导
git clone https://github.com/u2n4/video-url-analyzer-mcp.git
cd video-url-analyzer-mcp
powershell -ExecutionPolicy Bypass -File scripts\install_windows.ps1
巫师:
- 验证Python 3.10+和(可选)
uv. - 将软件包安装为可编辑的签出或通过
uv tool install. - 让您保存
GEMINI_API_KEY到用户环境变量 或 到一个 被忽视.env.keys.local.密钥在日志中被屏蔽(AIza...abcd), 从未完整打印。 - 允许您通过以下方式选择默认模型
VIDEO_ANALYZER_MODEL. - 运行离线导入烟雾测试。
- 手放开
scripts/configure_mcp_clients.ps1用于客户端设置。
选项D——手动安装(任何操作系统)
git clone https://github.com/u2n4/video-url-analyzer-mcp.git
cd video-url-analyzer-mcp
pip install -e .
python -m video_url_analyzer_mcp
获取免费钥匙 谷歌AI工作室,
然后在shell环境中设置一次(setx GEMINI_API_KEY ... 上
Windows或您的 ~/.zshrc / ~/.bashrc 在macOS/Linux上)。对于本地开发人员
只是,你也可以把它放在一个gignored里 .env.keys.local 旁边
回购。
Windows启动器
start.bat 负载 .env.keys.local (如果存在),设置安全默认值
(VIDEO_ANALYZER_MODE=auto),并运行 python -m video_url_analyzer_mcp.
将其用作 command 任何倾向于单一MCP客户端的价值
可执行。
整合
跑 scripts/configure_mcp_clients.ps1 用于交互式菜单,或复制
下面的片段来自 docs/mcp-config-examples.md。巫师后退了
现有客户端配置,验证JSON/TOML,从不覆盖无关的
MCP服务器。
客户端配置使用 video-analyzer 作为本地MCP服务器条目名称。这
已发布的包仍然存在 video-url-analyzer-mcp,以及注册表名称
残余 io.github.u2n4/video-url-analyzer-mcp.
克劳德桌面(%APPDATA%\Claude\claude_desktop_config.json)
{
"mcpServers": {
"video-analyzer": {
"command": "uvx",
"args": ["video-url-analyzer-mcp"]
}
}
}
向导倾向于将API密钥留在操作系统环境中。如果你一定要
嵌入它,添加 "env": { "GEMINI_API_KEY": "YOUR_KEY_HERE" }.
克劳德代码(CLI)
claude mcp add video-analyzer --transport stdio -- uvx video-url-analyzer-mcp
或者,在 pip install -e . 在回购中:
claude mcp add video-analyzer --transport stdio -- python -m video_url_analyzer_mcp
Codex CLI(~/.codex/config.toml)
[mcp_servers.video-analyzer]
command = "uvx"
args = ["video-url-analyzer-mcp"]
VS代码/GitHub副本MCP
工作区注册写入 .vscode/mcp.json:
{
"inputs": [
{
"type": "promptString",
"id": "video-url-analyzer-gemini-api-key",
"description": "Gemini API key for video-url-analyzer-mcp",
"password": true
}
],
"servers": {
"video-analyzer": {
"type": "stdio",
"command": "uvx",
"args": ["video-url-analyzer-mcp"],
"env": {
"GEMINI_API_KEY": "${input:video-url-analyzer-gemini-api-key}"
}
}
}
}
对于所有客户端,在编辑配置后重新启动应用程序,以便新的
MCP服务器已启动。完整片段——包括Cursor、Windsurf、,
反重力(%USERPROFILE%\.gemini\antigravity\mcp_config.json),以及
克莱恩-住在 docs/mcp-config-examples.md.
使用示例
# Full video analysis with Gemini 3.5 Flash
analyze_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
# Custom analysis prompt
analyze_video("https://www.tiktok.com/@user/video/123",
prompt="List every product shown and estimate prices")
# Multilingual transcript extraction
get_transcript("https://www.instagram.com/reel/ABC123/", lang="ar")
# Ask specific questions about video content
ask_about_video("https://youtu.be/abc",
question="What programming language is used in the tutorial?")
# Analyze once, then ask locally from the saved context
prepare_video_context("https://youtu.be/abc", detail="standard")
ask_video_context("https://youtu.be/abc",
question="What happens near the end?")
# Extract visual evidence without embedding binary data in the tool output
get_video_frame("https://youtu.be/abc", timestamp="00:30")
get_video_clip("https://youtu.be/abc", start="00:20", end="00:28")
# Watch & build — extract tutorial steps
watch_and_analyze("https://www.youtube.com/watch?v=tutorial123")
安全
此服务器已针对全面的威胁模型审计进行了加固:
| 层 | 保护 |
|---|---|
| 上海光源 | URL满列表-只接受YouTube、TikTok、Instagram域名。私有IP、本地主机, file:// 此 路 不通。 |
| 命令注入 | shell=False + shlex.split().危险命令块列表(rm-rf、反向shell、eval、管道到shell)。 |
| 路径遍历 | 25+敏感路径模式被阻止(.ssh, .aws, .env,系统主管,AppData)。 |
| 传输层安全 | 对所有下载进行完整的证书验证。 |
| 浏览器Cookie | 仅通过以下方式选择加入 VIDEO_ANALYZER_COOKIES=true。默认情况下禁用。 |
| 下载大小 | 每个视频的硬限制为100 MB。 |
| DoS保护 | 最多10个并发后台作业。1小时后自动过期。储存容量为200份分析报告。 |
| 模式验证 | Gemini JSON响应在执行前经过验证。响应大小限制为500K个字符。 |
| 依赖项 | 所有版本均已固定 requirements.txt. |
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
GEMINI_API_KEY |
Google Gemini API密钥 | 必需 |
ANALYSES_DIR |
保存分析的目录 | ./analyses |
VIDEO_CONTEXT_DIR |
保存的可重用视频上下文目录 | video_contexts |
VIDEO_SOURCE_DIR |
缓存下载源媒体的目录 | video_sources |
VIDEO_ASSET_DIR |
提取的帧/剪辑目录 | video_assets |
VIDEO_ANALYZER_COOKIES |
启用浏览器cookie访问(true/false) |
false |
VIDEO_DOWNLOAD_TIMEOUT |
覆盖下载和yt-dlp超时值(秒) | 每个操作的默认值 |
VIDEO_FFMPEG_TIMEOUT |
覆盖ffmpeg提取超时值(秒) | 每个操作的现有默认值 |
VIDEO_GEMINI_TIMEOUT |
可选Gemini HTTP超时,以秒为单位 | SDK默认值 |
VIDEO_ANALYZER_MODEL |
单旋钮默认模型id用于快速和深度模型分辨率。每次呼叫 model= 和 GEMINI_FAST_MODEL / GEMINI_DEEP_MODEL 仍然优先。 |
取消设置 |
GEMINI_FAST_MODEL |
覆盖紧凑/标准细节模式 | gemini-3.5-flash |
GEMINI_DEEP_MODEL |
覆盖 full 细节模式 |
gemini-3.1-pro-preview |
默认快速模型:
gemini-3.5-flash默认深度模型 (在以下情况下使用detail="full"):gemini-3.1-pro-preview.SetVIDEO_ANALYZER_MODEL同时覆盖两者。型号可用性可以 因Google帐户、地区和API级别而异-请返回gemini-flash-latest如果您的最新id尚未启用 钥匙。 |VIDEO_ANALYZER_MODE|行为预设(auto/api/client/local);阅读者start.bat|auto|
故障排除
| 问题 | 解决方案 |
|---|---|
GEMINI_API_KEY not set |
创建 .env 文件或传递环境变量 |
| TikTok下载失败 | tikwm.com回退自动激活。确保 curl_cffi 已安装。 |
试试看 bvc2 / bytevc2 codec |
v1.4在存在兼容的MP4 H.264/H.265格式时避免了这些不受支持的ByteDance流。如果没有兼容的流可用,工具将返回结构化的 unsupported_codec 或 no_compatible_format 错误,而不是上传或假装成功。 |
| Instagram下载失败 | pip install curl_cffi 用于浏览器模拟支持 |
ENOENT 在Windows上 |
使用 start.bat 作为Claude Desktop配置中的命令 |
| 模拟目标不可用 | 重新安装: pip install "yt-dlp[curl-cffi]" |
| 克劳德桌面超时 | TikTok/Instagram在后台运行——使用 check_analysis_job(job_id) 投票 |
| 后台作业表示失败 | 当工作程序结果为错误、Gemini文件处理失败或媒体验证拒绝源时,这是预期的。 check_analysis_job 不再将这些内部故障报告为已完成。 |
prepare_video_context 重复工作 |
它重用缓存的上下文,除非 force_refresh=true |
油管 source.mp4 缺失 |
在某些情况下是预期的。框架/剪辑工具可以从保存的URL中恢复并使用 yt-dlp -g +ffmpeg快速提取。 |
| 双子座503/5xx | 双子座 generate_content 呼叫重试次数最多为3次,采用指数回退。4xx auth/schema/user错误不会重试。 |
技术栈
| 技术 | 版本 | 目的 |
|---|---|---|
| 谷歌双子座3.5 Flash | 最新 | 多模态视频分析引擎 |
| 快速多通道处理 | 3.1.0 | MCP协议框架 |
| yt-dlp | 2026.3.3 | 视频下载器 |
| curl-cffi | 0.14.0 | 浏览器模拟(TLS指纹) |
| 谷歌genai | 1.66.0 | 官方谷歌GenAI SDK |
许可证
麻省理工学院
阿拉伯语
人工智能视频分析服务器
MCP服务器用于视频分析 谷歌双子座3.5 Flash –谷歌最新的多媒体Gemini Flash模型。
特点
工具描述
|--------|-------|
| analyze_video |支持自定义命令的全面音频和图像分析|
| get_transcript |提取带有时间戳的执行文本-支持+100种语言
| ask_about_video 询问有关视频内容的任何问题
| prepare_video_context |分析一次视频并保存可重复使用的本地上下文|
| ask_video_context |从默认情况下没有Gemini的保存上下文中回答|
| get_video_frame / get_video_clip |提取照片或剪辑作为本地指南,通过yt-dlp+ffmpeg快速跟踪YouTube
| watch_and_analyze |提取技术解释、命令和代码的步骤|
| execute_tutorial_steps 安全审查和实施提取的步骤
受支持的平台
平台速度 |--------|--------| | YouTube 即时-无需下载的实时分析 | TikTok | ~ 8秒-Tikwm.com快速界面 | Instagram | ~ 10秒-从页面直接提取
快速安装(Windows)
克隆ribo,然后打开交互式处理器:
git clone https://github.com/u2n4/video-url-analyzer-mcp.git
cd video-url-analyzer-mcp
powershell -ExecutionPolicy Bypass -File scripts\install_windows.ps1
无需安装的替代方案: uvx video-url-analyzer-mcp.
安全
服务器受到以下保护:
- 上海光源 -仅允许域的白名单
- 注入命令 –禁止危险命令+无外壳执行
- 突破轨道 –阻止25+条敏感路径
- 防止过度妊娠 -最多同时执行10项任务
获取API密钥
- 前往 谷歌AI工作室
- 创建免费API密钥
- 将其存档
.env:
GEMINI_API_KEY=مفتاحك_هنا