Kinocut

Local FFmpeg-based video editing with typed tools, preflight checks and hashed receipts

By KyaniteLabs Python Remote (hosted) · Streamable HTTP Media

64 popularity score ★ 253 ↓ 8.9k/mo

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Its docs show no set-up for a particular client: add this address in your client the way it adds a remote MCP server.

Addressits hosted endpoint
https://mcp.kyanitelabs.tech/mcp

Settings 6

Set together: tool surface
KINOCUT_TOOLS Optional. Default core. For Choosing core, all or profile:<name> tool sets.
Set together: hyperframes
KINOCUT_HYPERFRAMES_TELEMETRY Optional. Default false. For Hyperframes Docker renders and unverified previews.
MCP_VIDEO_HYPERFRAMES_COMMAND Optional. For Command that runs the Hyperframes CLI when it is not on PATH..
Set together: revideo
KINOCUT_REVIDEO_EXECUTABLE_PATH Optional. For Path to the browser executable used for Revideo renders..
Set together: vision
KINOCUT_VISION_MODE Optional. Default off. For Vision provider calls (off, local or remote).
KINOCUT_VISION_BASE_URL Optional. Default https://api.anthropic.com. For Base URL for the vision provider when the mode allows calls..

What it does

Kinocut is a video editing server from KyaniteLabs that runs on your own machine and puts typed tools on top of FFmpeg. It used to be called mcp-video, and it also ships a Python client and a `kino` command line. An assistant calls named operations with checked parameters instead of writing raw FFmpeg flags. These include trimming, merging, cropping, resizing, converting, burning in subtitles, adding text and watermarks, normalising loudness and splitting HLS segments. Many operations write to a staged file first and only replace the destination once the render has passed its checks.

On top of the basic edits it has larger pipelines. A workflow engine takes a JSON job spec built from an allowlist of operations (probe, trim, resize, convert, crop, merge, add_text, composite_layers, burn_in), dry-runs it, renders it and writes a receipt with input and output hashes for each step. There are also repurposing tools that turn one recording into vertical, horizontal and square packages, a release checkpoint that acts as a quality gate before publishing, a review-first rescue pipeline, 360 equirect assembly, and review tools that cannot approve media without a stored human decision. Optional extras add Whisper transcription, stem separation, AI upscaling, image analysis and HTML-based video through Hyperframes.

Version 1.16.1 has 203 MCP tools. The source sets hard caps that the README does not list: input video up to 4 hours, 8K resolution and 4 GB, batches of up to 50 files, a 10-minute default FFmpeg timeout, and transcription of audio up to 1 hour (kinocut/limits.py). Unless you give an output path, results are written next to the input as `<name>_edited.<ext>`, and the name is changed so the input is not overwritten (kinocut/paths.py).

What it needs

To run it yourselfPython 3.11+
Also
  • FFmpeg and ffprobe on PATH
  • Node.js 22 or later plus the Hyperframes CLI, only for the Hyperframes tools
  • Node.js, npm and Chromium, only for the Revideo tools

Python 3.11 or newer, and uv for the `uvx` launch command (or `pip install kinocut`). FFmpeg and ffprobe must be on PATH; `video_stabilize` needs an FFmpeg build with vidstab. Runs on macOS, Linux and Windows. Optional features need pip extras such as `kinocut[transcribe]`, `[stems]`, `[upscale]`, `[image]`, `[audio]` or `[ai]`, some of them several GB. Hyperframes tools need Node.js 22+ and the Hyperframes CLI. Revideo tools need Node.js 18+, npm and a Chromium-family browser. `kino doctor` reports what is missing.

Limits

Caps in its source: video up to 4 hours, 8K and 4 GB per input; batches of up to 50 files; transcription up to 1 hour of audio; FFmpeg runs time out after 10 minutes by default. It does not stitch raw 360 files (`.insv`, GoPro `.360`), so export from the camera app first. Layered compositing outputs video only, and some blend geometries are refused with `unsupported_blend_geometry`. Its makers say caption speech does not translate text, no generative adapter exists, and the Claude Desktop MCPB package is unsigned, staged and not a sandbox. The registry lists a hosted endpoint, but the README describes no hosted service, only local use.

Who it suits

People who want an agent to cut, caption and check local video files on their own machine, from short vertical clips to longer edits that need a review step.

Tools 20 of 205

8 only read, 12 change things.

video_info
Read a file's duration, streams, resolution and codecs.
video_trim changes
Cut a clip to a start time and duration.
video_merge changes
Join several clips into one file.
video_add_text changes
Burn one text overlay into a video.
video_add_texts changes
Burn several timed text overlays in one pass.
video_add_audio changes
Add or replace a video's audio track.
video_resize changes
Change resolution or aspect ratio, for example to 9:16.
video_convert changes
Convert a video to another container or codec.
video_speed changes
Speed a clip up or slow it down.
search_tools
Find hidden tools by keyword without registering them.
video_extract_frame changes
Save a single frame as an image.
video_validate_text_layout
Check planned text overlays for overflow and placement problems.
video_quality_check
Report on visual and audio quality of a finished file.
video_review_package changes
Gather frames and evidence for a human review.
video_workflow_inspect
Inspect the state of a multi-step workflow job.
video_rescue_inspect
Diagnose a damaged or problem file before a repair.
hyperframes_doctor
Check that Node and the Hyperframes CLI are ready.
video_doctor
Check the local setup, such as FFmpeg, without changing anything.
video_shorts changes
Trim chosen ranges, caption them and export one 9:16 Short with a receipt.
video_project_create changes
Create a project scaffold for a cinematic edit.

Similar servers