返回市场
图像魔法-mcp

图像魔法-mcp

作者:sunriseapps241 星标更新:2025-09-24

项目介绍

🪄 ImageSorcery MCP

基于计算机视觉的本地图像识别和编辑工具,适用于AI助手

官方网站:imagesorcery.net

License MCP Claude Cursor Cline Verified on MseeP PyPI Downloads

<a href="https://glama.ai/mcp/servers/@sunriseapps/imagesorcery-mcp"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=3221778853,2169795152&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>

✅ 使用 ImageSorcery MCP

🪄 ImageSorcery 赋予AI助手强大的图像处理能力:

  • ✅ 精确裁剪、调整大小和旋转图像
  • ✅ 移除背景
  • ✅ 在图像上绘制文本和形状
  • ✅ 添加标志和水印
  • ✅ 使用最先进的模型检测对象
  • ✅ 使用OCR从图像中提取文本
  • ✅ 使用广泛的预训练模型进行对象检测、OCR等
  • ✅ 所有这些操作都在本地完成,无需将图像发送到任何服务器

只需让您的AI助手帮助您处理图像任务:

"将文件夹photos中的宠物照片复制到文件夹pets中" 复制宠物

"在photo.jpg中找到一只猫,并将其高度和宽度裁剪一半,使猫居中" 居中猫咪 😉 提示: 使用完整的文件路径".

"使用foduucom/web-form-ui-field-detection模型枚举form.jpg上的表单字段,并将结果填写到form.md中" 枚举表单字段 😉 提示: 指定模型和置信度".

😉 提示: 添加"使用imagesorcery"以确保使用正确的工具".

您的工具将结合以下列出的多个工具来实现您的目标。

🛠️ 可用工具

工具描述示例提示
blur使用OpenCV模糊指定的矩形或多边形区域。也可以反转提供的区域,例如模糊背景。"将我的图像'test_image.png'中从(150, 100)到(250, 200)的区域模糊强度设为21,并保存为'output.png'"
change_color更改图像的颜色调色板"将我的图像'test_image.png'转换为棕褐色,并保存为'output.png'"
config查看和更新ImageSorcery MCP配置设置"显示当前配置" 或 "将默认检测置信度设为0.8"
crop使用OpenCV的NumPy切片方法裁剪图像"将我的图像'input.png'从坐标(10,10)到(200,200)裁剪,并保存为'cropped.png'"
detect使用Ultralytics模型检测图像中的对象。可以返回分割掩码(作为PNG文件)或多边形。"使用置信度阈值0.4在我的图像'photo.jpg'中检测对象"
draw_arrows使用OpenCV在图像上绘制箭头"在我的图像'photo.jpg'上从(50,50)到(150,100)绘制一个红色箭头"
draw_circles使用OpenCV在图像上绘制圆圈"在我的图像'photo.jpg'上以中心(100,100)和半径50绘制一个红色圆圈"
draw_lines使用OpenCV在图像上绘制线条"在我的图像'photo.jpg'上从(50,50)到(150,100)绘制一条红色线"
draw_rectangles使用OpenCV在图像上绘制矩形"在我的图像'photo.jpg'上从(50,50)到(150,100)绘制一个红色矩形,并从(200,150)到(300,250)绘制一个填充蓝色矩形"
draw_texts使用OpenCV在图像上绘制文本"在我的图像'photo.jpg'上位置(50,50)添加文本'Hello World',并在右下角添加'Copyright 2023'"
fill使用颜色和透明度填充指定的矩形、多边形或基于掩码的区域,或者使其透明。也可以反转提供的区域,例如移除背景。"将我的图像'test_image.png'中从(150, 100)到(250, 200)的区域填充为半透明红色"
find根据文本描述在图像中查找对象。可以返回分割掩码(作为PNG文件)或多边形。"在我的图像'photo.jpg'中以置信度阈值0.4查找所有狗"
get_metainfo获取图像文件的元数据信息"获取我的图像'photo.jpg'的元数据信息"
ocr使用EasyOCR对图像执行光学字符识别(OCR)"使用OCR提取我的图像'document.jpg'中的英文文本"
overlay将一个图像覆盖在另一个图像上,处理透明度"将'logo.png'覆盖在'background.jpg'上,位置为(10, 10)"
resize使用OpenCV调整图像大小"将我的图像'photo.jpg'调整为800x600像素,并保存为'resized_photo.jpg'"
rotate使用imutils.rotate_bound函数旋转图像"将我的图像'photo.jpg'旋转45度,并保存为'rotated_photo.jpg'"

