# mcp-video [Health: Active]

**Category:** 🎥 Multimedia Process  
**Repository:** https://github.com/KyaniteLabs/mcp-video  
**GitHub Stars:** 264  
**Views:** 6  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mcp-video

## Description
Video editing MCP server with 91 FFmpeg, planning, and Hyperframes tools.

## 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": {
  "mcp-video": {
    "command": "uvx",
    "args": ["--from","kinocut==2.0.1","kino"]
  }
}
```

## Documentation

## What mcp-video does

Kinocut is the renamed distribution of mcp-video: a local video-editing MCP server with a Python client and the `kino` command-line interface. It uses FFmpeg to process real media on the machine where it runs. The package supports common editing tasks such as trimming, merging, captioning, resizing, converting, overlays, cropping, speed changes, audio work, and frame extraction.

Beyond individual edits, it can create vertical shorts from selected ranges, prepare podcast or stream clips for Shorts, Reels, and TikTok, run release checkpoints, and execute multi-step jobs from JSON specifications. Hyperframes and Revideo tools cover code-driven motion graphics. Other operation groups address quality control, video planning, AI-assisted processing, images, platform packaging, and audio mixing.

## How it works

The MCP interface offers a small default catalog to reduce the amount of tool metadata an agent must read. That default exposes 18 entries, including eight frequently used tools, eight operation families, `list_operations`, and `describe_operation`. Profiles can expose tools for a particular job, while `KINOCUT_TOOLS=all` makes the full published catalog available.

Operation families provide access to the broader catalog without listing every tool individually. An agent can enumerate a family with `list_operations`, retrieve a specific schema with `describe_operation`, and then dispatch the operation. Family dispatch uses the same implementation as the corresponding named tool.

Before FFmpeg runs, inputs such as filter ranges, merge compatibility, audio levels, overlay opacity, and text timing are checked. Outputs use new paths by default; replacing an existing file requires an explicit overwrite option. Results are structured for agent inspection, and Video Receipts record the request, executed work, and changes. Quality gates can detect issues including black frames, silence, and unsuitable loudness.

## Setup and configuration

FFmpeg must be installed and available on `PATH`. The server can be started through an MCP client's JSON configuration with `uvx`, for example by running `kino --mcp` from the `kinocut` package. It can also be installed with `pip`, after which `kino doctor` reports available features and requirements. Optional capabilities are installed as package extras.

Claude Code can register the server with its MCP command. JSON-based configuration is supported for Claude Desktop, Cursor, Windsurf, and Zed. A local Claude Desktop extension can be built as an unsigned `.mcpb`, but that package still launches the user's Python environment, requires Node and FFmpeg, and is not a sandbox.

The `KINOCUT_TOOLS` setting controls catalog exposure. It can select a named profile or expose all tools; leaving it unset uses the compact default listing.

## Tools and capabilities

The hot-path tools include:

- `video_info` for media inspection
- `video_trim` and `video_merge` for basic edits
- `video_add_text` and `video_add_audio` for overlays and sound
- `video_extract_frame` for still extraction
- `video_shorts` for short-form cuts
- `video_doctor` for diagnostics

Additional families cover video editing, effects, audio, AI video operations, image processing, quality control, planning, and platform tasks. `video_review_card` creates an HTML review card with a contact sheet, media details, and approval or revision actions. `kino release-checkpoint` produces a thumbnail, storyboard, and pass/fail quality report beside a clip.

## Limitations and notes

Processing is local, and the server does not post or publish exports. Optional model features remain disabled until enabled, with controls for vision and network behavior. The package renders and packages existing media rather than generating video from text or providing a paid image-generation adapter. Caption speech uses local eSpeak NG rather than a neural voice. The `kinocut_sound` program includes a limited S12 join, and its benchmark uses synthetic clips rather than full-episode or human-listening approval.

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

