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 分