Videokit

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

Probe, trim, transcode and extract frames or audio from local video files with ffmpeg.

VerifiedSTDIODesktop onlyFiles & StorageMedia & Design

Overview

AI-generated overview

Local stdio MCP server that lets an assistant inspect and edit local video files with ffmpeg: probe, thumbnail, frames, audio, trim, transcode, resize.

What you can do
  • Probe a local video for duration, dimensions, codecs and format
  • Extract a single thumbnail frame, frames at a given rate, or the audio track
  • Trim a video to a segment, transcode it to another container, or resize it to a given width and height
  • Write the resulting image, audio and video files to paths you specify
When to use it
Useful when an assistant needs to work with video files already on the machine: checking specs before editing, pulling stills or audio out of a clip, or producing trimmed, resized or re-containerized copies without a GUI editor.
Requirements
Runs as a local process via npx (npm package) or Docker; desktop only. ffmpeg and ffprobe must be installed on the host, since the package bundles neither; the Docker image has no ffmpeg in-image. No accounts, API keys or environment variables are declared.
Before you install
Tools write new files to the output paths you give, so point them at intended locations. Processing is local, but large videos can be slow and disk-heavy. The Docker image cannot run the ffmpeg-based tools because ffmpeg is unavailable in-image.

Installation

In SourceWeft

  1. Open Videokit in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

videokit

Local video file tools as a CLI and a stdio MCP server in one bin. Probe a video for duration, dimensions and codecs; extract a thumbnail, frames or the audio track; trim, transcode and resize.

All work is built as ffmpeg/ffprobe argument arrays (execFile, never a shell string) behind an injectable executor, and probe results are parsed from ffprobe's JSON output — fields a file does not carry come back as null, never invented. This package bundles no ffmpeg: host runs use the host's binaries, and when they are absent the spawn error (ENOENT) is the tool error.

Install

bash
npx -y @reneturcios/videokit mcp

CLI

bash
videokit mcpvideokit probe <file>videokit thumbnail <file> <output> [timestamp-seconds]videokit audio <file> <output>videokit trim <file> <output> <start-seconds> [duration-seconds]videokit resize <file> <output> <width> <height>videokit --version

Exit codes: 0 success, 1 ffmpeg error, 2 usage error.

MCP tools

ToolPurpose
probe_videoProbe a local video file for duration, dimensions, codecs and format
get_thumbnailExtract a single frame of a video as a thumbnail image file
extract_framesExtract frames of a video as image files in an output directory at a given rate
extract_audioExtract the audio track of a video into an audio file
trim_videoTrim a video to a segment starting at an offset, optionally with a duration
transcode_videoTranscode a video to another container format
resize_videoResize a video to the given width and height

MCP client config:

json
{  "mcpServers": {    "videokit": {      "command": "npx",      "args": ["-y", "@reneturcios/videokit", "mcp"]    }  }}

Docker

bash
docker run -i ghcr.io/cloudcorprecords/videokit          # MCP server (ffmpeg unavailable in-image)docker run --rm ghcr.io/cloudcorprecords/videokit --version

Development

bash
npm installnpm run buildnpm test

MIT license.

Source: README.md at commit 5ea4c54

Tools

7

probe_video

Probe a local video file for duration, dimensions, codecs and format

Parametersfile_pathrequired

get_thumbnail

Extract a single frame of a video as a thumbnail image file

Parametersfile_pathrequiredoutput_filerequiredtimestamp_seconds

extract_frames

Extract frames of a video as image files in an output directory at a given rate

Parametersfpsfile_pathrequiredoutput_dirrequired

extract_audio

Extract the audio track of a video into an audio file

Parametersfile_pathrequiredoutput_filerequired

trim_video

Trim a video to a segment starting at an offset, optionally with a duration

Parametersfile_pathrequiredoutput_filerequiredstart_secondsrequiredduration_seconds

transcode_video

Transcode a video to another container format

Parametersformatrequiredfile_pathrequiredoutput_filerequired

resize_video

Resize a video to the given width and height

Parameterswidthrequiredheightrequiredfile_pathrequiredoutput_filerequired

Version history

1
  1. v0.1.0LatestOct 31, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts