使用说明

项目简介

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)。
  • 返回详细信息
    • 压缩图片后,返回原始大小、压缩后大小、压缩率、临时文件路径(或输出路径)以及图片格式等详细信息。

安装步骤

  1. 安装 Node.js 和 npm:确保你的系统中已安装 Node.js 和 npm (Node.js 包管理器)。
  2. 安装 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>' 替换为你获得的密钥。请务必配置此环境变量,否则图片压缩功能将无法使用。

基本使用方法

  1. 启动服务器:在配置好 MCP 客户端后,当客户端尝试连接 'image-tools-mcp' 服务器时,服务器会自动启动。你也可以在终端中手动运行 'npx image-tools-mcp' 命令来启动服务器。

  2. 客户端调用工具:在 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 调用这些工具。

注意事项

  • TinyPNG API 密钥: 'TINIFY_API_KEY' 环境变量是使用图片压缩功能 必需 的。请务必正确配置。
  • 本地文件路径: 使用本地图片相关工具时,请确保提供的 'imagePath' 是 绝对路径,且文件真实存在。
  • 输出格式: 压缩工具支持多种输出格式,请根据需要选择合适的格式。不指定时,压缩后的图片格式可能与原图格式相同或为默认格式。
  • 错误处理: 如果操作失败,服务器会返回包含错误信息的 JSON-RPC 响应。请根据错误信息排查问题。

信息

分类

开发者工具