Video & Audio EditorSAFE
An FFMPEG powered MCP server for basic Video and Audio editing
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
A comprehensive Model Context Protocol (MCP) server that provides powerful video and audio editing capabilities through FFmpeg. This server enables AI assistants to perform professional-grade video editing operations including format conversion, trimming, overlays, transitions, and advanced audio processing.
[](https://opensource.org/licenses/MIT) [](https://www.python.org/downloads/) [](https://modelcontextprotocol.io/) [](https://smithery.ai/server/@misbahsy/video-audio-mcp)
✨ Features
- 🎥 Video Processing: Format conversion, resolution scaling, codec changes, frame rate adjustment
- 🎵 Audio Processing: Format conversion, bitrate adjustment, sample rate changes, channel configuration
- ✂️ Editing Tools: Video trimming, speed adjustment, aspect ratio changes
- 🎨 Overlays & Effects: Text overlays, image watermarks, subtitle burning
- 🔗 Advanced Editing: Video concatenation with transitions, B-roll insertion, silence removal
- 🎭 Transitions: Fade in/out effects, crossfade transitions between clips
🛠️ Available Tools
Core Video Operations
extract_audio_from_video- Extract audio tracks from video filestrim_video- Cut video segments with precise timingconvert_video_format- Convert between video formats (MP4, MOV, AVI, etc.)convert_video_properties- Comprehensive video property conversionchange_aspect_ratio- Adjust video aspect ratios with padding or croppingset_video_resolution- Change video resolution with quality preservationset_video_codec- Switch video codecs (H.264,
ccdb92248e40OBSERVED · 2026-10-07Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add video-edit-mcp -- uvx video-edit-mcp
{
"mcpServers": {
"video-edit-mcp": {
"command": "uvx",
"args": [
"video-edit-mcp"
]
}
}
}Exposed tools (27)
9 read · 17 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
add_b_roll | write | Inserts B-roll clips into a main video as overlays. |
add_basic_transitions | write | Adds basic fade transitions to the beginning or end of a video. |
add_image_overlay | write | Adds an image overlay (watermark/logo) to a video. |
add_subtitles | write | Burns subtitles from an SRT file onto a video, with optional styling. |
add_text_overlay | write | Adds one or more text overlays to a video at specified times and positions. |
change_aspect_ratio | read | Changes the aspect ratio of a video, using padding or cropping. |
change_video_speed | read | Changes the playback speed of a video (and its audio). |
concatenate_videos | read | Concatenates multiple video files into a single output file. |
convert_audio_format | read | Converts an audio file to the specified target format. |
convert_audio_properties | read | Converts audio file format and ALL specified properties like bitrate, sample rate, and channels. |
convert_video_format | read | Converts a video file to the specified target format, attempting to copy codecs first. |
convert_video_properties | read | Converts video file format and ALL specified properties like resolution, codecs, bitrates, and frame rate. |
extract_audio_from_video | read | Extracts audio from a video file and saves it. |
health_check | read | Returns a simple health status to confirm the server is running. |
remove_silence | destructive | Removes silent segments from an audio or video file. |
set_audio_bitrate | write | Sets the bitrate for an audio file. |
set_audio_channels | write | Sets the number of channels for an audio file (1 for mono, 2 for stereo). |
set_audio_sample_rate | write | Sets the sample rate for an audio file. |
set_video_audio_track_bitrate | write | Sets the audio bitrate of a video |
set_video_audio_track_channels | write | Sets the number of audio channels of a video |
set_video_audio_track_codec | write | Sets the audio codec of a video |
set_video_audio_track_sample_rate | write | Sets the audio sample rate of a video |
set_video_bitrate | write | Sets the video bitrate of a video, attempting to copy the audio stream. |
set_video_codec | write | Sets the video codec of a video, attempting to copy the audio stream. |
set_video_frame_rate | write | Sets the frame rate of a video, attempting to copy the audio stream. |
set_video_resolution | write | Sets the resolution of a video, attempting to copy the audio stream. |
trim_video | write | Trims a video to the specified start and end times. |
Trust audit
SAFEgrade B · trust 88/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (4 observation(s))
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (14)
remove_silence
fastmcp
For more control, you can use the low-level server implementation directly. This gives you full access to the protocol and allows you to customize every aspect of your server, including lifecycle mana
load_dotenv() # load environment variables from .env
This creates the beginnings of a .NET console application that can read the API key from user secrets.
curl -LsSf https://astral.sh/uv/install.sh | sh
curl -LsSf https://astral.sh/uv/install.sh | sh
Client->>+Server: POST InitializedNotification<br>Mcp-Session-Id: 1868a90c...
Client->>+Server: POST ... request ...<br>Mcp-Session-Id: 1868a90c...
Client->>+Server: POST ... notification/response ...<br>Mcp-Session-Id: 1868a90c...
MCP clients **MUST NOT** send tokens to the MCP server other than ones issued by the MCP server's authorization server.
Client->>+Server: POST InitializedNotification<br>Mcp-Session-Id: 1868a90c...
tests/sample.mp4
tests/sample.png
Gates applied: no_behavioural_pass.
ccdb92248e40full audit observations/trust-audit/mcp-server/misbahsy__video-audio-editor.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | ccdb92248e40 | SAFE | B | 88 | first audit |
Questions
What is the Video & Audio Editor MCP server?
An FFMPEG powered MCP server for basic Video and Audio editing
What tools does Video & Audio Editor expose?
27 in total: 9 read-only, 17 that write, and 1 that can delete or overwrite (remove_silence). Every one is listed on this page with its risk.
Is Video & Audio Editor safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (88/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Video & Audio Editor need?
No credential environment variables were found in its source, so it appears to need none.
How current is this page?
The grade is for one exact copy of the source (ccdb92248e40), read on 2026-10-07. The repository is watched and re-audited when it changes.