Mochify

app.mochify由 mochify.app 發布官方發布者v1.6.2更新於 Oct 24, 2026

Image and PDF toolkit: convert to AVIF/WebP/JXL, resize, crop, remove backgrounds, optimize PDFs.

已驗證Streamable HTTP可網頁執行檔案與儲存媒體與設計

概覽

AI 產生的概覽

Mochify 讓助理透過託管或本機 MCP 伺服器壓縮、轉換、縮放、裁切與遮蔽圖片,並處理 PDF。

可以做什麼
  • 轉換、縮放、裁切、旋轉、調亮圖片並移除背景,支援品質、無損、網頁最佳化與 HDR 選項
  • 最佳化 PDF、擷取其中圖片、將頁面轉成圖片或拆分 PDF
  • 把多張圖片合成一份 PDF,可設定頁面尺寸與是否合併
  • 查詢目前計費週期剩餘的操作次數與所屬方案
適用情境
適合需要為網站或電商平台壓縮、轉換圖片,準備分享用的照片,或縮小 PDF、拆分 PDF、把頁面轉成圖片的場合。託管端點適合沒有檔案系統的用戶端,本機伺服器適合處理自己磁碟上的檔案。
執行需求
使用託管端點 mcp.mochify.app 需完成 OAuth 2.0 登入;或透過 Homebrew、Scoop、Cargo 或發行檔安裝本機程式並以 mochify serve 執行。mochify.app 帳號為選用但可提高免費額度;憑證由 mochify auth login 儲存,也可設定 MOCHIFY_API_KEY。需要能連線至 Mochify API 的網路。
安裝前請注意
處理在 Mochify 伺服器上完成,檔案會上傳;託管方式會把結果暫存在短期取件儲存中,並非端到端零保留。PDF 的 optimize、extract、rasterize 與 split 需要付費方案,用量依輸出圖片數計費。模糊遮蔽僅為外觀處理、可能被還原,自動人臉偵測為盡力而為,分享前請檢查結果。工具會寫入磁碟或回傳下載連結。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mochify,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/app.mochify%2Fmochify/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "mochify": {
      "type": "http",
      "url": "https://mcp.mochify.app/mcp"
    }
  }
}

README

mochify-cli

[MCP Badge] [License: MIT]

[圖片]

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, work on PDFs, or give AI assistants like Claude direct access to the same engine over the Model Context Protocol — either as a local stdio server (mochify serve) or the hosted one at mcp.mochify.app, which needs no install at all.

Jump to: Installation · CLI usage · PDF processing · MCP server · Plans

Installation

macOS (Homebrew):

bash
brew tap getmochify/mochifybrew install mochify

Windows (Scoop):

powershell
scoop bucket add mochify https://github.com/getmochify/scoop-mochifyscoop install mochify

Linux / WSL:

bash
# x86_64curl -L https://github.com/getmochify/mochify-cli/releases/latest/download/mochify-linux-x86_64 -o mochifychmod +x mochifysudo mv mochify /usr/local/bin/
# arm64curl -L https://github.com/getmochify/mochify-cli/releases/latest/download/mochify-linux-arm64 -o mochifychmod +x mochifysudo mv mochify /usr/local/bin/

Cargo (all platforms):

bash
cargo install mochify

Requires Rust. Easiest option on Linux/WSL if you already have the toolchain.

Manual: All binaries at Releases.

From source:

bash
cargo install --path .

Authentication

Sign in with your mochify.app account to unlock your full quota:

bash
mochify auth login

This opens your browser, where you sign in and authorize the CLI. 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.

On a machine without a browser (over SSH, say), sign in with a code instead — open the link it prints on any device and type the code:

bash
mochify auth login --no-browser
bash
mochify auth status   # check whether you're signed inmochify auth logout   # remove saved credentials

Without an account you get 3 images per batch (IP-based). With a free account: 25 images/month. Sign up at mochify.app.

CLI Usage

bash
mochify [OPTIONS] <FILES>...

Options

