Skip to main content

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

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.


Built with FastMCP and Pillow

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

media_mcp_server-0.1.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

media_mcp_server-0.1.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

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

Hashes for media_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 067e91664005af5473c1889fda8bd9bbbb22fefd24df16ab83848cce84726805
MD5 95a35521ebd4a7456b5596f71a354b2e
BLAKE2b-256 65c4ddfcb6f5f7e04a52b79d17068eefbe3335ae8d909c062dcb6dce3e2c650b

See more details on using hashes here.

File details

Details for the file media_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for media_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d66ada8854ac67801182129db3a9211df94faf7d56231ea574eabce6ea0d5b7d
MD5 cbe2ee521c6f5cc78337ca9e0325e5af
BLAKE2b-256 e211653a9ecee38952e4960bdbc015e46948eb8e76610bad67ad82462a0bf011

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page