使用说明
项目简介
Magick Convert MCP服务器是一个轻量级的后端服务,它基于 Model Context Protocol (MCP) 构建,旨在为大型语言模型 (LLM) 提供图像处理能力。该服务器的核心功能是封装了强大的图像处理软件 ImageMagick 的 'magick' 命令行工具,允许 LLM 通过调用预定义的工具来执行各种图像操作,例如格式转换、尺寸调整、裁剪、滤镜应用等。
主要功能点
- 图像处理能力: 通过集成 ImageMagick,为 LLM 提供全面的图像处理功能。
- 工具化封装: 将 'magick' 命令封装为易于 LLM 调用的 MCP 工具 'run-magick-command'。
- 标准化接口: 使用 MCP 协议与 LLM 客户端通信,提供标准化的上下文服务接口。
- 灵活的命令执行: 允许 LLM 动态传递 'magick' 命令参数,实现定制化的图像处理需求。
安装步骤
- 安装 Node.js 和 npm: 确保您的系统已安装 Node.js 和 npm (Node.js 包管理器)。您可以从 https://nodejs.org/ 下载并安装。
- 安装 ImageMagick: Magick Convert MCP服务器依赖于 ImageMagick 软件。请根据您的操作系统,参考 https://imagemagick.org/ 上的指引安装 ImageMagick。请务必确保 'magick' 命令在您的系统环境变量 PATH 中可用。 安装完成后,您可以在终端中运行 'magick -version' 来验证安装是否成功。
- 克隆仓库 (如果您需要修改代码): 如果您需要修改服务器代码,请克隆该 GitHub 仓库到本地:
git clone https://github.com/aroglahcim/magick-mcp.git cd magick-mcp - 安装 npm 依赖: 在项目根目录下运行以下命令安装项目依赖:
npm install - 全局安装 (推荐): 为了方便使用,建议将该 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 客户端能够找到的路径下。
基本使用方法
- 启动 MCP 服务器: 在终端中运行 'magick-mcp-server' 命令来启动服务器。服务器将通过标准输入输出与 MCP 客户端进行通信。
- 配置 MCP 客户端: 在您的 MCP 客户端应用程序中,根据上面的 "服务器配置" 部分配置 Magick Convert MCP服务器。
- 调用 'run-magick-command' 工具: 在 LLM 交互过程中,当需要进行图像处理时,指示 LLM 调用名为 'run-magick-command' 的工具。
- 传递命令参数: 'run-magick-command' 工具接受一个名为 'argumentsString' 的参数,该参数是一个字符串,包含了要传递给 'magick' 命令的所有参数和选项。例如,如果您想将 'input.png' 转换为 'output.jpg',并将尺寸调整为 50%,则 'argumentsString' 可以设置为 'convert input.png -resize 50% output.jpg'。
- 获取处理结果: 工具执行成功后,会将 '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与计算