pastorsimon1798/mcp-video
This server provides an MCP-based video editing and creation toolkit for AI agents, built on FFmpeg, enabling programmatic inspection, editing, and transformation of video files across 87+ tools.
Get Video Info (
video_info): Retrieve metadata — duration, resolution, codec, FPS, file size.Trim Video (
video_trim): Cut clips by start time and duration or end time.Merge Videos (
video_merge): Combine multiple clips with optional transitions (fade, dissolve, wipe).Add Text Overlay (
video_add_text): Overlay titles, captions, or watermarks with configurable font, size, color, position, and timing.Add Audio (
video_add_audio): Add or replace audio tracks with volume control, fade in/out, mixing, and start time offset.Resize Video (
video_resize): Change dimensions or apply preset aspect ratios (16:9, 9:16, 1:1, etc.) with quality presets.Convert Format (
video_convert): Convert to MP4, WebM, GIF, or MOV with quality settings.Change Speed (
video_speed): Create slow-motion or time-lapse effects.Extract Thumbnail (
video_thumbnail): Pull a single frame at a specified timestamp.Generate Preview (
video_preview): Create fast, low-resolution previews for quick review.Create Storyboard (
video_storyboard): Extract and arrange key frames into a storyboard grid.Burn Subtitles (
video_subtitles): Embed SRT or VTT subtitle files directly into video.Add Watermark (
video_watermark): Overlay an image with configurable position, opacity, and margin.Export Video (
video_export): Render and export with specified quality and format.Crop Video (
video_crop): Crop to a rectangular region by width, height, and offset.Rotate/Flip Video (
video_rotate): Rotate by 0/90/180/270° and/or flip horizontally or vertically.Add Fade Effects (
video_fade): Apply fade-in and/or fade-out transitions.Full Timeline Edit (
video_edit): Execute complex multi-track edits from a JSON timeline specification, including clips, audio, overlays, transitions, and export settings in one operation.Extract Audio (
video_extract_audio): Save a video's audio track as MP3, AAC, WAV, OGG, or FLAC.
Additional capabilities include AI transcription, scene detection, audio synthesis, visual effects, motion graphics, and Hyperframes integration for creating videos from code.
Provides a high-level API for video editing by wrapping FFmpeg, enabling tools for trimming, merging, adding text or audio overlays, format conversion, and metadata extraction.
See It Work
Tell the agent what you want in plain language:
"Trim this interview to the strongest 45 seconds, add burned captions, make it vertical, and quality-check it before export."
mcp-video turns that into typed, guardrailed tool calls — no FFmpeg flags to guess, no silently broken exports:
from mcp_video import Client
video = Client()
clip = video.trim("interview.mp4", start="00:02:15", duration="00:00:45")
video.ai_transcribe(clip.output_path, output_srt="captions.srt")
captioned = video.subtitles(clip.output_path, subtitle_file="captions.srt")
short = video.resize(captioned.output_path, aspect_ratio="9:16")
video.release_checkpoint(short.output_path) # thumbnail + quality gate before you publishThree things people use it for
Repurposing — one recording into captioned Shorts, Reels, and TikTok packages with manifests and review artifacts.
Podcast & interview cuts — find the strongest segment, normalize audio, add chapters, and export.
Agent-driven media in CI — repeatable, reviewable edits from Claude Code, Cursor, Codex-style clients, or scripts.
Related MCP server: video-editor
Layered Compositing
composite-layers / video_composite_layers adds a spec-driven ordered layer stack for agents that need more than two-shot overlay primitives. P1 supports image, video, and solid layers; normal alpha compositing; per-layer opacity; fixed x/y placement; and deterministic layer-plan receipts for review.
mcp-video composite-layers --spec layers.json -o out.mp4 --save-layer-plan layer-plan.jsonP1 is intentionally scoped: masks/mattes, transforms, expanded blend modes, per-layer effect routing, and rendered-output golden determinism are tracked as follow-up work.
Public Discovery
mcp-video is a free, open-source Model Context Protocol (MCP) server, Python library, and CLI that gives AI agents a real video-editing surface. It wraps FFmpeg, PUSHING CREATION-style planning, media analysis, quality checks, subtitles, audio generation, effects, Hyperframes rendering, local repurposing packages, and guardrails for risky edit parameters behind structured tool schemas.
Best-fit searches:
video editing MCP server
AI agent video editing
FFmpeg MCP tools
Claude Code video editing
Cursor MCP video tools
Python video editing library
subtitle automation
reels and shorts automation
agentic media pipeline
local AI video workflow
Hyperframes video creation
YouTube Shorts repurposing
Why It Exists
AI agents can write FFmpeg commands, but they should not have to guess flags, parse brittle stderr, or silently publish broken media. mcp-video gives agents typed operations, inspectable tool metadata, structured results, preflight guardrails, and quality checkpoints so a video workflow can be automated and reviewed without turning into shell-command roulette.
Use it when you want an AI assistant to:
trim, merge, resize, crop, rotate, transcode, or export video;
add text, subtitles, watermarks, overlays, filters, fades, effects, and transitions;
extract audio, normalize audio, synthesize audio, add generated audio, or create waveforms;
detect scenes, make thumbnails, generate storyboards, compare quality, and create release checkpoints;
scaffold cinematic projects, read STYLE_/NEG_ blocks, parse storyboard tables, and expand shot prompts;
create new Hyperframes projects, inspect rendered layouts, capture websites, generate local speech, remove backgrounds, and post-process the result with FFmpeg tools;
repurpose one source video into vertical, horizontal, and square local delivery packages with manifests and review artifacts;
drive repeatable media workflows from Claude Code, Cursor, Codex-style clients, scripts, or CI.
Installation
Prerequisite: FFmpeg must be installed and available on PATH.
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpegRun without a global install:
uvx --from mcp-video mcp-video doctorOr install with pip:
pip install mcp-video
mcp-video doctorHyperframes tools additionally need Node.js 22+ and a resolvable Hyperframes CLI. Install/pin Hyperframes in the active Node package layout, add hyperframes to PATH, or set MCP_VIDEO_HYPERFRAMES_COMMAND.
Which extra do I need?
The core install covers all FFmpeg editing tools. Optional features ship as extras — install only what you use:
You want | Install | Approx. extra size |
Speech-to-text subtitles (Whisper) |
| ~1 GB (torch) |
Image analysis (colors, layout, contrast) |
| ~50 MB |
Vocal/instrument stem separation |
| ~2 GB (torch + demucs) |
AI upscaling |
| ~2 GB (Python ≤3.12) |
Procedural audio/music tools |
| ~30 MB (numpy) |
Everything AI |
| several GB |
Mix freely, e.g. pip install "mcp-video[transcribe,image]". Run mcp-video doctor afterward — it reports exactly which features are available and what is missing.
En español
mcp-video es un servidor MCP de edición de video para agentes de IA: 119 herramientas estructuradas sobre FFmpeg para recortar, unir, subtitular, mezclar audio, aplicar efectos y reutilizar contenido (Shorts, Reels, TikTok), con barreras de seguridad que detectan parámetros riesgosos antes de renderizar.
Requisito: FFmpeg instalado y disponible en el PATH.
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Instalación y diagnóstico
pip install mcp-video
mcp-video doctorPara Claude Code:
claude mcp add mcp-video -- uvx --from mcp-video mcp-videomcp-video doctor informa qué funciones están disponibles y qué falta instalar. La documentación completa está en inglés; los mensajes de error principales son bilingües.
Quick Start
Try the receipt-backed proof first
From a clone of this repo, run the smallest confidence workflow before wiring an agent host:
uv run --no-project --with mcp-video python workflows/05-confidence-baseline/workflow.py
uv run --no-project --with mcp-video python workflows/benchmarks/run_confidence_benchmark.pyThe workflow generates a tiny source clip, creates a checked vertical video, runs quality/release checkpoint steps, and writes workflows/05-confidence-baseline/output/video_receipt.json.
Proof notes live in docs/proofs/.
Claude Code
claude mcp add mcp-video -- uvx --from mcp-video mcp-videoClaude Desktop
{
"mcpServers": {
"mcp-video": {
"command": "uvx",
"args": ["--from", "mcp-video", "mcp-video"]
}
}
}Cursor
{
"mcpServers": {
"mcp-video": {
"command": "uvx",
"args": ["--from", "mcp-video", "mcp-video"]
}
}
}Then ask your agent:
Trim this interview into a 45-second vertical clip, add burned captions, normalize the audio, make a thumbnail, and create a release checkpoint before export.
Agent Skill
mcp-video includes a public agent skill at skills/mcp-video/SKILL.md. Use $mcp-video in compatible agent hosts when you want the agent to choose between the MCP server, CLI, and Python client while preserving the inspect, edit, verify, and human-review workflow.
Python Client
from mcp_video import Client
editor = Client()
clip = editor.trim("interview.mp4", start="00:02:15", duration="00:00:45")
caption_file = "captions.srt"
editor.ai_transcribe(clip.output_path, output_srt=caption_file)
captioned = editor.subtitles(clip.output_path, subtitle_file=caption_file)
vertical = editor.resize(captioned.output_path, aspect_ratio="9:16")
checkpoint = editor.release_checkpoint(vertical.output_path)
print(checkpoint["thumbnail"])
print(checkpoint["storyboard"])CLI
mcp-video info interview.mp4
mcp-video trim interview.mp4 -s 00:02:15 -d 45
mcp-video video-ai-transcribe clip.mp4 --output captions.srt
mcp-video subtitles clip.mp4 captions.srt
mcp-video resize clip.mp4 --aspect-ratio 9:16
mcp-video video-quality-check clip.mp4
mcp-video repurpose clip.mp4 --platforms youtube-shorts instagram-reel tiktokWhat Agents Can Do
Workflow | Example prompt |
Social clips | "Turn this landscape recording into a captioned TikTok and YouTube Short." |
Podcast production | "Find the strongest segment, trim it, normalize audio, add chapters, and export." |
Product demos | "Create a short launch video from screenshots, title cards, and voiceover." |
Cinematic planning | "Create a style pack and storyboard, then render shot prompts for generation." |
Quality review | "Compare these two exports, make thumbnails, and flag visual or audio problems." |
Batch automation | "Convert this folder of clips to web-ready MP4 with consistent loudness." |
Code-created video | "Scaffold a Hyperframes composition, inspect it, render it, then add subtitles and a watermark." |
Local repurposing | "Turn this master clip into Shorts, Reels, TikTok, and YouTube assets with thumbnails and a manifest." |
MCP Tools
mcp-video currently registers 119 MCP tools. The table below summarizes the documented core categories; search_tools lets agents discover the exact operation they need without loading every tool description into context.
Category | Count | Highlights |
Core video editing | 32 | trim, merge, resize, crop, rotate, convert, overlays, subtitles, export, cleanup, templates, merge-compatibility guardrails |
Cinematic creation | 4 | project scaffold, style-pack parsing, storyboard parsing, shot prompt expansion |
AI-assisted media | 11 | transcription, scene detection, upscaling, stem separation, silence removal, color grading |
Hyperframes | 18 | init, preview, render, snapshots, inspect, catalog, website capture, local TTS, transcription, background removal, diagnostics, benchmark, post-process |
Repurposing | 2 | dry-run manifests, platform-ready variants, thumbnails, storyboards, release checkpoints |
Procedural audio | 7 | synthesize, compose, presets, effects, sequences, generated audio, spatial audio, mix-parameter guardrails |
Visual effects | 8 | vignette, glow, noise, scanlines, chromatic aberration, luma key, mask, shape mask, bounded filter parameters |
Transitions | 3 | glitch, morph, pixelate |
Layout and motion | 6 | grid, picture-in-picture, split-screen, animated text, counters, progress bars, auto-chapters, layout mismatch warnings |
Analysis | 8 | scene detection, thumbnail, preview, storyboard, quality compare, metadata, waveform, release checkpoint |
Image analysis | 3 | extract colors, generate palettes, analyze product images |
Discovery | 1 |
|
from mcp_video import Client
editor = Client()
matches = editor.search_tools("subtitle")
print(matches["tools"])Full reference: docs/TOOLS.md
Agent-Safe Workflow
For autonomous agents, the intended path is inspect, edit, verify, then ask a human to review release artifacts:
from mcp_video import Client
client = Client()
print(client.inspect("trim"))
result = client.pipeline(
[
{"op": "trim", "input": "source.mp4", "start": "00:01:00", "duration": "00:00:45"},
{"op": "add_text", "text": "Launch clip", "position": "top-center"},
{"op": "normalize_audio"},
{"op": "resize", "aspect_ratio": "9:16"},
{"op": "export", "quality": "high"},
{"op": "release_checkpoint"},
],
output_path="final-short.mp4",
)Safety contract:
Media-producing calls return structured results with output paths.
High-risk edit paths now run preflight guardrails before FFmpeg execution: filter bounds, merge compatibility, audio mix volume/timing, overlay/watermark/chroma opacity and similarity, animated text timing/overflow, and grid/split-screen mismatch warnings.
Analysis and discovery calls return structured JSON reports.
Tool discovery is available through
search_tools()andClient.inspect().Unexpected keyword errors are converted into actionable
MCPVideoErrorguidance.Do not publish agent-generated video without
video_quality_check,video_release_checkpoint, and human visual/audio inspection.
Documentation
Testing
Development verification lives in docs/TESTING.md. Keep public-surface, media workflow, and security checks current when changing tool behavior.
Development
git clone https://git.kyanitelabs.tech/KyaniteLabs/mcp-video.git
cd mcp-video
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest tests/ -v -m "not slow and not hyperframes"Community
License
Apache 2.0. See LICENSE.
Built with FFmpeg, Hyperframes, and the Model Context Protocol.
Part of KyaniteLabs
More from KyaniteLabs. Related projects:
Epoch — time-estimation MCP server (PERT) for AI agents
DialectOS — Spanish dialect localization MCP server & CLI
checkyourself — local-first production-readiness checks for AI-built code
→ More at kyanitelabs.tech
If mcp-video is useful to you, star or watch it — it helps other agent builders find it.
Built by Simon Gonzalez De Cruz — available for Forward-Deployed / Applied-AI engineering and contract work via the public profile links above.
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/KyaniteLabs/mcp-video'
If you have feedback or need assistance with the MCP directory API, please join our Discord server