😉 提示: 每个工具的详细信息和使用说明可以在工具的/src/imagesorcery_mcp/tools/README.md中找到.

📚 可用资源

资源URI描述示例提示
models://list列出模型目录中所有可用的模型"ImageSorcery中有哪些可用的模型?"

😉 提示: 每个资源的详细信息和使用说明可以在资源的/src/imagesorcery_mcp/resources/README.md中找到.

💬 可用提示

提示名称描述示例用法
remove-background引导AI通过全面的背景移除工作流程,使用对象检测和遮罩工具"使用remove-background提示从我的照片'portrait.jpg'中移除背景,仅保留人物"

😉 提示: 每个提示的详细信息和使用说明可以在提示的/src/imagesorcery_mcp/prompts/README.md中找到.

🚀 快速开始

需求

  • Python 3.10 或更高版本
  • pipx(推荐)- 用于简单的安装和虚拟环境管理
  • ffmpeg, libsm6, libxext6, libgl1-mesa-glx - OpenCV所需的系统库
  • Claude.app, Cline 或其他MCP客户端
<details> <summary>虚拟环境(如Docker)</summary>

这些依赖项通常随OpenCV安装一起提供,不需要单独安装。但在某些虚拟环境中,如Docker,可能会缺失。

对于Ubuntu/Debian系统:

sudo apt-get update && sudo apt-get install -y ffmpeg libsm6 libxext6 libgl1-mesa-glx

对于Docker容器: 在Dockerfile中添加这一行:

RUN apt-get update && apt-get install -y ffmpeg libsm6 libxext6 libgl1-mesa-glx
</details>

安装

ImageSorcery演示

<details> <summary>对于Cline,只需复制粘贴LLM-INSTALL.md</summary>
1.  如果您有相应的工具,请加载MCP文档。它会为您提供*MCP配置文件*的路径和其他所需说明。
2.  运行命令 `pipx install imagesorcery-mcp`
3.  运行命令 `imagesorcery-mcp --post-install`
4.  创建或修改*MCP配置文件*。
5.  将`imagesorcery-mcp`服务器配置添加到*MCP配置文件*的`mcpServers`对象中
    `"imagesorcery-mcp": {"command": "imagesorcery-mcp","timeout": 100}`
6.  请求用户许可并启用遥测,通过调用`config(action="set", key="telemetry.enabled", value=True, persist=True)`。
7.  尝试完成安装和配置。
</details>

方法1:使用pipx(推荐)

pipx是推荐的安装ImageSorcery MCP的方式,因为它自动处理虚拟环境的创建和管理,使得安装过程更加简单。

<details> <summary>0. 安装pipx(如果尚未安装):</summary>
  1. 安装pipx(如果尚未安装):
    # 对于macOS使用Homebrew:
    brew install pipx
    
    # 对于Ubuntu/Debian:
    sudo apt update && sudo apt install pipx
    
    # 对于其他系统使用pip:
    pip install --user pipx
    pipx ensurepath
    
</details>
  1. 使用pipx安装ImageSorcery MCP:

    pipx install imagesorcery-mcp
    
  2. 运行安装后脚本: 这一步非常重要。它下载所需的模型并尝试从GitHub安装clip Python包。

    imagesorcery-mcp --post-install
    

方法2:手动创建虚拟环境(备选方案)

<details> <summary>如果pipx不适合您的系统,您可以手动创建一个虚拟环境</summary>

为了可靠地安装所有组件,特别是clip包(通过安装后脚本安装),强烈建议使用Python内置的venv模块而不是uv venv

  1. 创建并激活虚拟环境:

    python -m venv imagesorcery-mcp
    source imagesorcery-mcp/bin/activate  # 对于Linux/macOS
    # source imagesorcery-mcp\Scripts\activate    # 对于Windows
    
  2. 将包安装到已激活的虚拟环境中: 您可以使用pipuv pip

    pip install imagesorcery-mcp
    # 或者,如果您更喜欢使用uv安装到venv中:
    # uv pip install imagesorcery-mcp
    
  3. 运行安装后脚本: 这一步非常重要。它下载所需的模型并尝试从GitHub安装clip Python包到活动的虚拟环境中。

    imagesorcery-mcp --post-install
    

注意: 当使用此方法时,您需要在MCP客户端配置中提供可执行文件的完整路径(例如,/full/path/to/venv/bin/imagesorcery-mcp)。

