guimatheus92/mcp-video-analyzer

[![mcp-video-analyzer MCP server](https://glama.ai/mcp/servers/guimatheus92/mcp-video-analyzer/badges/score.svg)](https://glama.ai/mcp/servers/guimatheus92/mcp-video-analyzer) ๐Ÿ“‡ ๐Ÿ  ๐ŸŽ ๐ŸชŸ ๐Ÿง - MCP server for video analysis โ€” extracts transcripts, key frames, OCR text, and annotated timelines from video URLs. Supports Loom and direct video files (.mp4, .webm). Zero auth required.

VERIFIED 7 toolsยทnpmยทv0.2.5

Install

npx -y mcp-video-analyzer

Capabilities

Server instructions

Video analysis MCP server. Extracts transcripts, key frames, metadata, comments, OCR text, and annotated timelines from video URLs. AUTOMATIC BEHAVIOR โ€” Do NOT wait for the user to ask: - When the user shares a video URL โ†’ call analyze_video immediately (detail="standard"). - When discussing a specific moment in a video โ†’ call analyze_moment with the time range. - When the user asks "what happens at X:XX" โ†’ call get_frame_at or analyze_moment. - When the user asks to compare frames or see motion โ†’ call get_frame_burst. - When the transcript alone would answer the question โ†’ call get_transcript (faster, no download). - When only metadata is needed (title, duration, comments) โ†’ call get_metadata (no download). The AI should ALWAYS call the appropriate tool automatically โ€” never ask "would you like me to analyze this video?" Just do it. Supported platforms: - Loom (loom.com/share/...) โ€” transcript, metadata, comments, frames (no auth needed) - Direct video URLs (.mp4, .webm, .mov) โ€” frame extraction, duration probing Tools (choose the most efficient one for the task): - analyze_video: Full analysis. Use by default when a video URL appears. Returns transcript + frames + metadata + OCR + timeline. - detail="brief" โ†’ fast, metadata + truncated transcript, no video download - detail="standard" โ†’ default, scene-change frames + full transcript + OCR - detail="detailed" โ†’ dense 1fps sampling, more frames, thorough OCR - fields=["metadata","transcript"] โ†’ return only specific fields - Cached for 10min โ€” use forceRefresh=true to re-analyze. - get_transcript: Transcript only. Faster than analyze_video when you only need what was said. Whisper fallback for videos without native transcripts. - get_metadata: Metadata + comments + chapters. No video download needed. - get_frames: Frames only (scene-change or dense=true for 1fps). Use when you need visuals without transcript. - get_frame_at: Single frame at a timestamp. Use when the transcript reveals an interesting moment and you want to see it. - get_frame_burst: N frames in a narrow time range. Use for motion, animations, fast UI changes. - analyze_moment: Deep-dive on a time range. Combines burst frames + filtered transcript + OCR + mini-timeline. Use when the user asks about a specific part of the video. Decision flow: 1. User shares a video URL โ†’ analyze_video (standard) 2. User asks about a specific timestamp โ†’ analyze_moment or get_frame_at 3. User asks "what did they say about X" โ†’ get_transcript (fast, no download) 4. User asks "how long is this video" โ†’ get_metadata (fast, no download) 5. User asks for more detail after initial analysis โ†’ analyze_video (detailed) or analyze_moment 6. User asks to see motion/animation โ†’ get_frame_burst