mcpField
M
Mochify

Mochify

远程服务
mochify.app媒体与设计12 天前更新

关于 Mochify

Mochify 是通过 mochify.app API 处理文件的图像与 PDF 命令行工具及 MCP 服务。它支持图像转换、压缩、编辑和 PDF 操作,并提供本地 stdio 与托管 HTTP 两种 MCP 接入方式。

主要功能

  1. 01转换为 AVIF、JXL、WebP 等格式
  2. 02调整尺寸、裁剪和优化图像
  3. 03移除背景并遮盖图像区域
  4. 04优化、提取、栅格化和拆分 PDF
  5. 05本地 stdio 与托管 HTTP MCP 服务

适用场景

  1. 01批量转换用于网页发布的图像
  2. 02分享前调整照片尺寸或遮挡信息
  3. 03缩小 PDF,同时保留文本
  4. 04向 AI 助手提供图像和 PDF 处理能力

MCP 相关

Mochify 通过 `mochify serve` 提供本地 stdio 服务,也在 `mcp.mochify.app` 提供托管 Streamable HTTP 服务。两者使用同一处理引擎;本地模式接收磁盘路径,托管模式接收 HTTPS URL 或 base64 数据。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.mochify.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
cargomochify1.6.2

工具

详细介绍

mochify-cli

MCP Badge License: MIT

README 配图

适用于 mochify.app 的命令行工具和 MCP 服务——这是一个快速、以隐私为先的图像压缩与转换 API,由原生 C++ 引擎驱动。

在终端中将图像压缩并转换为现代格式(AVIF、JXL、WebP、Jpegli),处理 PDF,或通过 Model Context Protocol 让 Claude 等 AI 助手直接使用同一引擎——既可以作为本地 stdio 服务(mochify serve),也可以使用托管服务 mcp.mochify.app,无需安装。

跳转至: 安装 · CLI 用法 · PDF 处理 · MCP 服务 · 套餐

安装

macOS(Homebrew):

brew tap getmochify/mochify
brew install mochify

Windows(Scoop):

scoop bucket add mochify https://github.com/getmochify/scoop-mochify
scoop 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/

Cargo(所有平台):

cargo install mochify

需要安装 Rust。如果 Linux/WSL 上已经安装工具链,这是最简便的选择。

**手动安装:**所有二进制文件均可在 Releases 获取。

从源代码构建:

cargo install --path .

身份验证

使用你的 mochify.app 账户登录,即可解锁完整额度:

mochify auth login

这会打开浏览器,你可以在其中登录并授权 CLI。凭据会自动保存到 ~/.config/mochify/credentials.toml——无需环境变量或手动复制密钥。CLI 和 MCP 服务都会自动读取凭据。

如果设备没有浏览器(例如通过 SSH 连接),可以使用代码登录——在任意设备上打开打印出的链接并输入代码:

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

不注册账户时,每批可处理 3 张图像(基于 IP 限制)。免费账户每月可处理 25 张图像。前往 mochify.app 注册。

CLI 用法

