williamIIliu/image-processing-toolkits
If you are the rightful owner of image-processing-toolkits and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
This is a powerful image processing MCP (Model Context Protocol) server offering a wide range of image processing functionalities.
图片处理 MCP 服务器
这是一个功能强大的图片处理MCP (Model Context Protocol) 服务器,提供了丰富的图片处理功能,包括裁剪、旋转、调整大小、对比度调整等。
功能特性
🎨 基础图片处理
- 裁剪图片 - 精确裁剪到指定区域
- 旋转图片 - 任意角度旋转,支持画布扩展
- 调整大小 - 智能缩放,可保持宽高比
- 翻转图片 - 水平或垂直翻转
🌈 图片增强
- 对比度调整 - 增强或减弱图片对比度
- 亮度调整 - 调节图片明暗程度
- 饱和度调整 - 控制色彩饱和度,支持灰度转换
🎭 滤镜效果
- 模糊效果 (BLUR)
- 细节增强 (DETAIL)
- 边缘增强 (EDGE_ENHANCE, EDGE_ENHANCE_MORE)
- 浮雕效果 (EMBOSS)
- 边缘检测 (FIND_EDGES)
- 锐化 (SHARPEN)
- 平滑 (SMOOTH, SMOOTH_MORE)
🔧 实用工具
- 格式转换 - 支持 JPEG, PNG, BMP, TIFF, WEBP
- 缩略图生成 - 快速生成指定尺寸缩略图
- 水印添加 - 文字水印,支持多种位置和透明度
- 图片信息获取 - 详细的元数据和EXIF信息
⚡ 性能优化
- 智能缓存 - 自动缓存常用图片,提升处理速度
- 内存管理 - 监控内存使用,自动清理过期缓存
- 并发处理 - 支持多线程并发处理
- 错误处理 - 完善的错误处理和恢复机制
安装和配置
1. 安装依赖
在使用图片处理服务器之前,需要安装以下依赖包:
pip install Pillow opencv-python numpy psutil mcp[cli]
或者使用项目的配置文件:
pip install -r requirements.txt
注意: 必须安装 mcp[cli] 而不是单独的 mcp,这样才能包含所需的 CLI 工具和依赖(如 typer)。
2. MCP Server 配置
要在支持MCP的应用程序中使用此图像处理服务器,请将以下配置添加到您的MCP配置文件中:
Claude Desktop 配置
在 %APPDATA%\Claude\claude_desktop_config.json (Windows) 或 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 中添加:
{
"mcpServers": {
"image_processing_toolkits": {
"command": "python",
"args": [
"e:/MyProjects/TOBench/server_tools/local_servers/image-processing-toolkits/src/server.py"
],
"cwd": "e:/MyProjects/TOBench/server_tools/local_servers/image-processing-toolkits"
}
}
}
使用 uv 运行器的配置
如果您使用 uv 作为 Python 包管理器:
{
"mcpServers": {
"image_processing_toolkits": {
"command": "uv",
"args": [
"--directory",
"e:/MyProjects/TOBench/server_tools/local_servers/image-processing-toolkits",
"run",
"python",
"src/server.py"
]
}
}
}
通用配置模板
请将路径替换为您的实际安装路径:
{
"mcpServers": {
"image_processing_toolkits": {
"command": "python",
"args": [
"/path/to/image-processing-toolkits/src/server.py"
],
"cwd": "/path/to/image-processing-toolkits"
}
}
}
FastMCP 特性
本服务器使用 FastMCP 框架构建,提供以下优势:
- 简化的工具定义: 使用
@mcp.tool()装饰器直接定义工具 - 自动类型推断: 从函数签名自动生成工具模式
- 更少的样板代码: 无需手动定义复杂的工具列表和处理器
- 更好的开发体验: 专注于业务逻辑而非协议细节
- 自动文档生成: 从函数docstring自动生成工具描述
3. 启动服务器
直接启动
python src/server.py
使用 uv 启动
uv run python src/server.py
4. 验证安装
启动服务器后,您应该看到以下消息:
Image Processing MCP Server starting...
如果配置正确,MCP客户端将能够发现并使用所有12个图像处理工具。
可用工具
1. crop-image - 裁剪图片
{
"file_path": "path/to/image.jpg",
"x": 100,
"y": 100,
"width": 200,
"height": 150,
"output_path": "path/to/cropped.jpg" // 可选
}
2. rotate-image - 旋转图片
{
"file_path": "path/to/image.jpg",
"angle": 45,
"expand": true, // 是否扩展画布
"output_path": "path/to/rotated.jpg" // 可选
}
3. resize-image - 调整大小
{
"file_path": "path/to/image.jpg",
"width": 800,
"height": 600,
"maintain_aspect": true, // 保持宽高比
"resample": "LANCZOS", // LANCZOS, BILINEAR, BICUBIC, NEAREST
"output_path": "path/to/resized.jpg" // 可选
}
4. adjust-contrast - 调整对比度
{
"file_path": "path/to/image.jpg",
"factor": 1.5, // >1增强, <1减弱, 1.0原始
"output_path": "path/to/contrast.jpg" // 可选
}
5. adjust-brightness - 调整亮度
{
"file_path": "path/to/image.jpg",
"factor": 1.2, // >1增亮, <1变暗, 1.0原始
"output_path": "path/to/bright.jpg" // 可选
}
6. adjust-saturation - 调整饱和度
{
"file_path": "path/to/image.jpg",
"factor": 0.8, // >1增强, <1减弱, 0灰度, 1.0原始
"output_path": "path/to/saturated.jpg" // 可选
}
7. apply-filter - 应用滤镜
{
"file_path": "path/to/image.jpg",
"filter_type": "BLUR", // 见上方滤镜列表
"output_path": "path/to/filtered.jpg" // 可选
}
8. flip-image - 翻转图片
{
"file_path": "path/to/image.jpg",
"direction": "horizontal", // horizontal, vertical
"output_path": "path/to/flipped.jpg" // 可选
}
9. convert-format - 转换格式
{
"file_path": "path/to/image.png",
"format": "JPEG",
"quality": 95, // JPEG质量 1-100
"output_path": "path/to/converted.jpg" // 可选
}
10. get-image-info - 获取图片信息
{
"file_path": "path/to/image.jpg"
}
11. create-thumbnail - 创建缩略图
{
"file_path": "path/to/image.jpg",
"size": 128, // 最大尺寸
"output_path": "path/to/thumbnail.jpg" // 可选
}
12. add-watermark - 添加水印
{
"file_path": "path/to/image.jpg",
"watermark_text": "版权所有",
"position": "bottom-right", // top-left, top-right, bottom-left, bottom-right, center
"opacity": 0.7, // 透明度 0.0-1.0
"font_size": 36,
"output_path": "path/to/watermarked.jpg" // 可选
}
使用示例
启动服务器
python src/server.py
使用 uv 启动
uv run python src/server.py
在MCP客户端中使用
配置完成后,您可以在支持MCP的应用程序(如Claude Desktop)中直接使用图像处理功能:
- 裁剪图片: 使用
crop-image工具精确裁剪图片区域 - 调整大小: 使用
resize-image工具智能缩放图片 - 应用滤镜: 使用
apply-filter工具为图片添加各种视觉效果 - 格式转换: 使用
convert-format工具在不同图片格式间转换 - 添加水印: 使用
add-watermark工具为图片添加文字水印
所有工具都支持自动生成输出文件名,或者您可以指定自定义的输出路径。
技术特性
缓存机制
- 自动缓存最近使用的图片
- 内存使用率监控
- 定期清理过期缓存
- 支持手动清理缓存
错误处理
- 完善的异常处理机制
- 详细的错误信息反馈
- 自动恢复和重试机制
性能优化
- 多线程并发处理
- 智能内存管理
- 高效的图片处理算法
- 支持大文件处理
文件结构
image-processing-toolkits/
├── src/
│ └── server.py # 主MCP服务器文件
├── LICENSE # 许可证文件
├── pyproject.toml # 项目配置和依赖
├── requirements.txt # Python依赖列表
└── README.md # 项目文档(本文档)
注意事项
- 依赖安装: 确保所有依赖包都已正确安装
- 文件路径: 使用绝对路径或相对于当前工作目录的路径
- 图片格式: 支持常见的图片格式 (JPEG, PNG, BMP, TIFF, WEBP)
- 内存使用: 处理大图片时注意内存使用情况
- 输出路径: 如果不指定输出路径,会自动生成带后缀的文件名
故障排除
常见问题
-
PIL导入失败
pip install Pillow --upgrade -
OpenCV导入失败
pip install opencv-python --upgrade -
内存不足
- 减少缓存大小
- 处理较小的图片
- 手动清理缓存
-
字体加载失败
- 水印功能会自动回退到默认字体
- 可以手动指定字体路径
扩展功能
这个图片处理服务器采用模块化设计,可以轻松添加新的功能:
- 新增滤镜: 在
apply_filter函数中添加新的滤镜类型 - 自定义处理: 创建新的处理函数并注册为工具
- 格式支持: 扩展支持的图片格式
- 批量处理: 添加批量处理功能
许可证
本项目采用 MIT 许可证。
贡献
欢迎提交 Issue 和 Pull Request 来改进这个项目!