Video URL Analyzer
概览
作者提供的说明(英文原文)
Analyze YouTube/TikTok/Instagram videos: transcripts, AI insights, tutorial extraction
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新↓ 182/周 · ★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在你的电脑上运行
- 传输方式: stdio
- 分类: 营销与社交媒体
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
- 注册中心没有列出需要填写的密钥。
你需要
- PyPI已安装 Python 的 uv(用于 uvx 命令)
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"video-url-analyzer": {
"command": "uvx",
"args": [
"video-url-analyzer-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add video-url-analyzer -- uvx video-url-analyzer-mcp或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"video-url-analyzer": {
"command": "uvx",
"args": [
"video-url-analyzer-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"video-url-analyzer": {
"type": "stdio",
"command": "uvx",
"args": [
"video-url-analyzer-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 u2n4 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与“营销与社交媒体”中的其他服务器比较i
- 星标数多于此分类中其他 3617 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 3617 个服务器的 9% 更新
- 基础检查结果等于或优于此分类中其他 3617 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Video URL Analyzer 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(1.5.1)于6个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
有什么可以替代它?
同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Video Analyzer MCP Server
Analyze any video with AI — YouTube, TikTok & Instagram
Powered by Google Gemini 3.8 Flash · FastMCP · yt-dlp
Features · Architecture · Quick Start · Integration · Security · العربية
Features
v1.6.0 exposes 18 MCP tools:
| Tool | What it does |
|---|---|
analyze_video | Full audio + visual analysis with custom prompts. Uses Gemini multimodal understanding. |
get_transcript | Extract timestamped transcript with speaker identification. Supports 100+ languages via auto-detection. |
ask_about_video | Ask any question about the video content. |
prepare_slideshow_assets | Return ordered slideshow images as MCP image blocks so Claude/the client AI can inspect them directly. |
find_video_moments | Find matching moments with compact/standard/full structured output. |
analyze_video_segment | Analyze only a selected time range. |
prepare_video_context | Analyze once and save a reusable local context for follow-up questions and evidence lookup. |
ask_video_context | Answer from saved context by default; Gemini reanalysis is explicit opt-in. |
list_video_contexts | List saved local contexts. |
delete_video_context | Delete one saved context. |
get_video_frame | Extract a local still frame, using the YouTube fast path when possible. |
get_video_clip | Extract a short local clip, with a 30s cap and YouTube fast path when possible. |
get_video_evidence_asset | Select saved evidence and return a frame or clip reference. |
list_video_sources | Inspect local source/context/asset cache metadata. |
cleanup_video_cache | Dry-run or clean managed cache files; dry-run is the default. |
watch_and_analyze | Extract tutorial steps, shell commands, code snippets, and file paths from technical videos. |
execute_tutorial_steps | Validate and review extracted steps safely; executes only with confirmation. |
check_analysis_job | Poll background job status for TikTok/Instagram async downloads. |
Supported Platforms
| Platform | Method | Speed |
|---|---|---|
| YouTube | Direct Gemini analysis — no download needed for analysis. Frame/clip extraction uses yt-dlp -g stream URLs + ffmpeg when available, with a small section-download fallback. | Instant / fast local extraction |
| TikTok | tikwm.com API (fast) → yt-dlp fallback with a safe MP4 H.264/H.265 selector that avoids unsupported ByteDance bvc2/bytevc2 streams when possible | ~8s |
| Page scrape via curl_cffi (fast) → yt-dlp fallback | ~10s |
Photo / Slideshow Posts
| Platform | Post type | Handling |
|---|---|---|
| TikTok | Photo Mode slideshow | Downloads all images, extracts the music/audio track when available, and sends one multimodal Gemini request. |
| Carousel / single-photo posts | Downloads image slides in order and analyzes them as one post; mixed video slides are skipped with metadata. | |
| YouTube | Community /post/ image attachments | Scrapes ytInitialData, downloads image attachments, and analyzes them through Gemini Files API. |
YouTube videos are analyzed directly through Gemini's native video understanding — zero download, zero upload, maximum speed.
For YouTube evidence assets,
source.mp4is not always required: saved contexts keep the original URL, so frame/clip tools can use the local stream fast path later.
Architecture
| Component | Role |
|---|---|
| Gemini 3.8 Flash | Latest Flash model, the fast default: full audio + visual understanding in a single pass |
| Gemini 4 Argon | Latest flagship reasoning model, the deep default for detail="full": text, image, video, audio and PDF input |
| FastMCP 3.x | MCP protocol framework over stdio transport |
| yt-dlp + curl_cffi | Video download with Chrome browser impersonation to bypass anti-bot. TikTok downloads prefer locally decodable MP4 H.264/H.265 formats and reject ByteDance bvc2/bytevc2 streams. |
| tikwm.com API | TikTok fast-path fallback when yt-dlp is WAF-blocked |
| ffmpeg | Local frame/clip extraction, including YouTube stream URL extraction without full-video downloads |
| Background Jobs | Async threading for TikTok/Instagram to prevent Claude Desktop timeouts. Failed inner results are reported as failed jobs, not completed jobs. |
Operating Modes
These are behavior modes, not tool names:
| Mode | Behavior |
|---|---|
auto | Default adaptive behavior: YouTube direct analysis; TikTok/Instagram fast API/scrape then yt-dlp fallback; saved contexts reused when available. |
api | Gemini-backed analysis or reanalysis. This is used by analysis tools and explicit Gemini opt-ins. |
client | MCP client workflow mode: long TikTok/Instagram analysis returns a background job_id for polling. |
local | Saved-context, cache, frame, and clip operations that avoid Gemini unless explicitly requested. |
Quick Start
The packaged runtime lives at src/video_url_analyzer_mcp/server.py; the console entry point is video_url_analyzer_mcp:main. Pick whichever install path matches your workflow.
Option A — one-line Windows installer (recommended for new users)
irm https://raw.githubusercontent.com/u2n4/video-url-analyzer-mcp/main/install.ps1 | iex
The installer follows the current MCP client pattern: it installs/runs from PyPI with uvx, uses an existing GEMINI_API_KEY environment variable when one is already set, otherwise asks for the key only through a hidden prompt, and lets the user choose where to register the server:
- Claude Code
- Claude Desktop
- Codex CLI
- Cursor
- Windsurf
- VS Code / GitHub Copilot
- Google Antigravity
- Cline
Do not append your API key to the PowerShell command. If you skip the key, the installer still registers the server and you can set GEMINI_API_KEY later. If GEMINI_API_KEY is already set in your User environment, the installer will use it directly and print only a masked form like AIza...abcd.
Option B — uvx (no install)
uvx video-url-analyzer-mcp
Works on Windows / macOS / Linux as long as uv is on PATH.
Option C — Windows wizard from a checkout
git clone https://github.com/u2n4/video-url-analyzer-mcp.git
cd video-url-analyzer-mcp powershell -ExecutionPolicy Bypass -File scripts\install_windows.ps1
The wizard:
- Verifies Python 3.10+ and (optionally)
uv. - Installs the package as an editable checkout or via
uv tool install. - Lets you save
GEMINI_API_KEYto a User environment variable or to a gitignored.env.keys.local. Keys are never printed; the wizard shows only their length. - Lets you pick a default model via
VIDEO_ANALYZER_MODEL. - Runs an offline import smoke test.
- Hands off to
scripts/configure_mcp_clients.ps1for client setup.
Option D — Manual install (any OS)
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
Get a free key at Google AI Studio, then set it once in your shell environment (setx GEMINI_API_KEY ... on Windows, or your ~/.zshrc / ~/.bashrc on macOS/Linux). For local dev only, you can also put it in a gitignored .env file in the repo root. The server reads .env. start.bat also reads .env.keys.local, which the wizard writes.
Windows launcher
start.bat loads .env.keys.local (if present), sets VIDEO_ANALYZER_MODE=auto when it is unset, and runs python -m video_url_analyzer_mcp. It sets no model id, so the model variables from your environment or .env apply, as the table below describes. Use it as a command value in any MCP client that prefers a single executable.
Integration
Run scripts/configure_mcp_clients.ps1 for an interactive menu, or copy the snippets below from docs/mcp-config-examples.md. The wizard backs up existing client config, validates JSON/TOML, and never overwrites unrelated MCP servers.
Client configs use video-analyzer as the local MCP server entry name. The published package remains video-url-analyzer-mcp, and the registry name remains io.github.u2n4/video-url-analyzer-mcp.
Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json)
{
"mcpServers": { "video-analyzer": { "command": "uvx", "args": ["video-url-analyzer-mcp"] } } }
The wizard prefers leaving the API key in your OS environment. If you must embed it, add "env": { "GEMINI_API_KEY": "YOUR_KEY_HERE" }.
Claude Code (CLI)
claude mcp add video-analyzer --transport stdio -- uvx video-url-analyzer-mcp
Or, after pip install -e . in the repo:
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 Code / GitHub Copilot MCP
Workspace registration writes .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}" } } } }
For all clients, restart the application after editing config so the new MCP server is picked up. Full snippets — including Cursor, Windsurf, Antigravity (%USERPROFILE%\.gemini\antigravity\mcp_config.json), and Cline — live in docs/mcp-config-examples.md.
Usage Examples
# Full video analysis with Gemini 3.8 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_vi
只显示了开头部分;其余内容请在仓库中阅读