使用说明

项目简介

Image Tools MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为 LLM 应用提供图片处理能力。它通过标准化的 MCP 协议与客户端通信,提供获取图片尺寸和压缩图片的功能,支持处理远程 URL 图片和本地文件图片。

主要功能点

  • 获取远程图片尺寸:通过 URL 获取网络图片的宽度、高度、类型和 MIME 类型等信息。
  • 获取本地图片尺寸:获取本地图片文件的宽度、高度、类型、MIME 类型和文件路径等信息。
  • 压缩远程图片:使用 TinyPNG API 压缩网络图片,并可转换为 webp, jpeg/jpg, png 格式,返回压缩后的图片信息和临时文件路径。
  • 压缩本地图片:使用 TinyPNG API 压缩本地图片,并可转换为 webp, jpeg/jpg, png 格式,支持指定输出路径,返回压缩后的图片信息和输出文件路径。
  • 支持多种图片格式:支持处理多种常见的图片格式。

安装步骤

  1. 前提条件:确保已安装 Node.js 和 npm (Node.js 包管理器)。
  2. 克隆仓库
    git clone https://github.com/kshern/image-tools-mcp.git
  3. 进入项目目录
    cd image-tools-mcp
  4. 安装依赖
    npm install
  5. 配置 TinyPNG API 密钥
    • 访问 TinyPNG 开发者平台 注册并获取 API Key。
    • 将 API Key 设置为环境变量 'TINIFY_API_KEY'。
      • 在 Linux 或 macOS 系统中,可以在终端执行命令:'export TINIFY_API_KEY=<YOUR_TINIFY_API_KEY>' (将 '<YOUR_TINIFY_API_KEY>' 替换为你的 API Key)。
      • 在 Windows 系统中,需要设置系统环境变量。

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)集成,您需要在客户端的配置文件中添加服务器配置信息。以下是一个示例 JSON 配置,您需要根据实际情况进行配置。

{
  "mcpServers": {
    "image-tools": {  // 服务器名称,客户端用以识别和调用
      "command": "npx", // 启动服务器的命令,这里使用 npx 执行本地 node_modules 中的 image-tools-mcp 命令
      "args": ["image-tools-mcp"], // 命令参数,这里为空
      "env": { // 环境变量
        "TINIFY_API_KEY": "<YOUR_TINIFY_API_KEY>" // TinyPNG API Key,请替换为您的 API Key
      }
    }
  }
}

配置说明

  • 'server name' (image-tools):为该 MCP 服务器自定义的名称,在客户端配置中用于标识和引用此服务器。
  • 'command' (npx):启动服务器进程的命令。'npx' 用于执行本地安装的 npm 包的可执行文件。
  • 'args' (["image-tools-mcp"]):传递给启动命令的参数,此处 'image-tools-mcp' 是 'package.json' 中 'bin' 字段定义的可执行文件名。
  • 'env' (environment variables):启动服务器进程所需的环境变量。 'TINIFY_API_KEY' 用于 TinyPNG API 的密钥,务必替换为您的真实 API Key

基本使用方法

  1. 启动服务器:在项目根目录下,执行命令 'npm start' 或 'node src/index.ts' 启动 MCP 服务器。
  2. 配置 MCP 客户端:根据上述 “服务器配置” 部分,配置您的 MCP 客户端(如 Claude Desktop),确保客户端能够连接到此 MCP 服务器。
  3. 通过 MCP 客户端调用工具
    • 在 MCP 客户端中,您可以向 LLM 发出指令,请求使用 Image Tools MCP Server 提供的功能。例如:
      • 请求获取远程图片尺寸: "请获取这张图片的尺寸:https://example.com/image.jpg"
      • 请求压缩远程图片: "请压缩这张图片:https://example.com/image.jpg"
      • 请求压缩本地图片: "请压缩本地图片:D:/path/to/image.png"
    • 具体的指令格式取决于您使用的 MCP 客户端的实现,但通常可以通过自然语言指令来触发工具的调用。

注意事项

  • 使用图片压缩功能需要配置有效的 TinyPNG API Key。
  • 本地图片路径需要使用绝对路径。
  • 压缩本地图片时,如不指定输出路径,默认会在原文件目录下生成压缩后的文件,文件名会添加 "_compressed" 后缀。

信息

分类

开发者工具