Back to the catalog

io.github.Araluma/roundcut-mcp

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

Open source Open in the app JSON README (API)

About

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

Details

Kind
MCP servers
Topic
No topic detected
Publisher
araluma
Origin
official
Category
ferramentas
Transport
local
Version
0.1.1
Last push
2026-09-08T17:48:34Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-09-08 18:04:58
Updated
2026-09-08 18:04:58
Origin id
io.github.Araluma/roundcut-mcp

README

# roundcut-mcp

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

Made by [RoundCut](https://roundcut.app), 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`.

## Tools

| Tool | What it does |
|---|---|
| `image_info` | Format, dimensions, alpha, EXIF orientation. |
| `circle_crop` | Round profile picture: centered square plus a circular transparent mask. `size`, `format` (png default), `background` for jpeg. |
| `crop_image` | Pixel box (`left`, `top`, `width`, `height`) or a centered `aspect` such as `1:1`, `4:5`, `16:9`. |
| `resize_image` | By `width`, `height` or `percent`. Keeps the aspect ratio, never enlarges unless `enlarge: true`. Lanczos3. |
| `compress_image` | Smaller file, same format. `quality` for jpg/webp/avif (mozjpeg for jpg), lossless recompression for png. |
| `convert_image` | To `jpeg`, `png`, `webp` or `avif`. Input may also be GIF, TIFF or HEIC. Transparency kept, or flattened onto `background` for jpeg. |
| `roundcut_web_tools` | Links to the browser tools this server does not run locally: background remover, AI upscaler, batch convert, JPG to PDF. |

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.

## License

MIT. Copyright Araluma.

More