Mochify CLI
High-performance Rust CLI & MCP Server for bulk image compression (AVIF, WebP, JXL, HEIC). Native speed, privacy-first, and AI-agent ready.
Ask AI about Mochify CLI
Powered by Claude Β· Grounded in docs
I know everything about Mochify CLI. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
mochify-cli
A command-line tool and MCP server for mochify.app β a fast, privacy-first image compression and conversion API powered by a native C++ engine.
Compress and convert images to modern formats (AVIF, JXL, WebP, Jpegli) from your terminal, or give AI assistants like Claude direct access to image processing via the Model Context Protocol.
Installation
macOS (Homebrew):
brew tap getmochify/mochify
brew install mochify
Linux / WSL:
# x86_64
curl -L https://github.com/getmochify/mochify-cli/releases/latest/download/mochify-linux-x86_64 -o mochify
chmod +x mochify
sudo mv mochify /usr/local/bin/
# arm64
curl -L https://github.com/getmochify/mochify-cli/releases/latest/download/mochify-linux-arm64 -o mochify
chmod +x mochify
sudo mv mochify /usr/local/bin/
Manual: All binaries at Releases.
From source:
cargo install --path .
Authentication
Sign in with your mochify.app account to unlock your full quota:
mochify auth login
This opens your browser, where you sign in and authorize the CLI. Your credentials are saved automatically to ~/.config/mochify/credentials.toml β no environment variables or manual key copying required. Both the CLI and MCP server pick them up automatically.
mochify auth status # check whether you're signed in
mochify auth logout # remove saved credentials
Free tier (unauthenticated) is limited to 25 images per day. Sign up at mochify.app.
CLI Usage
mochify [OPTIONS] <FILES>...
Options
| Flag | Description |
|---|---|
-t, --type <FORMAT> | Output format: jpg, png, webp, avif, jxl |
-w, --width <N> | Target width in pixels |
-H, --height <N> | Target height in pixels |
--crop | Crop to exact dimensions |
-r, --rotation <DEG> | Rotation: 0, 90, 180, 270 |
-o, --output <DIR> | Output directory (default: same as input) |
-p, --prompt <TEXT> | Natural-language prompt β resolves params automatically |
-k, --api-key <KEY> | API key override (or set MOCHIFY_API_KEY env var) |
Examples
# Convert a JPEG to AVIF
mochify photo.jpg -t avif
# Resize and convert to WebP
mochify photo.jpg -t webp -w 800
# Batch convert a folder to AVIF at 1200px wide
mochify ./images/*.jpg -t avif -w 1200 -o ./compressed
# Use a natural-language prompt instead of explicit flags
mochify photo.jpg -p "convert to avif and resize to 1200px wide"
# Prompt works with multiple files too
mochify ./images/*.jpg -p "compress for web, keep under 1000px wide" -o ./out
MCP Server (Claude Desktop)
mochify can run as an MCP server, letting Claude process images on your behalf directly from conversation.
Setup
Run mochify auth login first, then add the following to your Claude Desktop config at ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mochify": {
"command": "mochify",
"args": ["serve"]
}
}
}
Restart Claude Desktop. The mochify server will appear in your connections and use your saved credentials automatically.
Usage
Just describe what you want in natural language, with the full path to your image:
"Convert
/Users/me/Desktop/photo.jpgto AVIF at 1000px wide"
"Compress all the JPEGs in
/Users/me/projects/blog/images/to WebP and save them to/Users/me/projects/blog/compressed/"
Claude will call the squish tool automatically.
API
Powered by the mochify API at https://api.mochify.xyz/v1/squish.
- Images are processed in-memory and never stored on disk
- Supports JPEG (Jpegli), AVIF, JXL, WebP, and PNG output
- Up to 25MB per image
Visit mochify.app for the web interface.