mochify [OPTIONS] <FILES>...
选项
标志描述
-t, --type <FORMAT>输出格式:jpg、png、webp、avif、jxl
-w, --width <N>目标宽度,单位为像素
-H, --height <N>目标高度,单位为像素
--crop裁剪至精确尺寸(由显著性引导)
--region <X,Y,W,H>裁剪为矩形区域,使用相对于正向图像左上角的比例 0–1
--redact <SPEC>隐藏区域:faces 和/或以 ; 分隔的矩形框 x,y,w,h(与 --region 使用相同的约定)
--redact-style <STYLE>fill(纯黑色,默认)或 blur(仅美化处理)
-r, --rotation <DEG>旋转角度:0、90、180、270
-o, --output <DIR>输出目录(默认与输入文件相同)
-n, --name <NAME>输出文件的基本名称(不含扩展名)
--clarity增强清晰度(增强中间调对比度,使图像更清晰、细节更丰富)
--remove-bg移除背景(由 AI 分离前景)
--background <COLOR>--remove-bg 的合成颜色(white、#ff0000 等)
--keep-metadata保留 EXIF/元数据(默认剥离)
-q, --quality <N>输出质量 1–100(默认:自动)
--smart-compress由显著性引导质量——细节区域保留更多质量,平坦区域则较少
--brightness <N>曝光度,范围为 -100(最暗)到 +100(最亮)
--optimize-for-web使用渐进式编码 + 4:2:0 色度采样,生成适合网页传输的最小文件
--lossless像素级精确输出(仅限 jxl、webp、png)
--hdr [MODE]Ultra HDR 增益图:preserve(仅指定标志)或 generate
-p, --prompt <TEXT>自然语言提示词——自动解析所有参数
-j, --jobs <N>同时处理的文件数(默认 4;设为 1 可严格逐个处理)
-k, --api-key <KEY>覆盖 API 密钥(或设置 MOCHIFY_API_KEY 环境变量)
示例
# Convert 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

# Natural-language prompt — let the AI pick the right params
mochify 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 name
mochify photo.jpg -t webp -n hero
mochify product.jpg -p "optimise for Shopify" -n product-main

# Pipe file paths from stdin
find . -name "*.jpg" | mochify -t webp -o ./out
cat images.txt | mochify -p "convert to avif 1200px wide" -o ./compressed
ls *.heic | mochify -t jpg
质量

除非另有指定,否则会自动选择质量。

# Fixed quality
mochify photo.jpg -t webp -q 70

# Let saliency pick it — detailed subjects keep more, flat areas less
mochify photo.jpg -t avif --smart-compress

# Smallest file to serve from a web server
mochify photo.jpg -t webp --optimize-for-web

# Brighten a dark photo
mochify photo.jpg --brightness 30

# Pixel-exact
mochify scan.png -t webp --lossless

--lossless 仅适用于 jxl、webp 和 png——在请求发出前,jpg 和 avif 就会被拒绝。它会覆盖 -q 和 --smart-compress,而且输出通常比输入更大:无损保留的是像素,而非文件大小。对于本身已经有损的源文件(JPEG、AVIF、HEIC),返回的会是效果最好的有损编码,因为无法恢复该文件已丢弃的信息——出现这种情况时,CLI 会说明。

裁剪到指定区域

--crop 会自动找到主体。若你自己——或驱动 MCP 服务的 AI 助手——已经知道想要图片中的哪一部分,则使用 --region:

# The bottom-left quarter
mochify photo.jpg --region 0,0.5,0.5,0.5

# A region, then sized: -w/-H apply to the cropped part
mochify photo.jpg --region 0.2,0.1,0.6,0.8 -w 800 -t webp

这四个数字依次是 x,y,width,height,表示图片的比例值(0 到 1),以图片显示时的左上角为基准——即使手机照片存储时是横着的,也会按正确方向计算。使用比例值而非像素值,这样无论图片以什么尺寸查看,同一个框都适用。值大于 1 时会在请求发出前被拒绝,因为这几乎总是表示框的单位是像素。区域会先被裁切:-w/-H、--crop、--rotation 和 --remove-bg 都会作用于该区域。--verbose 会打印实际裁切的像素矩形。

通过 MCP,助手可以据此按内容裁剪——例如“裁掉脚部”“只要 logo”:助手会查看图片本身并选定框,而 Mochify 始终只会收到这四个数字。

遮盖敏感信息

在图片被发送到任何地方之前,遮住人脸、车牌、地址或其他任何内容:

# Every face, found automatically
mochify 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 fill
mochify street.jpg --redact "faces;0.38,0.71,0.24,0.08" --redact-style blur

用 ; 分隔条目——, 属于框的内容。默认方式是 fill(纯黑色),任何必须保密的内容都应使用它;blur 用于模糊人脸的效果,而模糊的文字或人脸有时可以被还原。

遮盖操作始终会剥离元数据(EXIF 可能包含原图缩略图),并移除任何 HDR 增益图(其中包含场景结构),即使你要求保留它们也是如此。faces 只能尽力识别——可能会漏掉小脸和侧脸——因此,如果没有找到人脸,CLI 会告知你。分享前请检查输出。

HDR(Ultra HDR 增益图)

--hdr 用于控制 Ultra HDR / ISO 21496-1 增益图,它能让照片在 HDR 显示屏上以真正的高光余量呈现。

模式作用
--hdr(或 --hdr preserve)保留源文件已有的增益图。不会凭空生成,因此对 SDR 照片不起作用。
--hdr generate保留已有的增益图,并且在源文件为普通 SDR 时生成增益图。要实现“让它变成 HDR”,就用这个模式。

只有 jpg 输出可以携带增益图(jxl 通过不同方式携带 HDR;avif、webp 和 png 则不支持),因此请与 -t jpg 搭配使用。若同时使用 --clarity 或 --remove-bg,也会跳过此处理,因为这些选项会改变增益图所依据的基底。CLI 会读取 X-Mochify-HDR 响应标头,并在输出最终不含增益图时告知你。

# Keep the headroom an iPhone photo already captured, converting to JPEG
mochify IMG_1234.heic -t jpg --hdr

# Give an SDR photo a gain map
mochify photo.jpg --hdr generate

# Or just say so
mochify photo.jpg -p "make this HDR"
输出文件命名

默认情况下,当输出格式和目录与输入相同时,结果会保存为 {name}_mochified.{ext},这样就能清楚地看出文件经过了处理。如果该文件已存在,则会添加数字后缀(_1、_2 等)。格式发生变化时(例如 .jpg → .webp),扩展名变化本身已足够明确,因此不会添加后缀。

使用 -n, --name 设置明确的基础名称:mochify photo.jpg -t webp -n hero 会保存为 hero.webp。提示词路径也支持此功能:mochify *.jpg -p "optimise for Shopify, name them product" 会生成 product.webp、product_1.webp 等文件。

PDF 处理

系统会根据 .pdf 扩展名自动识别 PDF,并通过 --op 选择要执行的操作。(单条命令中不能混合处理 PDF 和图像——请分别运行。)

create 是个例外:它的输入是图像,因此无法根据 .jpg 判断要执行什么操作。请传入 --op create,或在提示词中直接说“pdf”——mochify *.jpg -p "convert to pdf" 也会生成 PDF。

操作接收返回功能
optimize一个 PDF.pdf重新压缩 PDF 中的图像。不会改动文本、字体、矢量图和版面,因此文档仍可搜索。
extract一个 PDF.zip提取文档中插入的图像,保持其存储时的分辨率。
rasterize一个 PDF.zip将每一页(包括文本)渲染为图像。
split一个 PDF.zip将 PDF 拆分为每页一个单页 PDF。
create图像.pdf根据图像创建 PDF,每张图像一页,顺序与输入顺序一致。
标志适用范围描述
--op <OP>全部optimize、extract、rasterize、split、create
-t, --type <FORMAT>rasterize、extractpng、jpg、webp、avif、jxl——extract 还支持 original(不重新编码)
--dpi <N>rasterize、optimize、create渲染分辨率(rasterize,默认值为 150)、PDF 中保留图像的目标分辨率(optimize),或页面尺寸(create)
-q, --quality <N>除 split 外的全部操作输出质量 1–100(与图像操作使用相同的标志)
--max-width <N>extract、optimize、create限制图像宽度(像素);0 表示保持原尺寸
--min-size <N>extract、optimize跳过任一边小于此尺寸的图像;0 表示全部处理
--page <SIZE>createfit(默认值)、a4、letter
--no-combinecreate每张图像生成一个单页 PDF,并打包为 .zip 返回
# Make a PDF smaller without touching the text
mochify report.pdf --op optimize -q 75 --dpi 150

# Pull the embedded images out as WebP, capped at 1600px
mochify brochure.pdf --op extract -t webp --max-width 1600

# Render pages to PNG at 150 DPI, or high-res JPEGs for print
mochify document.pdf --op rasterize -t png --dpi 150
mochify document.pdf --op rasterize -t jpg --dpi 300 -q 90

# One PDF per page
mochify 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 scanned
mochify page-*.jpg --op create --no-combine   # one PDF per image, as a zip

# Or describe it in natural language
mochify 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 create
mochify 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"

输出文件以输入文件命名:report_compressed.pdf、brochure_images.zip、document_rasterized.zip、document_pages.zip;对于 create,则命名为 <first image>.pdf(可通过 -n 覆盖)。

optimize、extract、rasterize 和 split 需要付费套餐;所有套餐(包括 Free)均可使用 create。

MCP 服务

Mochify 通过两种方式支持 MCP。两种方式都调用 api.mochify.app 上的同一引擎,编码在 RAM 中进行,原始文件会立即丢弃。两者的区别在于文件存放的位置。

托管式(mcp.mochify.app)本地(mochify serve)
安装无需安装此二进制文件
传输方式Streamable HTTPstdio
身份验证OAuth 2.0 + PKCE,通过浏览器确认一次mochify auth login,或匿名使用
输入公共 HTTPS URL 或 base64 字节磁盘上的绝对路径
输出files.mochify.app 上的短时有效下载 URL(约 5 分钟)直接写入磁盘
经过 Agent 的图像字节输入为 base64 时会经过不会经过
支持处理图像图像和 PDF

当 Agent 无法访问文件系统时,请使用托管式,例如 Claude.ai、托管运行时,或任何处理已在网上的图像的场景。当文件位于你的计算机上时(大多数情况下都是如此),请使用本地:进入模型上下文的只有路径和字节数。

两种方式可以在同一客户端中同时运行,并使用各自独立的令牌。

托管版(无需安装)

将 https://mcp.mochify.app 注册为远程 MCP 连接器,并完成一次 OAuth 流程。无需复制或轮换 API 密钥。

  • Claude.ai — 设置 → 连接器 → 添加自定义连接器
  • Claude Desktop — 设置 → 连接器,或在配置中添加 "type": "http" 条目
  • Cursor、Windsurf、Gemini,以及任何支持远程 MCP 的客户端 — 使用相同的 URL

也可以从 Smithery 安装:

smithery badge

结果会以下载 URL 的形式返回,大约 5 分钟后过期;在下载或 TTL 到期前,结果会保存在内存中的临时存储区。原始文件绝不会被保存。这是唯一不完全符合零留存政策的方式 — 详见为什么我们放宽了 MCP 的零留存政策。

本地版(stdio)

先运行 mochify auth login,然后将客户端指向该二进制文件:

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

在 macOS 上,Claude Desktop 的配置文件位于 ~/Library/Application Support/Claude/claude_desktop_config.json。之后重启客户端;服务会自动读取已保存的凭据。任何 stdio MCP 客户端都可以采用相同方式 — Cursor、Continue、Cline、Claude Code。

在 CI 中可改为设置 MOCHIFY_API_KEY,也可以完全关闭身份验证,使用匿名免费套餐。

工具

两个服务都提供相同的四种工具。区别在于文件的输入和输出方式:本地服务接收路径并将结果写入磁盘;托管服务接收 URL 或 base64,并返回短时有效的下载 URL。

工具接收内容功能
squish一张图片处理图片相关的所有操作:格式转换、调整大小、裁剪、旋转、移除背景、调整亮度、清晰度、质量控制(固定、显著性引导或无损)、Web 优化、Ultra HDR 增益图。
pdf一个 PDFoptimize(缩小 PDF,不改动文本和布局)、extract(提取其中的图片并打包为 zip)、rasterize(将页面转换为图片并打包为 zip)、split(按页拆分为多个 PDF 并打包为 zip)。
pdf_create图片创建 PDF,每张图片占一页,顺序与输入一致。支持 fit、a4 或 letter 页面;combine: false 会返回由单页 PDF 组成的 zip 文件。
check_usage无报告本计费周期剩余的操作次数及所属套餐。需要身份验证。

squish 参数: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 参数:file_path、op、type、dpi、quality、max_width、min_size、output_dir。

pdf_create 参数:file_paths、page、quality、dpi、max_width、combine、output_name、output_dir。

check_usage 不接收任何参数。

每个工具都会自行读写文件系统,因此 Agent 无需加载图片即可对其进行处理。响应会包含保存后的路径以及 API 返回的相关信息:PDF 缩小了多少、增益图是否保留、无损请求是否不得不改用有损处理,以及剩余配额。

使用方法

用自然语言描述你的需求,并提供文件的完整路径:

“将 /Users/me/Desktop/photo.jpg 转换为宽度为 1000px 的 AVIF”

“将 /Users/me/projects/blog/images/ 中的所有 JPEG 压缩为 WebP,并保存到 /Users/me/projects/blog/compressed/”

“针对 eBay 优化 /Users/me/Desktop/product.jpg”

“移除 /Users/me/Desktop/shirt.png 的背景,并保存为 WebP”

“压缩 /Users/me/Desktop/report.pdf — 它太大了,无法通过邮件发送”

“以 200 DPI 将 /Users/me/Desktop/report.pdf 栅格化为 PNG”

“将 /Users/me/Desktop/sunset.jpg 转换为 HDR”

“稍微提亮 /Users/me/Desktop/dim.jpg,并针对我的网站进行优化”

“将 /Users/me/Desktop/receipts/ 中的扫描件合并为一个 A4 PDF”

API

由 https://api.mochify.app 提供支持:图片使用 /v1/squish,PDF 优化、提取、栅格化和拆分使用 /v1/pdf。文件仅在 RAM 中处理,绝不会写入磁盘。

套餐每月操作数每批文件数文件大小上限
免费(无需账户)每批 3 次320 MB
免费(需账户)25 次320 MB
Day Pass(一次性支付 $2)100 次,有效期 24 小时2575 MB
Seller($7.99/月)300 次2575 MB
Pro($24.99/月)1,200 次2575 MB
Growth($79.99/月)5,000 次2575 MB

一次操作对应一张输出图片。压缩、转换、调整大小并旋转同一个文件,仍只算一次操作;若要求生成两种格式、每种格式两种尺寸,则算四次。PDF 的 optimize、extract、rasterize 和 split 需要付费套餐(Day Pass 也算);create 则适用于所有套餐,包括免费套餐。

访问 mochify.app 查看网页界面、定价和 API 文档。

常见问题

欢迎在 GitHub Discussions 中提问——在那里给出的答复可以一直搜索到,而支持邮件往来则不行。Bug 和功能请求请提交到 Issues。账户或账单相关事宜,请发送邮件至 [email protected]。

已在官方 MCP Registry 中列出,mcp-name: app.mochify/mochify。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。