Imagician is an MCP server for comprehensive image editing operations:
Resize images - Change dimensions with flexible fit options (cover, contain, fill, inside, outside) while preserving aspect ratio
Convert formats - Transform between JPEG, PNG, WebP, and AVIF with adjustable quality settings (1-100)
Crop images - Extract rectangular regions using left, top, width, and height coordinates
Compress images - Reduce file size with quality control (1-100) and progressive encoding for JPEGs
Rotate images - Rotate by any angle in degrees (clockwise for positive values) with customizable background color
Flip images - Mirror horizontally, vertically, or both directions
Extract metadata - Retrieve format, dimensions, color space, and file size information
Batch process - Generate multiple sizes from a single source image with custom suffixes and optional format conversion for responsive web images
Supports JPEG format conversion, compression with quality control, and progressive encoding for image processing operations
Available as an npm package for easy installation and distribution
Built with TypeScript for type-safe image processing operations and development
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Imagicianresize profile.jpg to 800x600 pixels"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Imagician - MCP Image Editor
A Model Context Protocol (MCP) server for comprehensive image editing operations including resizing, format conversion, cropping, compression, and more.
Features
Resize: Change image dimensions with various fit options
Format Conversion: Convert between JPEG, PNG, WebP, and AVIF
Crop: Extract specific regions from images
Compress: Reduce file size with quality control
Rotate: Rotate images by any angle
Flip: Mirror images horizontally or vertically
Batch Processing: Generate multiple sizes from a single image
Metadata: Extract image information and properties
Related MCP server: Simple Document Processing MCP Server
Installation
From npm
npm install -g @flowy11/imagicianFrom source
git clone https://github.com/flowy11/imagician.git
cd imagician
npm install
npm run buildUsage with Claude Code
Add to your Claude Code configuration (~/.config/claude/config/settings/mcp-servers.json):
{
"imagician": {
"command": "npx",
"args": ["-y", "@flowy11/imagician"]
}
}Usage with Cursor
Add to your Cursor configuration (~/.cursor/mcp_settings.json):
{
"mcpServers": {
"imagician": {
"command": "npx",
"args": ["-y", "@flowy11/imagician"]
}
}
}Usage with Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
Quick setup with npx (recommended):
{
"mcpServers": {
"imagician": {
"command": "npx",
"args": ["-y", "@flowy11/imagician"]
}
}
}If installed globally via npm:
{
"mcpServers": {
"imagician": {
"command": "imagician"
}
}
}If installed from source:
{
"mcpServers": {
"imagician": {
"command": "node",
"args": ["/path/to/imagician/dist/index.js"]
}
}
}Available Tools
resize_image
Resize an image to specified dimensions with various fit options.
Parameters:
- inputPath: Path to input image
- outputPath: Path to save resized image
- width: Target width in pixels (optional)
- height: Target height in pixels (optional)
- fit: How to resize (cover, contain, fill, inside, outside)
- preserveAspectRatio: Maintain aspect ratio (default: true)convert_format
Convert between image formats with quality control.
Parameters:
- inputPath: Path to input image
- outputPath: Path to save converted image
- format: Target format (jpeg, png, webp, avif)
- quality: Quality for lossy formats (1-100, default: 80)crop_image
Extract a specific region from an image.
Parameters:
- inputPath: Path to input image
- outputPath: Path to save cropped image
- left: Left offset in pixels
- top: Top offset in pixels
- width: Width of crop area
- height: Height of crop areacompress_image
Reduce image file size with quality settings.
Parameters:
- inputPath: Path to input image
- outputPath: Path to save compressed image
- quality: Compression quality (1-100, default: 80)
- progressive: Use progressive encoding for JPEG (default: true)rotate_image
Rotate an image by any angle.
Parameters:
- inputPath: Path to input image
- outputPath: Path to save rotated image
- angle: Rotation angle in degrees (positive = clockwise)
- background: Background color for exposed areas (default: #000000)flip_image
Mirror an image horizontally or vertically.
Parameters:
- inputPath: Path to input image
- outputPath: Path to save flipped image
- direction: Flip direction (horizontal, vertical, both)get_image_info
Extract metadata and information about an image.
Parameters:
- inputPath: Path to image file
Returns: format, dimensions, color space, file size, etc.batch_resize
Generate multiple sizes from one image (perfect for responsive images).
Parameters:
- inputPath: Path to input image
- outputDir: Directory to save resized images
- sizes: Array of {width, height?, suffix}
- format: Output format for all sizes (optional)Example Usage in Claude
"Please resize image.jpg to 800x600 pixels"
"Convert photo.png to WebP format with 90% quality"
"Crop avatar.jpg starting at (100, 100) with 200x200 size"
"Generate thumbnail sizes: 150px, 300px, and 600px wide"Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run in development mode
npm run devLicense
MIT