For agents

An MCP server that edits video.

Point your agent at vidcut and it gets a real timeline, not a chat box.

What is an MCP video editor?

Model Context Protocol (MCP) is an open standard for connecting AI models to external tools. vidcut ships an MCP server: instead of a chat window bolted onto an editor, your agent calls 48 structured tools directly against a real, editable 1080×1920 timeline, and every change lands in a browser UI where you approve it before anything renders.

Connect it

Cloud

One command. Every paid plan includes a Remote MCP endpoint.

claude mcp add --transport http vidcut https://vidcut-fly-demo.fly.dev/mcp

Self-host

Run the AGPL build on your own machine and point your agent at it — no account, no limits.

Read the source

The 48 tools

Every tool returns structured project state, so your agent never has to re-describe the video back to itself.

ToolWhat it does
add_clipAppend already-imported media to the end of the main track (existing clips are untouched — good for adding one file at a time)
add_mographcloudAdd one parameterized motion-graphics overlay (the others are untouched)
add_overlayAdd a single overlay (the others are untouched)
auto_captionOne-shot auto captions: recognize → paginate → write the caption track (a whole-track replace
export_publish_packagePackage the finished render for manual upload: copies the output video plus cover and .srt into output/publish/<stamp>/, writes one text file per platform from the metadata you provide, and records per-platform duration/size warnings in manifest.json
extract_audioExtract a clip's audio into a standalone audio item (the clip's own volume goes to zero), so it can be adjusted, faded or deleted on its own
generate_imagecloudGenerate NEW images with AI via fal
generate_musiccloudGenerate a NEW background-music track with AI via fal
generate_soundcloudGenerate a NEW custom sound effect with AI (ElevenLabs SFX v2 via fal)
get_chatread-onlyRead the conversation with the person reviewing your work (both sides, oldest first)
get_editing_skillread-onlycloudFetch one editing playbook in full (markdown): workflow with tool-call sequences, silent-failure pitfalls, final checklist
get_editor_contextread-onlyThe user's current selection in the UI, playhead position, and dragged time range
get_feedbackread-onlySummary of human changes since the given version — how the AI reads back what the user adjusted
get_frameread-onlyExtract the frame at a given time as JPEG — the AI's eyes
get_generation_statuscloudCheck AI generation jobs
get_historyread-onlyRecent change log (version/label/source/ts)
get_mograph_snippetread-onlycloudFetch one library item's full HTML/CSS/GSAP source plus an adaptation checklist for the html mograph template (strip the page scaffold and every <script src>, register the paused window.__timelines["html-mograph"] timeline, re-layout 1920x1080 blocks for the bake canvas, swap webfonts and bundled images)
get_projectread-onlyTrimmed overview of the project (clips/captions/media/version/review)
import_mediaRegister a media file
import_stock_mediacloudDownload one search_stock_media result into the project and register it as media (builds proxy/filmstrip/peaks
list_editing_skillsread-onlycloudList the built-in editing playbooks — 8 workflows covering speech editing, transcript-driven assembly, style mimicry from a reference video, beat-synced cutting, music & mixing, long-to-short repurposing, short-form packaging and pre-render checks
list_sourceread-onlyList importable files in a footage folder (no recursion, hidden files excluded, whitelisted extensions only)
post_chatSay something to the person reviewing your work — it shows up in the Chat tab of the editor and they can reply there
preflight_checkread-onlycloudRead-only self-check of the current timeline, to run right before render
redoRedo the last N undone edits (the inverse of undo)
remove_audioRemove one audio item
remove_clipRemove one clip (the magnetic main track closes the gap, so every later clip shifts left)
remove_mographcloudRemove one mograph overlay
remove_overlayRemove one overlay
renderRender the project to a final mp4 (1080×1920, re-encoded)
reorder_clipsReorder the main-track clips (order is a permutation of clipIds)
request_reviewAsk the user to review the current timeline in the browser UI
search_mograph_libraryread-onlycloudSearch the vendored motion-graphics snippet library (373 HTML/CSS/GSAP items from the hyperframes registry), organised into 13 categories (lower-third / text-type / chart-data / map-geo / social-mock / device-ui / transition / vfx-overlay / code-dev / handwriting / logo-brand / background / camera-motion)
search_stock_mediaread-onlycloudSearch free stock-media platforms (Pexels, Pixabay, Unsplash, Freesound) for B-roll, photos, sound effects and music beds
set_audioSet the whole audio track (voiceover/BGM
set_canvas_fitWhat to do when the media does not fill the canvas: contain = black bars, blur = a blurred, scaled-up fill (blur is the better look for landscape footage on a 9:16 canvas)
set_captionsReplace the whole caption track (every existing caption is replaced
set_coverSet the cover image: when a rendered file is still around, the frame at that time is taken from the export (overlays and captions included)
set_overlaysReplace the whole overlay track (every existing overlay is replaced
set_timelineSet the whole video main track (the initial cut)
timeline_opRough-cut at a point on the timeline: split, deleteBefore (drop the picture before that time), deleteAfter (drop what follows), or freeze (insert a freeze-frame)
transcribeRun speech recognition (whisper.cpp) over the whole timeline and return per-word timestamps
undoUndo the last N edits (cursor-style: call it repeatedly to keep walking back)
update_audioAdjust one audio item (volume, fades, timing, ducking)
update_captionChange one caption only (text/start/duration/style/tokens/reveal/motion)
update_clipChange one clip's in/duration/volume/label/leadPad/transition (its position in the main track is untouched)
update_mographcloudChange one existing mograph overlay: props (shallow merge — send only the fields you want to change), duration, position, start or anchor
update_overlayChange one overlay only (start/anchor/duration/position/text)

Generated from the checked-in tool surface, so this table cannot drift from what the server actually exposes. The open-source build you host yourself ships 39 of these; the ones marked “cloud” need a paid plan.

Ready to direct?

Seven-day full refund, no exit survey.

MCP video editor — connect your AI agent to vidcut