FlagDescription
-t, --type <FORMAT>Output format: jpg, png, webp, avif, jxl
-w, --width <N>Target width in pixels
-H, --height <N>Target height in pixels
--cropCrop to exact dimensions (saliency-guided)
--region <X,Y,W,H>Crop to a rectangle, as fractions 0–1 of the upright image from the top-left
--redact <SPEC>Hide areas: faces and/or ;-separated boxes x,y,w,h (same convention as --region)
--redact-style <STYLE>fill (solid black, default) or blur (cosmetic only)
-r, --rotation <DEG>Rotation: 0, 90, 180, 270
-o, --output <DIR>Output directory (default: same as input)
-n, --name <NAME>Base name for the output file (without extension)
--clarityApply clarity (midtone contrast enhancement — crisper, more detailed look)
--remove-bgRemove the background (AI foreground isolation)
--background <COLOR>Composite colour for --remove-bg (white, #ff0000, …)
--keep-metadataPreserve EXIF/metadata (stripped by default)
-q, --quality <N>Output quality 1–100 (default: automatic)
--smart-compressSaliency-guided quality — detail keeps more, flat areas less
--brightness <N>Exposure, -100 (darkest) to +100 (brightest)
--optimize-for-webProgressive + 4:2:0 chroma — smallest file to serve
--losslessPixel-exact output (jxl, webp, png only)
--hdr [MODE]Ultra HDR gain map: preserve (bare flag) or generate
-p, --prompt <TEXT>Natural-language prompt — resolves all params automatically
-j, --jobs <N>Files to process at once (default 4; 1 for strictly one at a time)
-k, --api-key <KEY>API key override (or set MOCHIFY_API_KEY env var)

Examples

bash
# Convert to AVIFmochify photo.jpg -t avif
# Resize and convert to WebPmochify photo.jpg -t webp -w 800
# Batch convert a folder to AVIF at 1200px widemochify ./images/*.jpg -t avif -w 1200 -o ./compressed
# Natural-language prompt — let the AI pick the right paramsmochify photo.jpg -p "convert to avif, 1200px wide"mochify photo.jpg -p "optimise for eBay"mochify photo.jpg -p "remove background and convert to WebP"mochify photo.jpg -p "resize to 50%, strip EXIF, keep as WebP"
# Custom output namemochify photo.jpg -t webp -n heromochify product.jpg -p "optimise for Shopify" -n product-main
# Pipe file paths from stdinfind . -name "*.jpg" | mochify -t webp -o ./outcat images.txt | mochify -p "convert to avif 1200px wide" -o ./compressedls *.heic | mochify -t jpg

Quality

Quality is chosen automatically unless you say otherwise.

bash
# Fixed qualitymochify photo.jpg -t webp -q 70
# Let saliency pick it — detailed subjects keep more, flat areas lessmochify photo.jpg -t avif --smart-compress
# Smallest file to serve from a web servermochify photo.jpg -t webp --optimize-for-web
# Brighten a dark photomochify photo.jpg --brightness 30
# Pixel-exactmochify scan.png -t webp --lossless

--lossless only works for jxl, webp and png — jpg and avif are rejected before the request goes out. It overrides -q and --smart-compress, and the output is usually larger than the input: lossless preserves pixels, not file size. A source that is already lossy (JPEG, AVIF, HEIC) comes back as the best lossy encode instead, since nothing can restore what that file discarded — the CLI says so when that happens.

Cropping to a region

--crop finds the subject itself. --region is for when you — or the AI assistant driving the MCP server — already know which part of the picture you want:

bash
# The bottom-left quartermochify photo.jpg --region 0,0.5,0.5,0.5
# A region, then sized: -w/-H apply to the cropped partmochify photo.jpg --region 0.2,0.1,0.6,0.8 -w 800 -t webp

The four numbers are x,y,width,height as fractions of the image (0 to 1), measured from the top-left of the picture as it displays — the right way up, even for a phone photo stored sideways. Fractions rather than pixels so the same box works whatever size the image is viewed at. A value above 1 is refused before the request goes out, since that is almost always a box in pixels. The region is cut first: -w/-H, --crop, --rotation and --remove-bg all act on it. --verbose prints the pixel rectangle that was actually cut.

Over MCP this is how an assistant can crop to content — "crop to the feet", "just the logo": it looks at the image itself, picks the box, and Mochify only ever receives the four numbers.

Redaction

Hide faces, number plates, addresses or anything else before an image goes anywhere:

bash
# Every face, found automaticallymochify family.jpg --redact faces
# A number plate, as a box (fractions of the upright image, like --region)mochify car.jpg --redact 0.38,0.71,0.24,0.08
# Both, softened with a blur instead of a solid fillmochify street.jpg --redact "faces;0.38,0.71,0.24,0.08" --redact-style blur

Separate entries with ; — the , belongs to the box. fill (solid black) is the default and the one to use for anything that must stay secret; blur is for the look of a blurred face, and blurred text or faces can sometimes be recovered.

Redaction always strips metadata (EXIF can hold a thumbnail of the original) and removes any HDR gain map (which holds the scene's structure), even if you asked to keep them. faces is best-effort — it can miss small faces and side profiles — so the CLI says when it found none. Check the output before sharing it.

HDR (Ultra HDR gain maps)

--hdr controls the Ultra HDR / ISO 21496-1 gain map that makes a photo render with real headroom on an HDR display.

ModeWhat it does
--hdr (or --hdr preserve)Keeps a gain map the source already has. Never invents one, so it does nothing to an SDR photo.
--hdr generateKeeps an existing gain map and synthesises one when the source is plain SDR. This is the one for "make it HDR".

Only jpg output can carry a gain map (jxl carries HDR by a different route; avif, webp and png cannot), so pair it with -t jpg. It is also skipped alongside --clarity or --remove-bg, which change the base the gain map is a ratio to. The CLI reads the X-Mochify-HDR response header and tells you when the output ended up with no gain map.

bash
# Keep the headroom an iPhone photo already captured, converting to JPEGmochify IMG_1234.heic -t jpg --hdr
# Give an SDR photo a gain mapmochify photo.jpg --hdr generate
# Or just say somochify photo.jpg -p "make this HDR"

Output file naming

By default, when the output format and directory match the input, the result is saved as {name}_mochified.{ext} so it's always clear something happened. If that file already exists, a numeric suffix is added (_1, _2, etc.). When the format changes (e.g. .jpg → .webp), the extension change is already unambiguous so no suffix is added.

Use -n, --name to set an explicit base name: mochify photo.jpg -t webp -n hero saves hero.webp. The prompt path also supports this: mochify *.jpg -p "optimise for Shopify, name them product" will produce product.webp, product_1.webp, etc.

PDF processing

PDFs are detected automatically by the .pdf extension, and --op picks what to do with them. (PDFs and images can't be mixed in a single command — run them separately.)

create is the exception: its inputs are images, so there is nothing in a .jpg to route on. Pass --op create, or just say "pdf" in a prompt — mochify *.jpg -p "convert to pdf" builds one too.

OpTakesReturnsWhat it does
optimizea PDF.pdfRecompresses the images inside the PDF. Text, fonts, vector art and layout are untouched, so the document stays searchable.
extracta PDF.zipPulls out the images somebody placed into the document, at the resolution they were stored at.
rasterizea PDF.zipRenders every page to an image, text and all.
splita PDF.zipExplodes the PDF into one single-page PDF per page.
createimages.pdfBuilds a PDF from images, one page per image, in the order given.
FlagApplies toDescription
--op <OP>alloptimize, extract, rasterize, split, create
-t, --type <FORMAT>rasterize, extractpng, jpg, webp, avif, jxl — plus original for extract (no re-encode)
--dpi <N>rasterize, optimize, createRender resolution (rasterize, default 150), target resolution for the images kept inside the PDF (optimize), or page sizing (create)
-q, --quality <N>all but splitOutput quality 1–100 (same flag as for images)
--max-width <N>extract, optimize, createCap image width in pixels; 0 leaves sizes alone
--min-size <N>extract, optimizeSkip images smaller than this on either axis; 0 takes everything
--page <SIZE>createfit (default), a4, letter
--no-combinecreateOne single-page PDF per image, returned as a .zip
bash
# Make a PDF smaller without touching the textmochify report.pdf --op optimize -q 75 --dpi 150
# Pull the embedded images out as WebP, capped at 1600pxmochify brochure.pdf --op extract -t webp --max-width 1600
# Render pages to PNG at 150 DPI, or high-res JPEGs for printmochify document.pdf --op rasterize -t png --dpi 150mochify document.pdf --op rasterize -t jpg --dpi 300 -q 90
# One PDF per pagemochify document.pdf --op split
# Build a PDF from images (one page per image, in the order given)mochify page-*.jpg --op create --page a4 -n scannedmochify page-*.jpg --op create --no-combine   # one PDF per image, as a zip
# Or describe it in natural languagemochify report.pdf -p "compress this pdf"mochify brochure.pdf -p "get the photos out as png"mochify document.pdf -p "split into pngs"mochify page-*.jpg --op create -p "one a4 pdf, good quality"
# A prompt that says "pdf" on image inputs implies --op createmochify page-*.jpg -p "convert to pdf"mochify scan-*.png -p "one a4 pdf, good quality"mochify shot-*.jpg -p "each image as its own pdf"

Outputs are named after the input: report_compressed.pdf, brochure_images.zip, document_rasterized.zip, document_pages.zip, and <first image>.pdf for create (override with -n).

optimize, extract, rasterize and split require a paid plan; create works on every plan, including Free.

MCP server

Mochify speaks MCP two ways. Both call the same engine at api.mochify.app, where encoding happens in RAM and the original is discarded immediately. The difference is where your files live.

Hosted (mcp.mochify.app)Local (mochify serve)
Installnonethis binary
TransportStreamable HTTPstdio
AuthOAuth 2.0 + PKCE, one browser approvalmochify auth login, or anonymous
Inputpublic HTTPS URL, or base64 bytesabsolute paths on your disk
Outputshort-lived download URL (~5 min) on files.mochify.appwritten straight to disk
Image bytes through the agenton base64 inputnever
Handlesimagesimages and PDFs

Reach for hosted when the agent has no filesystem — Claude.ai, a hosted runtime, anything talking to images that already live on the web. Reach for local when the files are on your machine, which is most of the time: nothing but a path and a byte count ever enters the model's context.

Both can run side by side in the same client with independent tokens.

Hosted (no install)

Register https://mcp.mochify.app as a remote MCP connector and complete the OAuth flow once. No API key to copy or rotate.

  • Claude.ai — Settings → Connectors → Add custom connector
  • Claude Desktop — Settings → Connectors, or a "type": "http" entry in the config
  • Cursor, Windsurf, Gemini, any client with remote MCP support — same URL

Or install it from Smithery:

[smithery badge]

Results come back as a download URL with roughly a five-minute expiry, held in an in-memory pickup store until fetched or the TTL lapses. Originals are never stored. This is the one path that is not zero-retention end to end — see why we relaxed zero retention for MCP.

Local (stdio)

Run mochify auth login first, then point your client at the binary:

json
{  "mcpServers": {    "mochify": {      "command": "mochify",      "args": ["serve"]    }  }}

Claude Desktop's config lives at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS. Restart the client afterwards; the server picks up your saved credentials automatically. Any stdio MCP client works the same way — Cursor, Continue, Cline, Claude Code.

Set MOCHIFY_API_KEY instead for CI, or leave auth off entirely to run on the anonymous free tier.

Tools

Both servers expose the same four tools. The difference is how files get in and out: the local server takes paths and writes to disk, the hosted one takes URLs or base64 and hands back a short-lived download URL.

ToolTakesDoes
squishone imageEverything on the image side: format conversion, resize, crop, rotate, background removal, brightness, clarity, quality control (fixed, saliency-guided or lossless), web optimisation, Ultra HDR gain maps.
pdfone PDFoptimize (smaller PDF, text and layout untouched), extract (the images inside it, as a zip), rasterize (pages to images, as a zip), split (one PDF per page, as a zip).
pdf_createimagesBuilds a PDF, one page per image, in the order given. fit, a4 or letter pages; combine: false returns a zip of single-page PDFs.
check_usagenothingReports operations remaining this billing period and the plan they belong to. Needs authentication.

squish parameters: file_path, type, width, height, crop, rotation, quality, smart_compress, lossless, optimize_for_web, brightness, clarity, remove_background, background, strip_metadata, hdr, output_dir, output_name.

pdf parameters: file_path, op, type, dpi, quality, max_width, min_size, output_dir.

pdf_create parameters: file_paths, page, quality, dpi, max_width, combine, output_name, output_dir.

check_usage takes no parameters.

Every tool reads and writes the filesystem itself, so the agent never has to load an image to process it. Responses carry the saved path plus whatever the API reported: how much smaller the PDF got, whether a gain map survived, whether a lossless request had to fall back to lossy, and how much quota is left.

Usage

Describe what you want in natural language, with the full path to your file:

"Convert /Users/me/Desktop/photo.jpg to AVIF at 1000px wide"

"Compress all the JPEGs in /Users/me/projects/blog/images/ to WebP and save to /Users/me/projects/blog/compressed/"

"Optimise /Users/me/Desktop/product.jpg for eBay"

"Remove the background from /Users/me/Desktop/shirt.png and save as WebP"

"Compress /Users/me/Desktop/report.pdf — it's too big to email"

"Rasterize /Users/me/Desktop/report.pdf to PNGs at 200 DPI"

"Make /Users/me/Desktop/sunset.jpg HDR"

"Brighten /Users/me/Desktop/dim.jpg a bit and optimise it for my website"

"Turn the scans in /Users/me/Desktop/receipts/ into one A4 PDF"

API

Powered by https://api.mochify.app — /v1/squish for images, /v1/pdf for PDF optimize/extract/rasterize/split/create. Files are processed in RAM and never written to disk.

PlanOps/monthFiles per batchMax file size
Free (no account)3 per batch320 MB
Free (with account)25320 MB
Day Pass ($2 one-time)100, valid 24h2575 MB
Seller ($7.99/mo)3002575 MB
Pro ($24.99/mo)1,2002575 MB
Growth ($79.99/mo)5,0002575 MB

One operation is one output image. Compress, convert, resize and rotate the same file and it stays one operation; ask for two formats at two sizes and that is four. PDF optimize, extract, rasterize and split need a paid plan (Day Pass counts); create works on every plan including Free.

Visit mochify.app for the web interface, pricing, and API docs.

Questions

Ask in GitHub Discussions — answers stay searchable there, which a support email thread does not. Bugs and feature requests belong in Issues. For anything account or billing related, email [email protected].

Listed in the official MCP Registry as mcp-name: app.mochify/mochify.

來源:README.md,提交 3ee8ae9

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.6.2最新Sep 21, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分