使用说明
项目简介
image-tools-mcp 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端提供图像处理能力。它通过工具的形式暴露图像尺寸获取和压缩功能,支持处理远程URL图片和本地文件。
主要功能点
- 获取图片尺寸:
- 支持获取远程URL图片的宽度、高度、类型和MIME类型。
- 支持获取本地图片的宽度、高度、类型、MIME类型和文件路径。
- 压缩图片:
- 支持使用 TinyPNG API 压缩远程URL图片,并可选择转换为 webp, jpeg/jpg, png 格式。
- 支持使用 TinyPNG API 压缩本地图片,可指定输出路径和输出格式 (webp, jpeg/jpg, png)。
- 返回详细信息:
- 压缩图片后,返回原始大小、压缩后大小、压缩率、临时文件路径(或输出路径)以及图片格式等详细信息。
安装步骤
- 安装 Node.js 和 npm:确保你的系统中已安装 Node.js 和 npm (Node.js 包管理器)。
- 安装 image-tools-mcp:打开终端,运行以下命令安装 image-tools-mcp:
npm install image-tools-mcp
服务器配置
MCP客户端需要配置以下信息才能连接到 image-tools-mcp 服务器。以下是 Claude Desktop 客户端的配置示例,其他 MCP 客户端的配置方式类似。
{ "mcpServers": { "image-tools": { // 服务器名称,客户端用于识别 "command": "npx", // 启动服务器的命令,这里使用 npx 运行 npm 包 "args": ["image-tools-mcp"], // 启动命令的参数,这里指定运行 image-tools-mcp "env": { "TINIFY_API_KEY": "<YOUR_TINIFY_API_KEY>" // 环境变量,用于配置 TinyPNG API 密钥,请替换为你的 TinyPNG API 密钥 } } } }
配置说明:
- server name (服务器名称): 'image-tools',客户端使用此名称引用该服务器。
- command (命令): 'npx',用于执行 Node.js 包。
- args (参数): '["image-tools-mcp"]',指定要执行的包名称,即 'image-tools-mcp'。
- env (环境变量):
- 'TINIFY_API_KEY': 必须配置。用于 TinyPNG API 的密钥。你需要访问 TinyPNG 开发者网站 注册并获取 API 密钥,然后将 '<YOUR_TINIFY_API_KEY>' 替换为你获得的密钥。请务必配置此环境变量,否则图片压缩功能将无法使用。
基本使用方法
-
启动服务器:在配置好 MCP 客户端后,当客户端尝试连接 'image-tools-mcp' 服务器时,服务器会自动启动。你也可以在终端中手动运行 'npx image-tools-mcp' 命令来启动服务器。
-
客户端调用工具:在 MCP 客户端中,你可以通过以下工具名称和参数来调用 image-tools-mcp 提供的功能:
- 获取远程图片尺寸 (get_image_size)
- 工具名称: 'get_image_size'
- 参数示例:
{ "options": { "imageUrl": "https://example.com/image.jpg" // 要获取尺寸的图片 URL } }
- 获取本地图片尺寸 (get_local_image_size)
- 工具名称: 'get_local_image_size'
- 参数示例:
{ "options": { "imagePath": "D:/path/to/image.png" // 本地图片绝对路径 } }
- 压缩远程图片 (compress_image_from_url)
- 工具名称: 'compress_image_from_url'
- 参数示例:
{ "options": { "imageUrl": "https://example.com/image.jpg", // 要压缩的图片 URL "outputFormat": "webp" // 可选,输出格式,支持 "webp", "jpeg", "jpg", "png" } }
- 压缩本地图片 (compress_local_image)
- 工具名称: 'compress_local_image'
- 参数示例:
{ "options": { "imagePath": "D:/path/to/image.png", // 本地图片绝对路径 "outputPath": "D:/path/to/compressed.webp", // 可选,压缩后图片输出路径 "outputFormat": "image/webp" // 可选,输出格式,支持 "image/webp", "image/jpeg", "image/jpg", "image/png" } }
- 在 MCP 客户端中,根据客户端的具体使用方式,调用相应的工具并传入参数即可使用 image-tools-mcp 提供的图像处理功能。例如,在 Claude Desktop 中,你可以直接在对话框中输入指令,让 Claude 调用这些工具。
- 获取远程图片尺寸 (get_image_size)
注意事项
- TinyPNG API 密钥: 'TINIFY_API_KEY' 环境变量是使用图片压缩功能 必需 的。请务必正确配置。
- 本地文件路径: 使用本地图片相关工具时,请确保提供的 'imagePath' 是 绝对路径,且文件真实存在。
- 输出格式: 压缩工具支持多种输出格式,请根据需要选择合适的格式。不指定时,压缩后的图片格式可能与原图格式相同或为默认格式。
- 错误处理: 如果操作失败,服务器会返回包含错误信息的 JSON-RPC 响应。请根据错误信息排查问题。
信息
分类
开发者工具