</details>

其他注意事项

<details> <summary>安装后脚本做了什么?</summary> `imagesorcery-mcp --post-install`脚本执行以下操作:
  • 在当前目录创建一个config.toml配置文件,允许用户自定义默认工具参数。
  • 创建一个models目录(通常位于虚拟环境的site-packages目录内,或全局安装时的用户特定位置)以存储预训练模型。
  • 在那里生成初始的models/model_descriptions.json文件。
  • 下载detect工具所需的默认YOLO模型(yoloe-11l-seg-pf.pt, yoloe-11s-seg-pf.pt, yoloe-11l-seg.pt, yoloe-11s-seg.pt)到这个models目录。
  • 尝试从Ultralytics的GitHub仓库直接安装clip Python包到活动的Python环境中。这对于find工具中的文本提示功能是必需的。
  • 下载find工具所需的CLIP模型文件到models目录。

您可以随时运行此过程以恢复默认模型并尝试安装clip

</details> <details> <summary>`uv`用户的注意事项(`uv venv`和`uvx`)</summary>
  • 使用uv venv创建虚拟环境: 根据测试,使用uv venv创建的虚拟环境可能不会以允许imagesorcery-mcp --post-install脚本自动从GitHub安装clip包的方式包含pip(在clip安装步骤期间可能会出现"No module named pip"错误)。 如果您选择使用uv venv

    1. 创建并激活您的uv venv
    2. 安装imagesorcery-mcpuv pip install imagesorcery-mcp
    3. 手动将clip包安装到您的活动uv venv中:
      uv pip install git+https://github.com/ultralytics/CLIP.git
      
    4. 运行imagesorcery-mcp --post-install。这将下载模型,但可能无法安装clip Python包。 为了通过安装后脚本实现平滑的自动化clip安装,使用python -m venv(如上文所述)是创建虚拟环境的推荐方法。
  • 使用uvx imagesorcery-mcp --post-install 直接使用uvx运行安装后脚本(例如,uvx imagesorcery-mcp --post-install)可能会失败,无法安装clip Python包。这是因为uvx创建的临时环境通常没有脚本可以使用的pip。模型会被下载,但clip包不会通过此命令安装。 如果您打算使用uvx运行主要的imagesorcery-mcp服务器并且需要clip功能,您需要确保clip包安装在一个uvx可以找到的可访问Python环境中,或者考虑将imagesorcery-mcp安装到使用python -m venv创建的持久环境中。

</details>

⚙️ 配置MCP客户端

在您的MCP客户端中添加以下设置。

对于pipx安装(推荐):

"mcpServers": {
    "imagesorcery-mcp": {
      "command": "imagesorcery-mcp",
      "transportType": "stdio",
      "autoApprove": ["blur", "change_color", "config", "crop", "detect", "draw_arrows", "draw_circles", "draw_lines", "draw_rectangles", "draw_texts", "fill", "find", "get_metainfo", "ocr", "overlay", "resize", "rotate"],
      "timeout": 100
    }
}

对于手动venv安装:

"mcpServers": {
    "imagesorcery-mcp": {
      "command": "/full/path/to/venv/bin/imagesorcery-mcp",
      "transportType": "stdio",
      "autoApprove": ["blur", "change_color", "config", "crop", "detect", "draw_arrows", "draw_circles", "draw_lines", "draw_rectangles", "draw_texts", "fill", "find", "get_metainfo", "ocr", "overlay", "resize", "rotate"],
      "timeout": 100
    }
}
<details> <summary>如果您在HTTP模式下使用服务器,请配置客户端连接到HTTP端点:</summary>
"mcpServers": {
    "imagesorcery-mcp": {
      "url": "http://127.0.0.1:8000/mcp", // 使用您自定义的主机、端口和路径
      "transportType": "http",
      "autoApprove": ["blur", "change_color", "config", "crop", "detect", "draw_arrows", "draw_circles", "draw_lines", "draw_rectangles", "draw_texts", "fill", "find", "get_metainfo", "ocr", "overlay", "resize", "rotate"],
      "timeout": 100
    }
}
</details> <details> <summary>对于Windows</summary>

对于pipx安装(推荐):

"mcpServers": {
    "imagesorcery-mcp": {
      "command": "imagesorcery-mcp.exe",
      "transportType": "stdio",
      "autoApprove": ["blur", "change_color", "config", "crop", "detect", "draw_arrows", "draw_circles",