claudeclip

claudeclip

A local MCP server that enables Claude to edit videos on your machine using ffmpeg, with tools for trimming, converting, compressing, creating GIFs, and more.

Category
Visit Server

README

claudeclip

CI

A local MCP server that lets Claude edit videos on your machine, powered by ffmpeg. Works with Claude Cowork, Claude Desktop, Claude Code, and any other MCP client, on Windows, macOS, and Linux — ffmpeg is bundled automatically if you don't have it.

Ask things like "trim the first 30 seconds off intro.mp4 and turn the best part into a GIF" — Claude inspects the file, picks the right tools, and writes the results next to your originals.

Tools

Tool What it does
get_video_info Duration, resolution, fps, codecs, bitrate, file size
sample_frames Contact sheet of timestamped frames — lets Claude see the video before editing
detect_scenes Timestamps of cuts/shot changes, ready to feed into trims
detect_silence Silent stretches plus the non-silent segments to keep (cut dead air)
trim_video Cut to a time range — frame-accurate re-encode, or instant fast_copy
concat_videos Join clips in order, with hard cuts or crossfades; mixed resolutions/frame rates are normalized automatically
convert_video Re-encode to mp4 / webm / mov / mkv with a quality preset
resize_video Scale by width, height, or percentage (aspect ratio preserved)
crop_video Crop a rectangle out of the frame
compress_video Shrink to an approximate target size in MB, or general-purpose compression
change_speed 0.25x–4x playback speed, audio pitch preserved
rotate_video Rotate 90/180/270° and/or mirror horizontally/vertically
add_fade Fade in from black / out to black, video and audio
reverse_video Play backwards (best for short clips)
loop_video Repeat N times or until a target duration, no re-encode
adjust_colors Brightness, contrast, saturation (saturation 0 = black & white)
stack_videos Side-by-side, vertical, or grid comparison layouts
picture_in_picture Overlay a video in a corner (webcam/reaction style)
video_from_images Slideshow from images, optional soundtrack
create_gif Palette-optimized animated GIF from a clip
extract_frame Save a still frame as jpg/png (thumbnails, covers)
extract_audio Audio track out to mp3 / wav / m4a / flac
remove_audio Strip audio without re-encoding
replace_audio Swap in music or a voiceover, optionally looped to fit
adjust_volume Louder/quieter by a multiplier
normalize_audio EBU R128 loudness normalization (podcast/social levels)
add_text_overlay Captions/titles: position presets, color, background box, show/hide times
add_watermark Image/logo overlay with size and opacity
draw_box Rectangle outline or filled box for highlighting/redacting, with time window
blur_region Blur or pixelate a region (faces, plates, names), with time window
burn_subtitles Permanently render an .srt/.ass subtitle file onto the video

Safe by default: tools never overwrite files. Without an explicit output_path, results land next to the input as name_trimmed.mp4, name_clip.gif, etc., and name collisions get a numeric counter.

Requirements

  • Node.js 18+
  • ffmpeg — required, and installed for you: npm install always fetches ffmpeg/ffprobe binaries for your platform (Windows, macOS Intel/Apple Silicon, Linux), so the server works out of the box. If a system ffmpeg is present it is preferred (newer and faster); the lookup order is FFMPEG_PATH/FFPROBE_PATH env vars → common install locations (incl. ~/ffmpeg, C:\ffmpeg\bin, Homebrew) → PATH → bundled.

Install

Option 1 — npx (easiest)

No download at all — with Node.js 18+ installed, just use npx in your Claude config (first run fetches everything, including ffmpeg):

{
  "mcpServers": {
    "claudeclip": {
      "command": "npx",
      "args": ["-y", "claudeclip"]
    }
  }
}

Or for Claude Code: claude mcp add claudeclip -- npx -y claudeclip

Option 2 — download a release

Grab the zip for your platform from the latest release, unzip it somewhere permanent, and point your Claude config at dist/index.js inside it (see below). The zip is self-contained — Node.js 18+ is the only requirement, ffmpeg is included.

Option 3 — from source

git clone https://github.com/gulkoa/claudeclip.git
cd claudeclip
npm install
npm run build

Connect to Claude

Claude Cowork / Claude Desktop

Add the server to your Claude config file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "claudeclip": {
      "command": "node",
      "args": ["/absolute/path/to/claudeclip/dist/index.js"]
    }
  }
}

Restart the Claude app; the tools appear under the claudeclip server. (If node isn't found, use the full path to the Node executable as command.)

Claude Code

claude mcp add claudeclip -- node /absolute/path/to/claudeclip/dist/index.js

Example prompts

  • "How long is C:\Videos\demo.mp4 and what resolution is it?"
  • "Cut talk.mp4 from 12:30 to 14:00 and compress the result to about 25 MB"
  • "Join these three clips and add my logo.png as a watermark in the bottom right"
  • "Make a 5-second GIF of the goal at 1:23, 480px wide"
  • "Replace the audio in timelapse.mp4 with song.mp3, looped to fit"
  • "Burn episode1.srt into the video and caption the intro with the show title"
  • "Look at what's in raw.mp4, then cut it into separate scenes"
  • "Remove the dead air from this recording and normalize the audio"
  • "Put screen.mp4 and webcam.mp4 side by side" / "webcam in the corner"
  • "Pixelate the license plate at the top right from 0:12 to 0:31"

Notes

  • Text overlays render with a system font (Arial/Segoe UI on Windows, Helvetica on macOS, DejaVu on Linux). Arbitrary text is safe — it's passed to ffmpeg via a temp file, so quotes, %, : and friends can't break the filter graph.
  • Encoding defaults favor compatibility: H.264 + AAC in mp4 with +faststart, VP9 + Opus for webm.
  • Long jobs time out after 15 minutes.

Development

npm run build          # compile TypeScript to dist/
node test/smoke.mjs    # end-to-end test: spawns the server over stdio,
                       # generates test media with ffmpeg, exercises every tool

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured