Dryplate

io.github.dryplate由 GitHub 账号 dryplate 发布v0.1.2更新于 Nov 7, 2026

Local image tools: convert, resize, compress, crop, blur, watermark, strip metadata. Reads HEIC.

已验证STDIO仅桌面文件与存储媒体与设计

概览

AI 生成的概览

本地图像处理 MCP 服务器,让助手对磁盘上的图片进行格式转换、缩放、压缩、裁剪、模糊、加水印和清除元数据。

可以做什么
  • 在 JPEG、PNG、WebP 与 AVIF 之间转换格式,并可读取 HEIC 输入
  • 按宽高或百分比缩放,压缩到目标大小,按比例或方框裁剪,旋转与翻转
  • 对整张图或指定区域模糊,并绘制文字水印
  • 清除 GPS、相机等隐藏元数据,生成方形缩略图
  • 将多张图片横向或纵向拼接,可设置间距与背景
  • 结果写入输入文件旁的新文件,或写入指定的输出路径
适用场景
适合助手需要在本地准备或清理图片文件的场景:缩小照片、转换格式、生成缩略图、分享前移除位置信息,或根据对话中给出的文件路径进行批量式编辑。
运行要求
作为本地 stdio 进程由 MCP 客户端启动,通常通过 npx 运行 npm 包。需要 Node 24 或更高版本;若 Node 由 nvm 或 fnm 安装,可能需要在客户端的 PATH 中加入 Node 的 bin 目录。无需账号、API 密钥或网络访问。
安装前请注意
工具会向磁盘写入新的图片文件,只有在设置 overwrite 时才会覆盖已有文件,请留意输出路径。元数据清除对写出的副本不可逆。图片数据保留在本地不会上传,但文件路径会传给服务器。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Dryplate,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Dryplate MCP server

Image tools for AI agents. Convert, resize, compress, crop, rotate, blur, watermark, strip metadata, merge and make thumbnails, all on your machine. Files are read from and written to disk, and nothing is uploaded.

Works with any MCP client that runs stdio servers. Tested with Claude Code and Claude Desktop.

Quick start

You need Node 24 or newer. There is nothing to install by hand: your client runs the server with npx.

1. Add it to your client.

Claude Code:

sh
claude mcp add dryplate -- npx -y @dryplate/mcp

Claude Desktop (claude_desktop_config.json), Cursor (~/.cursor/mcp.json) and most other clients take the same JSON:

json
{	"mcpServers": {		"dryplate": {			"command": "npx",			"args": ["-y", "@dryplate/mcp"]		}	}}

Restart the client after editing its config. If the server fails with spawn npx ENOENT or env: node: No such file or directory (common when Node comes from nvm or fnm), add the folder that dirname "$(which node)" prints to the server's PATH:

json
"env": { "PATH": "/Users/you/.nvm/versions/node/v24.13.0/bin:/usr/bin:/bin" }

2. Ask for something. Type the file path in your message; an attached image goes to the client, not to the server.

Remove the location data from ~/Pictures/IMG_0042.HEIC, then make a 256 px thumbnail of it.

The agent calls remove_metadata, then generate_thumbnail, and reports each file it wrote.

How files are handled

  • Every tool takes path (merge takes paths): an absolute path or one starting with ~/. Each writes a new file. Image bytes never pass through the agent's context.
  • The output goes next to the input with a suffix for what was done: IMG_0042-resized.jpg, IMG_0042-thumb.webp, IMG_0042-clean.jpg. Merge names it after the first file. Pass output to choose another path; its extension must match the result (a JPEG merge can't be saved as .png; use convert_image for that).
  • An existing file is never replaced unless you pass overwrite: true.
  • Input formats: JPEG, PNG, WebP, AVIF and HEIC. HEIC is decoded but not written, so HEIC input comes out as JPEG unless you pick a format.
  • Every tool takes quality (1–100) for lossy output.

Tools

ToolDoesOptions
convert_imageChange formatformat: jpeg, png, webp, avif
resize_imageResize, keeping aspect ratiowidth, height (both together fit inside that box), percent
compress_imageMake the file smaller in its own format; never biggermaxKb
crop_imageCentred ratio crop, or a boxratio like "16:9", or box
rotate_imageRotate clockwise and/or flipdegrees: 0, 90, 180, 270 (default 90); flip: h, v
blur_imageBlur the whole image or some areasstrength 1–100 (default 20); areas: list of boxes
watermark_imageDraw texttext; size (% of short side), opacity 5–100, x, y (0–1), tile
remove_metadataStrip GPS, camera and other hidden datanone. Lossless for JPEG, PNG and WebP; orientation kept
merge_imagesCombine images in a row or a stackpaths (2+); direction: horizontal, vertical; gap 0–500 px; background: white, black, transparent
generate_thumbnailSmall preview inside a square box; never enlargessize (default 256), format (default webp)

A box is { "x": 0, "y": 0, "w": 0.5, "h": 0.5 }: fractions of the image from the top left. That example is the top-left quarter.

Errors

A failed call returns a tool error with a plain message, such as Set a width, height or percent or … exists. Pass overwrite: true or a different output. The server keeps running.

来源:packages/mcp/README.md,提交 9509d61

工具

10

convert_image

Convert an image to JPEG, PNG, WebP or AVIF, for example an iPhone HEIC photo to JPEG. Writes a new file next to the input (name-converted.ext) unless output is given, never replaces a file unless overwrite is true, and returns the path, format and size change.

输入参数path必填format必填outputqualityoverwrite

resize_image

Resize an image, keeping its aspect ratio. Give width, height, both (the image fits inside that box) or percent. Writes a new file next to the input (name-resized.ext) unless output is given, never replaces a file unless overwrite is true, and returns the path, format and size change.

输入参数path必填widthheightoutputpercentqualityoverwrite

compress_image

Make an image file smaller in its own format. Never returns a bigger file. Writes a new file next to the input (name-compressed.ext) unless output is given, never replaces a file unless overwrite is true, and returns the path, format and size change.

输入参数path必填maxKboutputqualityoverwrite

watermark_image

Draw a text watermark on an image, in one corner or tiled across it. Writes a new file next to the input (name-watermarked.ext) unless output is given, never replaces a file unless overwrite is true, and returns the path, format and size change.

输入参数xypath必填sizetext必填tileoutputopacityqualityoverwrite

generate_thumbnail

Make a small preview that fits inside a square box. Default 256 px WebP. Writes a new file next to the input (name-thumb.ext) unless output is given, never replaces a file unless overwrite is true, and returns the path, format and size change.

输入参数path必填sizeformatoutputqualityoverwrite

crop_image

Crop an image to a centred aspect ratio (ratio) or to a region (box). Give one of them. Writes a new file next to the input (name-cropped.ext) unless output is given, never replaces a file unless overwrite is true, and returns the path, format and size change.

输入参数boxpath必填ratiooutputqualityoverwrite

rotate_image

Rotate an image clockwise by a quarter turn or more, and optionally mirror it. Writes a new file next to the input (name-rotated.ext) unless output is given, never replaces a file unless overwrite is true, and returns the path, format and size change.

输入参数flippath必填outputdegreesqualityoverwrite

blur_image

Blur a whole image, or only some areas of it (faces, plates, text). Writes a new file next to the input (name-blurred.ext) unless output is given, never replaces a file unless overwrite is true, and returns the path, format and size change.

输入参数path必填areasoutputqualitystrengthoverwrite

remove_metadata

Remove location, camera and other hidden data. Lossless for JPEG, PNG and WebP; orientation is kept. HEIC and AVIF are re-encoded as JPEG, which can be bigger than the original. Writes a new file next to the input (name-clean.ext) unless output is given, never replaces a file unless overwrite is true, and returns the path, format and size change.

输入参数path必填outputqualityoverwrite

merge_images

Combine images side by side or stacked, scaled to the smallest shared edge. Writes a new file next to the input (name-merged.ext) unless output is given, never replaces a file unless overwrite is true, and returns the path, format and size change.

输入参数gappaths必填outputqualitydirectionoverwritebackground

版本历史

1
  1. v0.1.2最新Nov 7, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分