Back to MCP Servers

Media

Local image and video processing MCP server with 13 tools for resize, convert, compress, crop, thumbnail, metadata extraction, rotate, flip, filters, and ffmpeg-based video operations. No API keys required.

developer-toolsapiai
By Adityaaery20
3Updated 3 months agoPythonMIT

Installation

npx -y media-mcp

Configuration

{
  "mcpServers": {
    "media-mcp": {
      "command": "npx",
      "args": ["-y", "media-mcp"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes

🎨 media-mcp-server

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-server

Claude Desktop / Cursor / VS Code

Add to your MCP config:

{
  "mcpServers": {
    "media-mcp": {
      "command": "uvx",
      "args": ["media-mcp-server"]
    }
  }
}

That's it. No API keys, no accounts, no environment variables.


πŸ› οΈ Tools

Image Tools

ToolDescription
get_image_infoGet dimensions, format, color mode, file size, EXIF data
resize_imageResize by dimensions or scale factor with aspect ratio control
convert_imageConvert between PNG, JPEG, WebP, GIF, BMP, TIFF, ICO, AVIF
compress_imageOptimize file size with quality and max dimension controls
crop_imageCrop to specific pixel coordinates
create_thumbnailGenerate thumbnails with size control
strip_metadataRemove all EXIF/metadata for privacy
rotate_imageRotate by any angle with optional expansion
flip_imageMirror horizontally or vertically
apply_filterApply blur, sharpen, grayscale, emboss, contour, and more

Video Tools (requires ffmpeg)

ToolDescription
get_video_infoGet duration, resolution, codec, bitrate, FPS, audio info
extract_framesPull frames at regular intervals
convert_videoConvert 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-server

Using pip

pip install media-mcp-server

With video support

pip install media-mcp-server[video]

Note: Video tools require ffmpeg to 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

<details> <summary><b>Claude Desktop</b></summary>
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "media-mcp": {
      "command": "uvx",
      "args": ["media-mcp-server"]
    }
  }
}
</details> <details> <summary><b>Claude Code</b></summary> ```bash claude mcp add media-mcp -- uvx media-mcp-server ``` </details> <details> <summary><b>Cursor</b></summary>

Settings β†’ MCP Servers β†’ Add:

{
  "media-mcp": {
    "command": "uvx",
    "args": ["media-mcp-server"]
  }
}
</details> <details> <summary><b>VS Code</b></summary>

Add to .vscode/mcp.json:

{
  "servers": {
    "media-mcp": {
      "command": "uvx",
      "args": ["media-mcp-server"]
    }
  }
}
</details>

πŸ§ͺ 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-server

πŸ“‹ 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.


Built with FastMCP and Pillow

View source on GitHub