# Image Process MCP Server

An MCP Server for image processing that uses the Sharp library to provide image manipulation functionality.

这是一个用于处理图片的MCP Server，使用 sharp 库提供图片处理功能。

## Features / 功能

The server provides the following image processing tools:

1. **Resize Image** (`resizeImage`): Adjust the width and height of an image
2. **Convert Format** (`convertFormat`): Convert images to different formats (jpeg, png, webp, avif, tiff, gif)
3. **Crop Image** (`cropImage`): Crop a specific region of an image
4. **Rotate Image** (`rotateImage`): Rotate an image
5. **Get Image Info** (`getImageInfo`): Get basic information about an image (dimensions, format, etc.)

提供以下图片处理工具：

1. **调整图片尺寸** (`resizeImage`)：调整图片的宽度和高度
2. **转换图片格式** (`convertFormat`)：将图片转换为不同的格式（jpeg、png、webp、avif、tiff、gif）
3. **裁剪图片** (`cropImage`)：裁剪图片的指定区域
4. **旋转图片** (`rotateImage`)：旋转图片
5. **获取图片信息** (`getImageInfo`)：获取图片的基本信息（尺寸、格式等）

## Usage / 使用

### MacOS / Linux

```json
{
  "mcpServers": {
    "Image Process MCP": {
      "command": "npx",
      "args": ["-y", "image-process-mcp-server"]
    }
  }
}
```

### Windows

```json
{
  "mcpServers": {
    "Image Process MCP": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "image-process-mcp-server"]
    }
  }
}
```

### Tool Parameters / 工具参数

#### Resize Image (resizeImage) / 调整图片尺寸

```json
{
  "input_path": "Path to the input image",
  "output_path": "Path to the output image",
  "width": Width in pixels (optional),
  "height": Height in pixels (optional),
  "fit": "Resizing method, options: cover, contain, fill, inside, outside, default is cover"
}
```

```json
{
  "input_path": "输入图片的路径",
  "output_path": "输出图片的路径",
  "width": 宽度（像素），可选,
  "height": 高度（像素），可选,
  "fit": "调整尺寸的方式，可选值：cover, contain, fill, inside, outside，默认为cover"
}
```

#### Convert Format (convertFormat) / 转换图片格式

```json
{
  "input_path": "Path to the input image",
  "output_path": "Path to the output image",
  "format": "Target format, options: jpeg, png, webp, avif, tiff, gif",
  "quality": Image quality (1-100), only for formats supporting compression, default is 80
}
```

```json
{
  "input_path": "输入图片的路径",
  "output_path": "输出图片的路径",
  "format": "目标格式，可选值：jpeg, png, webp, avif, tiff, gif",
  "quality": 图片质量（1-100），仅用于支持压缩的格式，默认为80
}
```

#### Crop Image (cropImage) / 裁剪图片

```json
{
  "input_path": "Path to the input image",
  "output_path": "Path to the output image",
  "left": Left edge offset (pixels),
  "top": Top edge offset (pixels),
  "width": Crop width (pixels),
  "height": Crop height (pixels)
}
```

```json
{
  "input_path": "输入图片的路径",
  "output_path": "输出图片的路径",
  "left": 左边缘的偏移量（像素）,
  "top": 顶部边缘的偏移量（像素）,
  "width": 裁剪宽度（像素）,
  "height": 裁剪高度（像素）
}
```

#### Rotate Image (rotateImage) / 旋转图片

```json
{
  "input_path": "Path to the input image",
  "output_path": "Path to the output image",
  "angle": Rotation angle in degrees
}
```

```json
{
  "input_path": "输入图片的路径",
  "output_path": "输出图片的路径",
  "angle": 旋转角度（度）
}
```

#### Get Image Info (getImageInfo) / 获取图片信息

```json
{
  "input_path": "Path to the image"
}
```

```json
{
  "input_path": "图片的路径"
}
```

## Examples / 示例

In Claude, you can call the tools using the following format:

```
Please help me resize an image to 500 pixels wide
Input path: /path/to/input.jpg
Output path: /path/to/output.jpg
```

在 Claude 中，可以使用以下方式调用工具：

```
请帮我将图片调整为宽度500像素的大小
输入路径：/path/to/input.jpg
输出路径：/path/to/output.jpg
```

## Dependencies / 依赖

- Node.js
- sharp
- @modelcontextprotocol/sdk

## License / 许可证

MIT 
