by The Dryplate Authors

Dryplate MCP review, pricing and verdict

Local image tools for agents: convert HEIC, resize, strip metadata.

Best for
Developers building photo-prep workflows
Not for
Teams that need a hosted image API
  • Media
  • Developer

Should you use Dryplate MCP?

Pick Dryplate MCP if an agent has to prepare photos on your machine, such as turning iPhone HEIC into JPEG or removing GPS data before sharing. It is free and needs no account. Skip it if you need a metadata reader, richer editing, or a project with a track record: it is days old.

An agent can convert HEIC and strip location data on the local disk without any image leaving the machine.

It has no moat beyond convenience: it wraps sharp and libheif in an MCP server, and the same code powers the authors website.

Also for

  • Privacy-conscious individuals
  • Developers whose agents prepare photos for upload
Show 2 more
  • Privacy-minded users who want metadata removed locally
  • Claude Code and Cursor users who need HEIC conversion

Main trade-off

A days-old v0.1 project with a narrow tool set and no metadata reader.

Dryplate MCP pricing

MIT licence, copyright The Dryplate Authors. Free to run with npx and no account. The SDK bundles libheif as an unmodified WASM file under LGPL-3.0.

Install Dryplate MCP

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

Before you start

  • Node 24 or newer; nothing is installed by hand because the client runs the server with npx
  • An MCP client that runs stdio servers, such as Claude Code, Claude Desktop or Cursor
  • Image files given as absolute paths or paths starting with ~/; relative paths are refused
  • If the client cannot find node (common with nvm or fnm), add the folder that holds node to the server PATH

Works with

  • Claude Code
  • Claude Desktop
  • Cursor
  • Any MCP client that runs stdio servers

Required runtime

  • Node.js 24 or newer
  • An MCP client that runs stdio servers
  • sharp and libheif-js, installed by npx with the package

Where it runs

  • Desktop
  • CLI

Data it can reach

  • Image files on your disk, by absolute or ~/ path
  • New output files written next to the input or to a path you choose

The permissions this connector asks for, as its own documentation states them.

What Dryplate MCP can do

10 actions an agent can call. Open one for its parameters and an example.

convert_imageConverts an image to JPEG, PNG, WebP or AVIF, for example an iPhone HEIC photo to JPEG.

Example call

{"tool":"convert_image","arguments":{"format":"jpeg","path":"~/Pictures/IMG_0042.HEIC"}}

Parameters

ParameterTypeNeededDescription
pathstringRequiredAbsolute path or ~/ path of the image to read: JPEG, PNG, WebP, AVIF or HEIC. Every tool takes this.
formatstringRequiredOutput format: jpeg, png, webp or avif.
outputstringOptionalWhere to write the result. Every tool takes this; the default is next to the input.
overwritebooleandefault falseOptionalReplace an existing output file. Every tool takes this.
qualitynumberOptionalQuality from 1 to 100 for lossy output; PNG ignores it. Every tool takes this.

Returns

FieldTypeDescription
resultstringWhere the converted file was written, its format and the size change.
resize_imageResizes an image and keeps its aspect ratio; width and height together make the image fit inside that box.

Example call

{"tool":"resize_image","arguments":{"width":1600,"path":"~/Pictures/holiday.jpg"}}

Parameters

ParameterTypeNeededDescription
pathstringRequiredThe picture to shrink or enlarge.
widthnumberOptionalTarget width in pixels.
heightnumberOptionalTarget height in pixels.
percentnumberOptionalScale in percent, so 50 means half size.

Returns

FieldTypeDescription
resultstringThe resized file path, format and size change.
compress_imageMakes an image file smaller in its own format and never returns a bigger file.

Example call

{"tool":"compress_image","arguments":{"maxKb":300,"path":"~/Pictures/scan-04.png"}}

Parameters

ParameterTypeNeededDescription
pathstringRequiredThe image to squeeze.
maxKbnumberOptionalTarget file size in KB; without it a sensible quality is used.

Returns

FieldTypeDescription
resultstringThe compressed file path with before and after sizes.
watermark_imageDraws a text watermark on an image, in one corner or tiled across it.

Example call

{"tool":"watermark_image","arguments":{"text":"(c) 2026 Jane Doe","tile":true,"path":"~/Pictures/portfolio-7.webp"}}

Parameters

ParameterTypeNeededDescription
pathstringRequiredThe image to mark.
textstringRequiredWatermark text.
sizenumberdefault 5OptionalText height as a percent of the short side.
opacitynumberdefault 60OptionalOpacity in percent, from 5 to 100.
xnumberdefault 1OptionalHorizontal position, 0 for left to 1 for right.
ynumberdefault 1OptionalVertical position, 0 for top to 1 for bottom.
tilebooleanOptionalRepeat the text across the image.

Returns

FieldTypeDescription
resultstringThe watermarked file path, format and size change.
generate_thumbnailMakes a small preview that fits inside a square box.

Example call

{"tool":"generate_thumbnail","arguments":{"size":128,"format":"png","path":"~/Pictures/team-photo.avif"}}

