Dryplate

io.github.dryplatePublished by GitHub account dryplatev0.1.2Updated Nov 7, 2026

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

VerifiedSTDIODesktop onlyFiles & StorageMedia & Design

Overview

AI-generated overview

Local image-processing MCP server that lets an assistant convert, resize, compress, crop, blur, watermark and strip metadata from image files on disk.

What you can do
  • Convert images between JPEG, PNG, WebP and AVIF, and read HEIC input
  • Resize by width, height or percent, compress to a target size, crop by ratio or box, rotate and flip
  • Blur whole images or selected areas, and draw text watermarks
  • Strip GPS, camera and other metadata, and generate square thumbnails
  • Merge several images horizontally or vertically with gap and background options
  • Write results to a new file next to the input, or to a chosen output path
When to use it
Useful when an assistant needs to prepare or clean up image files on the local machine: shrinking photos, converting formats, making thumbnails, removing location data before sharing, or batch-style edits driven by file paths in a conversation.
Requirements
Runs as a local stdio process started by the MCP client, typically via npx with the npm package. Needs Node 24 or newer; if Node comes from nvm or fnm, the client's PATH may need the Node bin folder. No accounts, API keys or network access are required.
Before you install
Tools write new image files to disk and can replace an existing file only when overwrite is set, so check output paths. Metadata removal is irreversible on the written copy. Image bytes stay local and are not uploaded, but file paths are passed to the server.

Installation

In SourceWeft

  1. Open Dryplate in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

Source: packages/mcp/README.md at commit 9509d61

Tools

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.

Parameterspathrequiredformatrequiredoutputqualityoverwrite

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.

Parameterspathrequiredwidthheightoutputpercentqualityoverwrite

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.

ParameterspathrequiredmaxKboutputqualityoverwrite

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.

Parametersxypathrequiredsizetextrequiredtileoutputopacityqualityoverwrite

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.

Parameterspathrequiredsizeformatoutputqualityoverwrite

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.

Parametersboxpathrequiredratiooutputqualityoverwrite

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.

Parametersflippathrequiredoutputdegreesqualityoverwrite

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.

Parameterspathrequiredareasoutputqualitystrengthoverwrite

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.

Parameterspathrequiredoutputqualityoverwrite

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.

Parametersgappathsrequiredoutputqualitydirectionoverwritebackground

Version history

1
  1. v0.1.2LatestNov 7, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts