video-url-analyzer-mcp
Analyze Instagram videos/reels from URL with async processing, extracting transcripts, AI insights, and Q&A capabilities.
Analyze TikTok videos from URL with async processing, extracting transcripts, AI insights, and Q&A capabilities.
Analyze YouTube videos from URL, extract transcripts, AI insights, tutorial steps, and perform Q&A on video content.
What is This?
Video URL Analyzer MCP is a Model Context Protocol (MCP) server that lets Claude (or any MCP-compatible AI) analyze videos from YouTube, TikTok, and Instagram — just paste a URL. Powered by Google's Gemini API with full audio + visual analysis, it extracts transcripts, provides AI-powered insights, and can even extract executable tutorial steps.
Features
YouTube Analysis — Direct analysis via Gemini API (no download needed)
TikTok & Instagram — Async job pattern with yt-dlp download + Gemini Files API
Full Audio + Visual — Analyzes both video frames AND audio/speech
6 Tools — analyze, transcript, Q&A, watch & analyze, execute tutorials, check jobs
Bilingual — Supports Arabic and English prompts and responses
Async Jobs — Background processing prevents Claude Desktop timeout crashes
Security Hardened — URL allowlist, SSRF protection, command injection prevention, path traversal blocking
Zero-Config Install —
uvx video-url-analyzer-mcpand you are running
Supported Platforms
Platform | Method | Speed |
YouTube | Direct Gemini analysis — no download needed | Instant |
TikTok | tikwm.com API (fast) → yt-dlp fallback | ~8s |
Page scrape via curl_cffi (fast) → yt-dlp fallback | ~10s |
YouTube videos are analyzed directly through Gemini's native video understanding — zero download, zero upload, maximum speed.
Quick Start
Option 1: uvx (Recommended)
Requires uv.
Claude Desktop -- add to claude_desktop_config.json:
{
"mcpServers": {
"video-analyzer": {
"command": "uvx",
"args": ["video-url-analyzer-mcp"],
"env": {
"GEMINI_API_KEY": "your_key"
}
}
}
}Claude Code:
claude mcp add video-analyzer -s user -e GEMINI_API_KEY=your_key -- uvx video-url-analyzer-mcpCursor / VS Code -- add to .cursor/mcp.json or .vscode/mcp.json:
{
"servers": {
"video-analyzer": {
"command": "uvx",
"args": ["video-url-analyzer-mcp"],
"env": { "GEMINI_API_KEY": "your_key" }
}
}
}Windsurf -- add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"video-analyzer": {
"command": "uvx",
"args": ["video-url-analyzer-mcp"],
"env": { "GEMINI_API_KEY": "your_key" }
}
}
}Option 2: pip install
pip install video-url-analyzer-mcpOption 3: From source
git clone https://github.com/u2n4/video-url-analyzer-mcp.git
cd video-url-analyzer-mcp
pip install -e .Tools
Tool | What it does |
| Full audio + visual analysis with custom prompts. Uses Gemini for state-of-the-art multimodal understanding. |
| Extract timestamped transcript with speaker identification. Supports 100+ languages via auto-detection. |
| Ask any question — "How many people appear?", "What brand is shown at 0:45?", "Summarize the main argument." |
| Extract tutorial steps, shell commands, code snippets, and file paths from technical videos. |
| Review extracted steps safely, then execute with confirmation. Sandboxed with command & path validation. |
| Poll background job status for TikTok/Instagram async downloads. |
How It Works
YouTube — Synchronous: URL is sent directly to Gemini API for instant analysis (no download).
TikTok & Instagram — Asynchronous: Video is downloaded via yt-dlp, uploaded to Gemini Files API, analyzed, then cleaned up. Returns a job_id immediately — poll with check_analysis_job.
Usage Examples
# Full video analysis
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?")
# Watch & build — extract tutorial steps
watch_and_analyze("https://www.youtube.com/watch?v=tutorial123")Architecture
Component | Role |
Gemini API | Multimodal model — full audio + visual understanding in a single pass |
FastMCP 3.x | MCP protocol framework over stdio transport |
yt-dlp + curl_cffi | Video download with Chrome browser impersonation to bypass anti-bot |
tikwm.com API | TikTok fast-path fallback when yt-dlp is WAF-blocked |
Background Jobs | Async threading for TikTok/Instagram to prevent Claude Desktop timeouts |
video-url-analyzer-mcp/
├── pyproject.toml # Package metadata & dependencies
├── src/
│ └── video_url_analyzer_mcp/
│ ├── __init__.py # Package init + version
│ ├── __main__.py # python -m support
│ └── server.py # Main MCP server (all 6 tools)
├── .env.example # Environment variable template
├── llms.txt # AI-readable project summary
├── llms-install.md # AI-readable install guide
├── CONTRIBUTING.md
├── CHANGELOG.md
└── LICENSEPlatform Detection
URLs are automatically routed to the correct pipeline:
YouTube:
youtube.com,youtu.be,youtube.com/shorts/TikTok:
tiktok.com,vm.tiktok.com,vt.tiktok.comInstagram:
instagram.com/reels/,instagram.com/reel/,instagram.com/p/
Security
This server has been hardened against a comprehensive threat model:
Layer | Protection |
SSRF | URL allowlist — only YouTube, TikTok, Instagram domains accepted. Private IPs, localhost, |
Command Injection |
|
Path Traversal | 25+ sensitive path patterns blocked ( |
TLS | Full certificate validation on all downloads. |
Browser Cookies | Opt-in only via |
Download Size | Hard limit of 100 MB per video. |
DoS Protection | Max 10 concurrent background jobs. Auto-expiry after 1 hour. Storage cap of 200 analyses. |
Schema Validation | Gemini JSON responses validated before execution. Response size capped at 500K chars. |
Dependencies | All versions pinned in |
Configuration
Variable | Description | Default |
| Google Gemini API key (required) | — |
| Directory to store analysis results |
|
| Enable browser cookies for yt-dlp |
|
Tech Stack
Technology | Purpose |
Google Gemini API SDK | |
MCP protocol framework | |
Video downloader | |
Browser impersonation (TLS fingerprint) | |
Environment variable loading |
Troubleshooting
Issue | Solution |
| Create |
TikTok download fails | tikwm.com fallback activates automatically. Ensure |
Instagram download fails |
|
| Use |
Claude Desktop timeout | TikTok/Instagram run in background — use |
Python not found | Install Python 3.10+ from python.org |
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT — see LICENSE.
Support
If you find this useful, please star this repository!
Made with ❤️ in the Eastern Province of Saudi Arabia.
العربية
خادم تحليل الفيديو بالذكاء الاصطناعي
خادم MCP لتحليل الفيديو باستخدام Google Gemini — احدث واقوى نموذج ذكاء اصطناعي متعدد الوسائط من جوجل.
المميزات
الاداة | الوصف |
| تحليل شامل للصوت والصورة مع دعم الاوامر المخصصة |
| استخراج النص المنطوق مع الطوابع الزمنية — يدعم +100 لغة |
| اسال اي سؤال عن محتوى الفيديو |
| استخراج خطوات الشروحات التقنية والاوامر والاكواد |
| مراجعة وتنفيذ الخطوات المستخرجة بامان |
المنصات المدعومة
المنصة | السرعة |
يوتيوب | فوري — تحليل مباشر بدون تحميل |
تيك توك | ~8 ثواني — واجهة tikwm.com السريعة |
انستاجرام | ~10 ثواني — استخراج مباشر من الصفحة |
التثبيت السريع
git clone https://github.com/u2n4/video-url-analyzer-mcp.git
cd video-url-analyzer-mcp
pip install -e .الامان
الخادم محمي ضد:
SSRF — قائمة بيضاء للنطاقات المسموحة فقط
حقن الاوامر — حظر الاوامر الخطيرة + تنفيذ بدون shell
اختراق المسارات — حظر 25+ مسار حساس
حماية من الحمل الزائد — حد اقصى 10 مهام متزامنة
الحصول على مفتاح API
اذهب الى Google AI Studio
انشئ مفتاح API مجاني
ضعه في ملف
.env
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
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/u2n4/video-url-analyzer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server