使用说明

项目简介

Magick Convert MCP服务器是一个轻量级的后端服务,它基于 Model Context Protocol (MCP) 构建,旨在为大型语言模型 (LLM) 提供图像处理能力。该服务器的核心功能是封装了强大的图像处理软件 ImageMagick 的 'magick' 命令行工具,允许 LLM 通过调用预定义的工具来执行各种图像操作,例如格式转换、尺寸调整、裁剪、滤镜应用等。

主要功能点

  • 图像处理能力: 通过集成 ImageMagick,为 LLM 提供全面的图像处理功能。
  • 工具化封装: 将 'magick' 命令封装为易于 LLM 调用的 MCP 工具 'run-magick-command'。
  • 标准化接口: 使用 MCP 协议与 LLM 客户端通信,提供标准化的上下文服务接口。
  • 灵活的命令执行: 允许 LLM 动态传递 'magick' 命令参数,实现定制化的图像处理需求。

安装步骤

  1. 安装 Node.js 和 npm: 确保您的系统已安装 Node.js 和 npm (Node.js 包管理器)。您可以从 https://nodejs.org/ 下载并安装。
  2. 安装 ImageMagick: Magick Convert MCP服务器依赖于 ImageMagick 软件。请根据您的操作系统,参考 https://imagemagick.org/ 上的指引安装 ImageMagick。请务必确保 'magick' 命令在您的系统环境变量 PATH 中可用。 安装完成后,您可以在终端中运行 'magick -version' 来验证安装是否成功。
  3. 克隆仓库 (如果您需要修改代码): 如果您需要修改服务器代码,请克隆该 GitHub 仓库到本地:
    git clone https://github.com/aroglahcim/magick-mcp.git
    cd magick-mcp
  4. 安装 npm 依赖: 在项目根目录下运行以下命令安装项目依赖:
    npm install
  5. 全局安装 (推荐): 为了方便使用,建议将该 MCP 服务器全局安装到您的系统中,这样您可以在任何目录下直接运行它:
    npm install -g .
    或者,如果您没有克隆仓库,可以直接全局安装:
    npm install -g magick-mcp

服务器配置

MCP 客户端需要以下配置信息才能连接到 Magick Convert MCP服务器。请将以下 JSON 配置添加到您的 MCP 客户端配置中。

{
  "serverName": "Magick Convert",
  "command": "magick-mcp-server",
  "args": [],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,设置为 "Magick Convert"。
  • 'command': 启动 MCP 服务器的命令。全局安装后,命令为 'magick-mcp-server'。如果您没有全局安装,并且在项目目录下运行,则命令可能是 'node index.js' 或 './index.js'。
  • 'args': 启动命令的参数,本服务器不需要额外的启动参数,因此设置为空数组 '[]'。
  • 'transport': 指定 MCP 客户端与服务器之间的通信方式,这里使用 'stdio',即标准输入输出流。

注意: 请确保 'magick-mcp-server' 命令(或者您实际使用的启动命令)在您的系统 PATH 环境变量中,或者在 MCP 客户端能够找到的路径下。

基本使用方法

  1. 启动 MCP 服务器: 在终端中运行 'magick-mcp-server' 命令来启动服务器。服务器将通过标准输入输出与 MCP 客户端进行通信。
  2. 配置 MCP 客户端: 在您的 MCP 客户端应用程序中,根据上面的 "服务器配置" 部分配置 Magick Convert MCP服务器。
  3. 调用 'run-magick-command' 工具: 在 LLM 交互过程中,当需要进行图像处理时,指示 LLM 调用名为 'run-magick-command' 的工具。
  4. 传递命令参数: 'run-magick-command' 工具接受一个名为 'argumentsString' 的参数,该参数是一个字符串,包含了要传递给 'magick' 命令的所有参数和选项。例如,如果您想将 'input.png' 转换为 'output.jpg',并将尺寸调整为 50%,则 'argumentsString' 可以设置为 'convert input.png -resize 50% output.jpg'。
  5. 获取处理结果: 工具执行成功后,会将 'magick' 命令的标准输出 (stdout) 作为文本内容返回给 LLM 客户端。标准错误输出 (stderr) 会在服务器端控制台打印,用于调试。

使用示例:

假设 LLM 客户端需要将用户上传的 PNG 图片 'input.png' 转换为 JPEG 格式。LLM 客户端可以构造如下的工具调用请求:

{
  "tool_call": {
    "tool_name": "run-magick-command",
    "parameters": {
      "argumentsString": "convert input.png output.jpg"
    }
  }
}

Magick Convert MCP服务器收到请求后,将执行 'magick convert input.png output.jpg' 命令,并将 ImageMagick 的输出返回给 LLM 客户端。

请根据 ImageMagick 的官方文档 (https://imagemagick.org/) 了解更多 'magick' 命令的用法和参数,以便充分利用 Magick Convert MCP服务器的图像处理能力。

信息

分类

AI与计算