MCP server: One MCP server.

RoundCut

@aralumaRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Local image tools: circle crop, crop, resize, compress, convert JPG/PNG/WebP/AVIF. By RoundCut.

Image editingv0.1.2MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: creates or changes data: records, files, settings.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmroundcut-mcpv0.1.2

Run

npx -y roundcut-mcp

MCP client config

{
  "mcpServers": {
    "roundcut": {
      "command": "npx",
      "args": [
        "-y",
        "roundcut-mcp"
      ]
    }
  }
}
README3 min read

roundcut-mcp

Local image tools for AI agents, as an MCP server. Circle crop, crop, resize, compress and convert JPG, PNG, WebP and AVIF on your own machine with sharp. No network calls, no accounts, no upload: the files never leave the disk.

Made by RoundCut, the free image tools site (29 languages).

Install

Node 20 or newer.

bash
npx roundcut-mcp

Claude Desktop / Claude Code

json
{
  "mcpServers": {
    "roundcut": { "command": "npx", "args": ["-y", "roundcut-mcp"] }
  }
}

Claude Code: claude mcp add roundcut -- npx -y roundcut-mcp

Cursor, Windsurf, VS Code

Same shape: a stdio server, command npx, args -y roundcut-mcp.

Smithery

smithery.ai/servers/araluma/roundcut-mcp installs a self-contained bundle for macOS (Apple Silicon) and Windows (x64). On Linux or an Intel Mac, use npx above.

Tools

ToolWhat it doesAn agent calls it when
image_infoFormat, dimensions, alpha, EXIF orientation.the user asks what an image is, or before picking crop/resize numbers
circle_cropRound profile picture: centered square plus a circular transparent mask. size, format (png default), background for jpeg.the user wants a round avatar for Discord, Slack, LinkedIn, WhatsApp or GitHub
crop_imagePixel box (left, top, width, height) or a centered aspect such as 1:1, 4:5, 16:9.the user wants part of an image or a fixed ratio (square post, 4:5 portrait, 16:9 banner)
resize_imageBy width, height or percent. Keeps the aspect ratio, never enlarges unless enlarge: true. Lanczos3.the user gives target pixel dimensions
compress_imageSmaller file, same format. quality for jpg/webp/avif (mozjpeg for jpg), lossless recompression for png.the file must be lighter (upload limit, faster page) at the same size and format
convert_imageTo jpeg, png, webp or avif. Input may also be GIF, TIFF or HEIC. Transparency kept, or flattened onto background for jpeg.the user needs another file type, e.g. iPhone HEIC to JPG, PNG to WebP
roundcut_web_toolsLinks to the browser tools this server does not run locally: background remover, AI upscaler, batch convert, JPG to PDF.the user asks for one of those, instead of declining

Every tool takes an input path and writes next to it by default (photo.jpg becomes photo-circle.png, photo-resized.jpg, photo.webp), or to output. Results carry a text summary, a resource_link to the file, structured JSON (output, format, width, height, bytes, inputBytes) and a small JPEG preview (preview: false to skip it).

Example, from a chat client with the server attached:

Make ~/Pictures/me.jpg a 512 px round avatar as WebP.

calls circle_crop with { "input": "~/Pictures/me.jpg", "size": 512, "format": "webp" } and answers with the file path, the dimensions and the byte count.

Limits

  • Inputs above 80 megapixels are refused, so a stray call cannot allocate gigabytes.
  • EXIF orientation is applied on read; the output is upright and carries no EXIF.
  • jpeg has no alpha: transparent areas are flattened onto background (white by default).

Develop

bash
npm install
npm test        # builds, then node --test

src/engine.ts is the pure image layer (tested directly). src/index.ts adapts it to MCP tools.

Smithery release: scripts/build-mcpb.sh builds build/roundcut-mcp-<version>.mcpb from mcpb/manifest.json (25 MB cap, so only the macOS arm64 and Windows x64 sharp binaries go in), then scripts/publish-smithery.sh uploads it with the tool schemas read from the built server.

License

MIT. Copyright Araluma.

Similar modules

Browse Image editing