🎨 MCP server for image & video processing — resize, convert, compress, crop, extract metadata, and more. No API keys, no config, just tools.
Project description
🎨 media-mcp
MCP server for image & video processing. No API keys. No config. Just tools.
Give your AI assistant the power to resize, convert, compress, crop, filter, and analyze images and videos — all through Model Context Protocol.
Works with Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, and any MCP-compatible client.
⚡ Quick Start
Claude Code
claude mcp add media-mcp -- uvx media-mcp
Claude Desktop / Cursor / VS Code
Add to your MCP config:
{
"mcpServers": {
"media-mcp": {
"command": "uvx",
"args": ["media-mcp"]
}
}
}
That's it. No API keys, no accounts, no environment variables.
🛠️ Tools
Image Tools
| Tool | Description |
|---|---|
get_image_info |
Get dimensions, format, color mode, file size, EXIF data |
resize_image |
Resize by dimensions or scale factor with aspect ratio control |
convert_image |
Convert between PNG, JPEG, WebP, GIF, BMP, TIFF, ICO, AVIF |
compress_image |
Optimize file size with quality and max dimension controls |
crop_image |
Crop to specific pixel coordinates |
create_thumbnail |
Generate thumbnails with size control |
strip_metadata |
Remove all EXIF/metadata for privacy |
rotate_image |
Rotate by any angle with optional expansion |
flip_image |
Mirror horizontally or vertically |
apply_filter |
Apply blur, sharpen, grayscale, emboss, contour, and more |
Video Tools (requires ffmpeg)
| Tool | Description |
|---|---|
get_video_info |
Get duration, resolution, codec, bitrate, FPS, audio info |
extract_frames |
Pull frames at regular intervals |
convert_video |
Convert between MP4, WebM, MOV, AVI, GIF, MKV |
💬 Example Usage
Once connected, just ask your AI:
"Resize screenshot.png to 800px wide"
"Convert all the PNGs in this folder to WebP"
"Strip the EXIF data from photo.jpg for privacy"
"Compress this image to under 500KB"
"Extract a frame every 5 seconds from demo.mp4"
"What are the dimensions of banner.png?"
"Make a grayscale version of logo.png"
"Create a 128x128 thumbnail of product-photo.jpg"
📦 Installation
Using uvx (recommended — zero install)
uvx media-mcp
Using pip
pip install media-mcp
With video support
pip install media-mcp[video]
Note: Video tools require
ffmpegto be installed on your system. Install it from ffmpeg.org or via your package manager:# macOS brew install ffmpeg # Ubuntu/Debian sudo apt install ffmpeg # Windows (with Chocolatey) choco install ffmpeg
🔧 Configuration
Config file locations
Claude Desktop
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"media-mcp": {
"command": "uvx",
"args": ["media-mcp"]
}
}
}
Claude Code
claude mcp add media-mcp -- uvx media-mcp
Cursor
Settings → MCP Servers → Add:
{
"media-mcp": {
"command": "uvx",
"args": ["media-mcp"]
}
}
VS Code
Add to .vscode/mcp.json:
{
"servers": {
"media-mcp": {
"command": "uvx",
"args": ["media-mcp"]
}
}
}
🧪 Development
git clone https://github.com/Adityaaery20/media-mcp.git
cd media-mcp
pip install -e ".[dev]"
pytest
Test with MCP Inspector
npx @modelcontextprotocol/inspector uvx media-mcp
📋 Supported Formats
Images: PNG, JPEG, WebP, GIF, BMP, TIFF, ICO, AVIF
Videos: MP4, WebM, MOV, AVI, GIF, MKV (requires ffmpeg)
🗺️ Roadmap
- Batch operations (process entire directories)
- Image watermarking
- PDF to image conversion
- OCR (text extraction from images)
- Audio extraction from video
- Image collage/montage creation
- Smart crop (content-aware)
- SVG rasterization
📄 License
MIT — do whatever you want with it.
🤝 Contributing
Contributions welcome! Please open an issue first to discuss what you'd like to add.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file media_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: media_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
067e91664005af5473c1889fda8bd9bbbb22fefd24df16ab83848cce84726805
|
|
| MD5 |
95a35521ebd4a7456b5596f71a354b2e
|
|
| BLAKE2b-256 |
65c4ddfcb6f5f7e04a52b79d17068eefbe3335ae8d909c062dcb6dce3e2c650b
|
File details
Details for the file media_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: media_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d66ada8854ac67801182129db3a9211df94faf7d56231ea574eabce6ea0d5b7d
|
|
| MD5 |
cbe2ee521c6f5cc78337ca9e0325e5af
|
|
| BLAKE2b-256 |
e211653a9ecee38952e4960bdbc015e46948eb8e76610bad67ad82462a0bf011
|