MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
제작자가 쓴 설명(영어 원문)
Analyze YouTube/TikTok/Instagram videos: transcripts, AI insights, tutorial extraction
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
레지스트리 이름이 GitHub 계정 u2n4 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.5.1)은 6개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
제작자의 저장소에서 쓰인 그대로 가져왔어요. 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 · العربية
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. |
| 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 |
| 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.
| 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. |
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. |
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.
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:
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.
uvx (no install)uvx video-url-analyzer-mcp
Works on Windows / macOS / Linux as long as uv is on PATH.
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:
uv.uv tool install.GEMINI_API_KEY to a User environment variable or to a gitignored .env.keys.local. Keys are never printed; the wizard shows only their length.VIDEO_ANALYZER_MODEL.scripts/configure_mcp_clients.ps1 for client setup.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.
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.
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.
%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 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/config.toml)[mcp_servers.video-analyzer]
command = "uvx" args = ["video-url-analyzer-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.
# Full video analysis with Gemini 3.8 Flash
analyze_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
analyze_video("https://www.tiktok.com/@user/video/123", prompt="List every product shown and estimate prices")
get_transcript("https://www.instagram.com/reel/ABC123/", lang="ar")
ask_about_vi
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요