MediaMCP 🎬
One MCP server for media: convert, compress, inspect, thumbnail — plus video→knowledge (info, transcripts) for 1000+ sites.
Local-first: free tools run on your machine (ffmpeg + yt-dlp). Optional cloud tier (keyed) for Whisper-grade transcription of any URL.
Tools
media_info | free | ffprobe metadata: duration, codecs, resolution, bitrate |
convert | free | ffmpeg transcode (mp3/wav/mp4/webm/gif/…) with optional extra args |
compress | free | shrink video (CRF + audio bitrate), reports size reduction |
thumbnail | free | extract a frame at time_s as PNG |
video_info | free | yt-dlp metadata for a URL: title, duration, views, caption languages |
transcript | free | clean transcript from subtitles/auto-captions, optional timestamps |
cloud_transcribe | cloud | Whisper-grade transcription of any URL (needs MPX_API_KEY) |
Install
Requires ffmpeg and yt-dlp on PATH
(brew install ffmpeg && pip install yt-dlp or winget install Gyan.FFmpeg etc.).
Claude Code:
claude mcp add media -- uvx mcpproducts-media
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"media": {
"command": "uvx",
"args": ["--from", "git+https://github.com/mkorayemai-web/media-mcp", "media-mcp"]
}
}
}
Cloud tier: set MPX_API_KEY env var (from the marketplace listing) to enable cloud_transcribe.
Example prompts
- "Compress
demo.mp4 to under 10 MB" → compress
- "Get the transcript of https://www.youtube.com/watch?v=… with timestamps" →
transcript
- "Convert
call.m4a to wav 16k mono" → convert with extra_args
- "What resolution/codec is
movie.mkv?" → media_info
License
MIT