Media_MCP
by Ankit-lama
README.md
# Modular MCP Media Project
This project has been refactored into two independent local MCP-style CLI servers:
- `image_mcp/` for image processing
- `video_mcp/` for video processing
Each server is modularized into a `main.py` plus a `services/` package so you can add new capabilities without mixing concerns.
## Project structure
```text
mcp_server/
├── image_mcp/
│ ├── __init__.py
│ ├── main.py
│ └── services/
│ ├── __init__.py
│ ├── bg_removal.py
│ ├── compress.py
│ ├── resize.py
│ ├── upscale.py
│ ├── convert.py
│ ├── crop.py
│ ├── watermark.py
│ ├── face_blur.py
│ ├── ocr.py
│ └── common.py
├── video_mcp/
│ ├── __init__.py
│ ├── main.py
│ └── services/
│ ├── __init__.py
│ ├── compress.py
│ ├── trim.py
│ ├── gif.py
│ ├── merge.py
│ ├── audio.py
│ ├── thumbnail.py
│ ├── subtitle.py
│ └── common.py
├── app.py
├── requirements.txt
├── README.md
├── input/
├── output/
```
## Install dependencies
```bash
pip install -r requirements.txt
```
Install FFmpeg on the machine and ensure it is available in PATH.
## Image MCP usage
```bash
python image_mcp/main.py bg --input input/in.png --output output/out.png
python image_mcp/main.py resize --input input/in.jpg --output output/out.jpg --width 800 --height 600
python image_mcp/main.py upscale --input input/in.jpg --output output/out.jpg
python image_mcp/main.py compress --input input/in.jpg --output output/out.jpg --quality 60
python image_mcp/main.py convert --input input/in.png --output output/out.jpg
python image_mcp/main.py crop --input input/in.jpg --output output/out.jpg --x1 10 --y1 10 --x2 200 --y2 200
python image_mcp/main.py watermark --input input/in.jpg --output output/out.jpg --text "Demo"
python image_mcp/main.py faceblur --input input/in.jpg --output output/out.jpg
python image_mcp/main.py ocr --input input/in.jpg
```
## Video MCP usage
```bash
python video_mcp/main.py compress --input input/in.mp4 --output output/out.mp4
python video_mcp/main.py trim --input input/in.mp4 --output output/out.mp4 --start 00:00:05 --end 00:00:10
python video_mcp/main.py gif --input input/in.mp4 --output output/out.gif
python video_mcp/main.py merge --inputs input/v1.mp4 input/v2.mp4 --output output/out.mp4
python video_mcp/main.py audio --input input/in.mp4 --output output/out.mp3
python video_mcp/main.py thumbnail --input input/in.mp4 --output output/thumb.jpg
python video_mcp/main.py subtitle --input input/in.mp4 --output output/out.srt
```
## Design notes
- Each command is implemented in a dedicated service module.
- Shared validation and file-size logging is centralized in the service common files.
- Both servers expose a simple argparse CLI and can be adapted into HTTP APIs later.
- The architecture is intentionally local-first and easy to extend.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues