About roundcut-mcp
roundcut-mcp is a local MCP server for image inspection and editing with sharp. It handles common crop, resize, compression, and format-conversion tasks while keeping files on the machine.
Key features
- 01Image format and dimension inspection
- 02Circle and rectangular cropping
- 03Resize while preserving aspect ratio
- 04Compression and format conversion
- 05Local processing without uploads
Use cases
- 01Preparing a round profile image
- 02Cropping images to fixed aspect ratios
- 03Reducing file size or changing image format
MCP support
The MCP server exposes image information and editing tools to clients, returning file links and structured output details.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
7Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| input | string | Yes | Path to a JPG, PNG, WebP, AVIF, GIF, TIFF or HEIC file. |
Details
From the project READMEroundcut-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.
npx roundcut-mcp
Claude Desktop / Claude Code
{
"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
| Tool | What it does | An agent calls it when |
|---|---|---|
image_info | Format, dimensions, alpha, EXIF orientation. | the user asks what an image is, or before picking crop/resize numbers |
circle_crop | Round 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_image | Pixel 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_image | By width, height or percent. Keeps the aspect ratio, never enlarges unless enlarge: true. Lanczos3. | the user gives target pixel dimensions |
compress_image | Smaller 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_image | To 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_tools | Links 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.jpga 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
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.