Image Editor MCP 服务器使用说明

Image Editor MCP 服务器是基于Model Context Protocol (MCP) 构建的图像处理后端,它利用OpenCV和Pillow等库,为LLM(大型语言模型)客户端提供一套全面的图像操作和分析工具。通过这个服务器,AI代理可以执行复杂的图像处理任务,从简单的调整到高级的对象检测和创意拼贴制作。

主要功能点

  • 图像加载与信息获取: 能够加载本地图像文件,并提供图像的详细元数据,包括尺寸、格式、文件大小和通道数。
  • 基本图像操作: 提供核心的图像编辑功能,如按比例或固定尺寸调整图片大小、精确裁剪图片的指定区域、以及在不同图像格式(如JPG, PNG, WebP)之间进行高质量转换。
  • 图像调整与增强: 允许精细控制图像的视觉属性,包括调节亮度、对比度和饱和度。此外,还支持应用多种艺术滤镜和效果,例如模糊、锐化、灰度、边缘检测、怀旧色、浮雕、反色和色调分离。
  • 图像标注: 可以在图像上添加各种视觉元素,如文本、矩形、圆形和线条,支持自定义颜色、字体大小和线条粗细,用于突出特定区域或添加说明。
  • 对象检测: 集成了计算机视觉能力,能够执行人脸检测、图像边缘检测和轮廓检测,为图像内容提供结构化分析。
  • 拼贴创建: 能够将多张图片智能地组合成一张拼贴画,支持网格、水平或垂直等多种布局方式,并可自定义图片间的间距。
  • Prompt 模板支持: 内置多种预设的Prompt模板,LLM可以直接调用这些模板来简化常用图像处理任务的交互流程。

安装步骤

Image Editor MCP 服务器是一个Python项目,需要Python 3.8或更高版本。

  1. 导航到项目目录: 首先,请确保您已克隆 'mcp-servers' 仓库。然后,进入 'src/image-editor' 目录: 'cd <path_to_mcp-servers>/src/image-editor' 请将 '<path_to_mcp-servers>' 替换为您的 'mcp-servers' 仓库在本地文件系统中的绝对路径。

  2. 创建并激活虚拟环境 (推荐): 为了避免依赖冲突,建议创建并激活一个Python虚拟环境: 'python -m venv venv'

    • macOS/Linux: 'source venv/bin/activate'
    • Windows (PowerShell): '.\venv\Scripts\activate'
  3. 安装依赖: 在激活的虚拟环境中,安装所有必需的Python库: 'pip install fastmcp opencv-python Pillow numpy'

  4. 运行服务器: 执行以下命令启动Image Editor MCP 服务器: 'python main.py' 服务器将通过标准输入输出 (stdio) 连接运行,准备接受MCP客户端的请求。

服务器配置 (MCP客户端使用)

MCP客户端(如Dexto或兼容的LLM代理)需要以下JSON格式的配置信息才能连接并使用Image Editor MCP 服务器。请将 'command' 数组中的 '<path_to_mcp-servers>' 替换为您的 'mcp-servers' 仓库的实际绝对路径。

{
  "serverName": "image-editor",
  "command": "python",
  "args": ["<path_to_mcp-servers>/src/image-editor/main.py"],
  "description": "基于OpenCV和Pillow的图像处理MCP服务器,提供图像编辑、滤镜、标注和对象检测等能力。",
  "tools": [
    {
      "name": "load_image",
      "description": "加载并验证图片文件,返回图片详细信息。"
    },
    {
      "name": "resize_image",
      "description": "调整图片尺寸,可选择保持宽高比。"
    },
    {
      "name": "crop_image",
      "description": "按指定区域裁剪图片。"
    },
    {
      "name": "convert_format",
      "description": "转换图片格式,支持多种常见格式。"
    },
    {
      "name": "adjust_image",
      "description": "调整图片亮度、对比度和饱和度。"
    },
    {
      "name": "apply_filter",
      "description": "应用图像滤镜和效果(如模糊、锐化、灰度、边缘检测、怀旧色等)。"
    },
    {
      "name": "add_annotation",
      "description": "在图片上添加文本、矩形、圆形或线条等标注。"
    },
    {
      "name": "detect_objects",
      "description": "使用计算机视觉检测图片中的对象(如人脸、边缘、轮廓)。"
    },
    {
      "name": "create_collage",
      "description": "将多张图片制作成拼贴画。"
    }
  ],
  "prompts": [
    {
      "name": "detect_faces_in_image",
      "description": "快速人脸检测 - 找到图片中的所有人脸"
    },
    {
      "name": "resize_for_social_media",
      "description": "为社交媒体平台调整图片尺寸"
    },
    {
      "name": "apply_artistic_filter",
      "description": "为图片应用艺术滤镜"
    },
    {
      "name": "create_photo_collage",
      "description": "从多张图片创建照片拼贴"
    },
    {
      "name": "quick_format_conversion",
      "description": "快速图片格式转换"
    },
    {
      "name": "analyze_image_quickly",
      "description": "快速分析图片并获取信息"
    }
  ]
}

基本使用方法

一旦Image Editor MCP 服务器成功启动,LLM客户端就可以通过JSON-RPC协议向其发送请求。客户端可以调用服务器暴露的工具或利用预定义的Prompt模板来执行图像处理任务。例如,要调整图像的尺寸,客户端会发送一个包含 'resize_image' 工具名称和所需参数(如图像路径、目标宽度和高度)的JSON-RPC请求。服务器将处理该请求,返回包含处理后的图像数据(通常为Base64编码)和操作结果摘要的响应。

信息

分类

AI与计算