Parameters

ParameterTypeNeededDescription
pathstringRequiredThe full-size image to preview.
sizenumberdefault 256OptionalBox edge in pixels, up to 4096.
formatstringdefault webpOptionalOutput format: jpeg, png, webp or avif.

Returns

FieldTypeDescription
resultstringThe thumbnail path; a source smaller than the box is not enlarged.
crop_imageCrops an image to a centred aspect ratio or to a region; give one of the two.

Example call

{"tool":"crop_image","arguments":{"ratio":"16:9","path":"~/Pictures/banner-draft.jpg"}}

Parameters

ParameterTypeNeededDescription
pathstringRequiredThe image to trim.
ratiostringOptionalCentred crop such as 1:1 or 16:9.
boxobjectOptionalRegion to keep as {x, y, w, h}, each a fraction from 0 to 1 measured from the top left.

Returns

FieldTypeDescription
resultstringThe cropped file path, format and size change.
rotate_imageRotates an image clockwise by quarter turns and can also mirror it.

Example call

{"tool":"rotate_image","arguments":{"degrees":270,"flip":"h","path":"~/Pictures/sideways.png"}}

Parameters

ParameterTypeNeededDescription
pathstringRequiredThe image to turn.
degreesnumberdefault 90OptionalClockwise turn: 0, 90, 180 or 270.
flipstringOptionalh mirrors left to right and v mirrors top to bottom.

Returns

FieldTypeDescription
resultstringThe rotated file path, format and size change.
blur_imageBlurs a whole image or only some areas of it, such as faces, plates or text.

Example call

{"tool":"blur_image","arguments":{"strength":40,"areas":[{"x":0.1,"y":0.2,"w":0.3,"h":0.25}],"path":"~/Pictures/street-view.jpg"}}

Parameters

ParameterTypeNeededDescription
pathstringRequiredThe image to soften.
strengthnumberdefault 20OptionalBlur strength from 1 to 100.
areasarrayOptionalRegions to blur, each {x, y, w, h} as fractions of the image; default is the whole image.

Returns

FieldTypeDescription
resultstringThe blurred file path, format and size change.
remove_metadataRemoves location, camera and other hidden data; lossless for JPEG, PNG and WebP with orientation kept.

Example call

{"tool":"remove_metadata","arguments":{"path":"~/Pictures/IMG_0099.jpg"}}

Parameters

ParameterTypeNeededDescription
pathstringRequiredThe photo to clean.

Returns

FieldTypeDescription
resultstringThe cleaned file path; HEIC and AVIF input is re-encoded as JPEG, which can be bigger.
merge_imagesCombines images side by side or stacked, scaled to the smallest shared edge.

Example call

{"tool":"merge_images","arguments":{"paths":["~/Pictures/before.jpg","~/Pictures/after.jpg"],"gap":16,"background":"black"}}

Parameters

ParameterTypeNeededDescription
pathsarrayRequiredTwo or more image paths, in order.
directionstringdefault horizontalOptionalhorizontal or vertical.
gapnumberdefault 0OptionalPixels between images, from 0 to 500.
backgroundstringdefault whiteOptionalColour of the gap and empty space: white, black or transparent.

Returns

FieldTypeDescription
resultstringThe merged file path, named after the first input.

What Dryplate MCP is for

Dryplate MCP is an open-source MCP server that gives AI agents ten local image tools, from format conversion and compression to blurring, merging and metadata removal. It runs over stdio on Node 24 or newer, reads iPhone HEIC, and works on files on your own disk. Its authors say nothing is uploaded.

  • Ten local image tools

    Conversion, resizing, compression, cropping, rotation, blur, watermarks, merging, metadata removal and thumbnails.

  • Paths in, paths out

    Tools take file paths and write files, so image bytes never fill the agent context.

  • Reads iPhone HEIC

    HEIC, JPEG, PNG, WebP and AVIF are accepted as input; HEIC is decoded but written as JPEG.

  • Careful with your files

    Output goes next to the input with a suffix, and an existing file is replaced only when overwrite is true.

Show all 6 features
  • Shared options on every tool

    Each tool also accepts output, overwrite and quality, the last from 1 to 100 for lossy formats.

  • Plain error messages

    A failed call returns a tool error such as "Set a width, height or percent", and the server keeps running.

What people use it for

  • Turn an iPhone album into JPEG

    Ask the agent to run convert_image on each HEIC path; HEIC is read but never written, and a JPEG lands beside each original.

  • Strip location data before sharing a photo

    remove_metadata removes GPS and camera fields, losslessly for JPEG, PNG and WebP, and keeps the orientation.

  • Hide a face or a plate

    blur_image takes a list of regions as fractions of the image, so an agent that has found a face can blur only that box.

  • Fit a page weight budget

    compress_image takes a target in KB and never returns a bigger file; resize_image and generate_thumbnail cover the dimensions.

Strengths and limits

