# KyaniteLabs/kinocut [Health: Active]

**Category:** 🎥 Multimedia Process  
**Repository:** https://github.com/KyaniteLabs/kinocut  
**GitHub Stars:** 262  
**Views:** 11  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/kyanitelabs-kinocut

## Description
Guardrailed video editing for AI agents with 135 MCP tools for FFmpeg editing, captions, audio, effects, Hyperframes, repurposing, resumable workflows, quality gates, and provenance receipts. Includes a Python client and kino CLI; runs locally with no required API keys.

## Tools
Capabilities this server exposes over MCP:

- **video_info** — Probe a video file for metadata. Returns JSON {success, info:{duration, resolution, codec, fps, size, ...}}. Use before any edit to learn the source's dimensions and length.
- **video_trim** — Cut a segment out of a video by start time and duration or end. Returns JSON {success, output_path} pointing at the rendered clip.
- **video_merge** — Concatenate two or more video clips, in order, into one rendered file. Returns JSON {success, output_path}.
- **video_add_text** — Burn one text element (title, caption, watermark) into a video. Returns JSON {success, output_path}.
- **video_add_audio** — Add, replace, or mix an audio track into a video and render a new file; the sources are only read. Returns JSON {success, output_path}.
- **video_doctor** — Return a read-only JSON readiness verdict for the next video job.
- **video_extract_frame** — Extract one frame as an image. Without a timestamp, picks a smart thumbnail
(fallback: 10% into the clip); pass 0 for the first frame.
- **video_shorts** — Trim, caption, make vertical, and export selected segments in one call.
- **list_operations** — List operations: families with member counts, and each operation's family, verb, required parameters and side-effect annotations.
- **describe_operation** — Return one operation's full inputSchema, the family tool that dispatches it, and its kino CLI route when one exists.
- **video_edit_ops** — Run one edit operation by name; params holds its arguments. Required arguments: list_operations; full schema: describe_operation.
- **video_effects_ops** — Run one effect operation by name; params holds its arguments. Required arguments: list_operations; full schema: describe_operation.
- **audio_ops** — Run one audio operation by name; params holds its arguments. Required arguments: list_operations; full schema: describe_operation.
- **video_ai_ops** — Run one AI operation by name; params holds its arguments. Required arguments: list_operations; full schema: describe_operation.
- **image_ops** — Run one image/still operation by name; params holds its arguments. Required arguments: list_operations; full schema: describe_operation.
- **video_qc_ops** — Run one inspection/release operation by name; params holds its arguments. Required arguments: list_operations; full schema: describe_operation.
- **video_plan_ops** — Run one planning operation by name; params holds its arguments. Required arguments: list_operations; full schema: describe_operation.
- **platform_ops** — Run one platform operation by name; params holds its arguments. Required arguments: list_operations; full schema: describe_operation.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "kinocut": {
    "command": "uvx",
    "args": ["--from","kinocut==2.0.1","kino"]
  }
}
```

## Documentation

## What KyaniteLabs/kinocut does

KyaniteLabs/kinocut provides a local video-editing engine through three interfaces: an MCP server for AI agents, a Python client, and the `kino` command-line tool. Its operations use FFmpeg and cover common editing tasks such as trimming, merging, captioning, resizing, cropping, overlays, speed changes, audio work, frame extraction, and vertical-short creation.

The package is designed around reviewable edits. It normally writes to a new output path rather than replacing the source, validates edit parameters before invoking FFmpeg, and returns structured results that an agent can inspect. Quality checks can identify issues such as black frames, silence, or unsuitable loudness. Video Receipts record the requested operation, execution details, and resulting changes.

## How it works

The default MCP configuration exposes 18 entries: eight frequently used tools, eight operation families, and discovery tools for listing and describing operations. Profiles can expose tools for a particular job, while `KINOCUT_TOOLS=all` makes the full catalog available. Operation families provide access to the broader catalog without requiring every individual tool description to be loaded into the agent context.

The main workflow can combine operations such as retrieving media information, trimming an interview, transcribing it, adding subtitles, changing the aspect ratio, and creating a release checkpoint. Multi-step jobs can also be described as JSON workflows and resumed. Rendering and packaging remain local; publishing media is outside the server's scope.

## Setup and configuration

FFmpeg must be installed and available on `PATH`. The MCP process can be launched with `uvx`, or the Python package can be installed before starting the `kino --mcp` command. Python 3.11 or newer is supported. `kino doctor` checks the local installation and reports which optional features are ready.

MCP clients that read JSON configuration can run the server with a command of `uvx`, arguments for the `kinocut` package, and `kino --mcp`. Claude Code has a corresponding `claude mcp add` command. Optional capabilities are installed as package extras. The `KINOCUT_TOOLS` setting selects the default, a named profile, or the complete tool catalog.

A local Claude Desktop extension can be built as an unsigned `.mcpb`, but it launches the user's own Python environment, still requires Node and FFmpeg, and is not a sandbox.

## Tools and capabilities

The hot-path tools include:

- `video_info` for media inspection
- `video_trim` and `video_merge` for basic editing
- `video_add_text` and `video_add_audio` for overlays and sound
- `video_extract_frame` for still extraction
- `video_shorts` for selected-range vertical shorts
- `video_doctor` for diagnostics

Operation families extend the catalog across video editing, effects, audio, AI-assisted video work, images, quality control, planning, and platform packaging. Additional workflows support podcast or stream repurposing, damaged-clip rescue, AI-generated-video review, 360-video assembly, product mattes, still-image matching, audio mixing, Hyperframes and Revideo motion graphics, and C2PA provenance on final exports.

Review outputs can include a contact sheet, storyboard, duration and codec information, and a pass/fail quality report. A release checkpoint can be written beside the rendered clip for review outside an MCP client.

## Limitations and notes

Kinocut renders existing media rather than generating video or paid images. Caption speech uses local eSpeak NG rather than a neural voice. Optional model features are disabled until enabled, and network behavior can be controlled through the project's vision and network settings.

The server does not publish finished media. Overwriting requires an explicit option, and validation failures return a retryable error with the relevant call. The `kinocut_sound` program includes a limited S12 join implementation; its benchmark uses synthetic clips rather than a complete episode or human listening approval.

_Full upstream README: https://allmcps.com/mcp/kyanitelabs-kinocut/readme_

