🎨 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.
Metadata
Release files for media-mcp-server 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| media_mcp_server-0.1.0.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| media_mcp_server-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.9 kB
Release files / media_mcp_server-0.1.0.tar.gz
| Download URL | media_mcp_server-0.1.0.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
067e91664005af5473c1889fda8bd9bbbb22fefd24df16ab83848cce84726805
|
|
BLAKE2b-256 checksum How to use checksums |
65c4ddfcb6f5f7e04a52b79d17068eefbe3335ae8d909c062dcb6dce3e2c650b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.4
|
Release files / media_mcp_server-0.1.0-py3-none-any.whl
| Download URL | media_mcp_server-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d66ada8854ac67801182129db3a9211df94faf7d56231ea574eabce6ea0d5b7d
|
|
BLAKE2b-256 checksum How to use checksums |
e211653a9ecee38952e4960bdbc015e46948eb8e76610bad67ad82462a0bf011
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.4
|