Strengths

  • Files stay on your disk: tools read and write paths, and the README says nothing is uploaded.
  • It will not clobber an original by accident, because it writes a new suffixed file unless overwrite is true.
  • One server covers the usual photo-prep jobs, including HEIC and region blur, under the MIT licence.
  • It starts and works as documented: Hokai listed its ten tools and ran two of them successfully on the published package.

Limits

  • Two GitHub stars and a first release in November 2026 mean there is no track record of real-world use yet.
  • The tool set is narrow: watermarks draw text only, crop is a centred ratio or one box, and no tool reads metadata. Glama automated tool review, scored 6 November 2026, names the same gaps: no inspect operation and no image watermark.
  • It needs Node 24 or newer, which rules out older Node setups, and nvm or fnm installs can need a PATH fix (README).
  • remove_metadata re-encodes HEIC and AVIF input as JPEG, which the tool description warns can be bigger than the original.

Dryplate MCP alternatives

The nearest AI agent skills on Hokai for the same job.

SkillWorks withConnects byChecked
Dryplate MCP This pageClaude · CursorMCP11 Nov
TavusReal-time video agents with a human face, built and tested from a coding agent over a hosted MCP server.Claude · Codex · CursorMCP11 Oct

Dryplate MCP facts

Protocol
MCP
Latency class
Fast
Open source
Yes
Maintainer founded
2026

What changed

  • Release 0.1.2: fuller tool descriptions, Dependabot and CodeQL source
  • Integration 0.1.1: MCP Registry entry source
  • Release 0.1.0: first release of the SDK and MCP server source

Questions about Dryplate MCP

What does Dryplate MCP cost?

Nothing. The server is MIT-licensed and runs from npm with npx, with no account or key. The browser version at dryplate.dev says it is free with no sign-up, no watermark and no daily limit, and handles up to 50 images at a time.

Which licences apply to Dryplate MCP?

The project is MIT, copyright The Dryplate Authors. The SDK package ships libheif as an unmodified WASM file under LGPL-3.0, and the repository carries a third-party notices file for it. Check that notice if you redistribute the SDK.

Does Dryplate MCP upload my images anywhere?

The authors say nothing is uploaded, and the server source Hokai read imports only file, path and operating-system modules plus the SDK, reading and writing local files. That is not an independent audit of the SDK or its dependencies, so test it on a network-restricted machine if the photos are sensitive.

Why does my client fail with spawn npx ENOENT?

The README says this happens when Node comes from nvm or fnm and the client does not inherit that PATH. Add an env entry to the server config with the folder printed by dirname of which node, then restart the client.

Will it overwrite my original photo or keep HEIC files?

It writes a new file next to the original, such as IMG_0042-clean.jpg, and refuses to replace an existing file unless you pass overwrite as true. HEIC is read but never written, so HEIC input comes out as JPEG unless you choose another format.

About Dryplate MCP

Dryplate MCP is the agent-facing half of Dryplate, an open-source set of image tools by two individuals credited as The Dryplate Authors, who also run the in-browser versions at dryplate.dev. It is a skill rather than an app: a stdio MCP server that an agent such as Claude Code or Cursor calls to convert, resize, compress, crop, rotate, blur, watermark, merge and clean images stored on your machine. The repository was created on 6 November 2026 and the npm package published three versions that same day.

Read the full background

Every tool takes a file path, not image bytes, so pictures never pass through the agent context. Each call writes a new file next to the input with a suffix such as -resized or -clean, and it never replaces a file unless you pass overwrite as true. Input can be JPEG, PNG, WebP, AVIF or HEIC; HEIC is decoded but never written, so it comes out as JPEG unless you pick a format. The server needs Node 24 or newer and runs on sharp and libheif-js. On 11 November 2026 Hokai started version 0.1.2 and it listed ten tools; converting the repository's HEIC fixture gave a JPEG, and a fixture JPEG that carried an Exif segment had none after remove_metadata.

The README says it works with any MCP client that runs stdio servers and was tested with Claude Code and Claude Desktop (Claude); it also gives a ready JSON block for Cursor. Typical jobs are turning an iPhone album into JPEG, stripping location data before a photo is shared, blurring a face or a number plate by giving the agent a region, and building 256 px previews.

Look elsewhere if you need to read metadata, since the server has no tool for it (the website does), or want editing beyond crops, blurs and rotations; the watermark tool draws text only. This is a v0.1 project with two GitHub stars on 11 November 2026, so there is no track record yet. Its homepage compares it with the web tools TinyPNG, Squoosh, iLoveIMG and CloudConvert, none of which Hokai lists as a skill. For other media work see the media skills list, and for more connectors the MCP skills and developer skills lists.

Sources and guides

More Agent Skills on Hokai

  • AisyncAdvisory file claims and a shared journal for your AI coding agents.
  • CloakroomMasks secrets and personal data before your coding agent sees them.
  • MantisA local browser for agents that returns compact numbered text, not screenshots.
  • Mitra MCPLets Claude or ChatGPT ask your Mitra assistant to make calls and report back.
  • Resend MCP ServerOfficial MCP server that lets an AI agent send mail and work Resend inboxes
  • Personal Agent ProtocolOpen standard for how personal AI agents sign in and act for customers.