home / mcp / video & audio editing mcp server

Video & Audio Editing MCP Server

An FFMPEG powered MCP server for basic Video and Audio editing

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "misbahsy-video-audio-mcp": {
      "command": "python",
      "args": [
        "server.py"
      ]
    }
  }
}

This MCP Server provides comprehensive video and audio editing capabilities by leveraging FFmpeg. You can automate and orchestrate professional editing tasksโ€”such as format conversion, trimming, overlays, transitions, and audio processingโ€”through an MCP client, enabling powerful AI-assisted workflows.

How to use

You connect to the Video & Audio Editing MCP Server from your MCP client and issue high-level editing requests. Use supported actions to transform video and audio, apply overlays and effects, and assemble multi-clip workflows with transitions. The server exposes a rich set of editing operations that you can trigger from your automation or UI.

How to install

Prerequisites you need on your machine before starting: Python 3.8 or newer, FFmpeg, and a suitable runtime for MCP servers.

Install and run using uv (recommended local development)

# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Start the MCP server directly with uv
uv run server.py

Install and run using Python directly

# Verify Python 3.8+ is installed
python --version

# Install dependencies (if required by project)
pip install -r requirements.txt

# Run the MCP server directly
python server.py

Alternative running option with explicit transport

# Start the MCP server with a specified transport (stdio in this example)
python -c "from server import mcp; mcp.run(transport='stdio')"

Quick start sanity check

After starting, confirm the server is ready by inspecting the console output for a health check or startup confirmation. You should then be able to send editing requests from your MCP client.

Additional notes on prerequisites and environment

Ensure FFmpeg is accessible from your system path. On macOS or Linux you can typically install it via your package manager; on Windows, download the official FFmpeg binaries and add them to your PATH.

Client considerations and examples

Use the MCP client to request edits by specifying the desired operation (for example, convert_video_format, trim_video, add_text_overlay, concatenate_videos) and providing the necessary input/output paths and parameters. The server will perform the requested actions using FFmpeg under the hood and return the resulting media files or status.

Security and reliability notes

The server includes error handling for missing files, unsupported formats, and invalid parameters. It logs errors clearly and attempts safe fallbacks when possible. Run in a controlled environment and validate outputs during development and testing.

Troubleshooting

If the MCP server does not connect from your client, verify the command and arguments, ensure the Python environment is active, and try starting the server manually to observe any error messages. Check that FFmpeg is installed and accessible, and confirm network or IPC transport settings in your MCP client configuration.

Notes on usage patterns

You can chain multiple editing steps in a workflow, such as converting a video, trimming it, applying a text overlay, and finally concatenating it with another clip, all through your MCP client. The server supports a broad range of operations to enable end-to-end media processing pipelines.

Available tools

extract_audio_from_video

Extract audio tracks from video files to separate audio files for independent processing.

trim_video

Cut video segments with precise timing to produce shorter clips or highlight reels.

convert_video_format

Convert between video formats (MP4, MOV, AVI, etc.) while preserving or altering quality.

convert_video_properties

Comprehensive video property conversion including resolution, codec, bitrate, and frame rate.

change_aspect_ratio

Adjust aspect ratios with padding or cropping to fit target canvases or platforms.

set_video_resolution

Change video resolution while aiming to preserve visual quality.

set_video_codec

Switch video codecs such as H.264, H.265, or VP9.

set_video_bitrate

Set target video bitrate to control quality and file size.

set_video_frame_rate

Modify playback frame rate of the output video.

convert_audio_format

Convert between audio formats like MP3, WAV, AAC, and more.

convert_audio_properties

Adjust audio properties such as sample rate and channels.

set_audio_bitrate

Set the audio bitrate to control quality and size.

set_audio_sample_rate

Change the audio sample rate for compatibility or quality.

set_audio_channels

Convert between mono and stereo audio configurations.

set_video_audio_track_codec

Change the audio codec inside video files.

set_video_audio_track_bitrate

Adjust the audio bitrate within video containers.

set_video_audio_track_sample_rate

Change the audio sample rate inside video files.

set_video_audio_track_channels

Modify the number of audio channels in videos.

add_subtitles

Burn subtitles with custom styling into the video stream.

add_text_overlay

Add dynamic text overlays with timing and styling.

add_image_overlay

Insert image overlays like logos or watermarks.

add_b_roll

Insert B-roll footage with transitions for richer editing.

add_basic_transitions

Apply simple transitions such as fades between clips.

concatenate_videos

Join multiple videos with optional transitions to create a single timeline.

change_video_speed

Create slow-motion or time-lapse effects by modifying playback speed.

remove_silence

Auto-detect and remove silent segments from audio.

health_check

Verify server status and readiness of capabilities.