Skip to main content

图片批量格式转换 MCP

一个专门用于批量图片格式转换的模型上下文协议(MCP)服务器。

功能特性

  • 批量图片转换:一次性转换多个图片文件到指定格式
  • 支持多种格式:JPEG、PNG、BMP、TIFF、ICO、WEBP、HEIC/HEIF、AVIF
  • SVG 支持:可将 SVG 矢量图转换为位图格式(使用 PyMuPDF,无需系统依赖)
  • 智能文件管理:
    • 自动创建输出文件夹
    • 智能文件命名(避免重复)
    • 跳过已经是目标格式的文件
  • ICO 优化:为 ICO 格式自动生成多分辨率图标
  • 质量控制:支持自定义输出质量和优化选项

安装

使用 uv(推荐)

cd /Users/fjc/Desktop/项目/skills/图片/图片-格式转换
uv pip install -e .

使用 pip

cd /Users/fjc/Desktop/项目/skills/图片/图片-格式转换
pip install -e .

配置

在 MCP 客户端配置文件中添加以下内容:

{
  "mcpServers": {
    "图片批量格式转换": {
      "command": "python",
      "args": [
        "-m",
        "image_batch_converter"
      ],
      "cwd": "/Users/fjc/Desktop/项目/skills/图片/图片-格式转换",
      "env": {}
    }
  }
}

或使用 uvx(如果已发布到 PyPI):

{
  "mcpServers": {
    "图片批量格式转换": {
      "command": "uvx",
      "args": ["image-batch-converter"],
      "env": {}
    }
  }
}

可用工具

batch_convert_images

批量转换图片文件列表为指定格式。

参数:

  • input_files (list, 必需) - 图片文件路径列表
  • target_format (str, 必需) - 目标格式:jpeg, png, webp, heic, avif, bmp, tiff, ico
  • ico_sizes (list, 可选) - ICO 图标尺寸列表,例如 [16, 32, 48, 64, 128, 256]。默认使用智能尺寸选择
  • dpi (int, 可选) - SVG 转换时的 DPI,默认 300
  • svg_backend (str, 可选) - SVG 渲染后端,默认 'auto'(使用 PyMuPDF)
  • quality (int, 可选) - 输出质量 (1-100),仅用于 JPEG/WEBP/HEIF/AVIF,默认使用格式默认值
  • optimize (bool, 可选) - 是否优化文件大小,默认 True

返回:

成功时返回转换结果摘要,包括:

  • 成功转换的文件数量
  • 输出文件夹路径
  • 跳过的文件(如果有)
  • 警告信息(如果有)

失败时返回详细错误信息,包括:

  • 转换成功的文件列表
  • 转换失败的文件列表
  • 错误详情

支持的格式

输入格式

  • JPEG (.jpg, .jpeg)
  • PNG (.png)
  • BMP (.bmp)
  • TIFF (.tif, .tiff)
  • ICO (.ico)
  • WEBP (.webp)
  • HEIC/HEIF (.heic, .heif)
  • AVIF (.avif)
  • SVG (.svg) - 仅作为输入格式

输出格式

  • JPEG (.jpg)
  • PNG (.png)
  • BMP (.bmp)
  • TIFF (.tif)
  • ICO (.ico)
  • WEBP (.webp)
  • HEIC/HEIF (.heic)
  • AVIF (.avif)

使用示例

示例 1:批量转换 PNG 为 JPEG

将以下文件转换为 JPEG 格式:
- /path/to/image1.png
- /path/to/image2.png
- /path/to/image3.png

MCP 将:

  1. 在第一个文件所在目录创建 "Converted Images" 文件夹
  2. 转换所有 PNG 文件为 JPEG
  3. 返回转换结果摘要

示例 2:转换为高质量 WEBP

将以下文件转换为 WEBP 格式,质量设为 95:
- /path/to/photo1.jpg
- /path/to/photo2.jpg
参数:quality=95

示例 3:SVG 转 PNG(高分辨率)

将以下 SVG 文件转换为 PNG,DPI 设为 600:
- /path/to/logo.svg
- /path/to/icon.svg
参数:dpi=600

示例 4:创建多尺寸 ICO 图标

将图片转换为 ICO 格式,包含多个尺寸:
- /path/to/icon.png
参数:ico_sizes=[16, 32, 48, 64, 128, 256]

工作原理

  1. 验证输入:检查所有文件是否存在且可访问
  2. 格式检测:自动检测输入文件格式
  3. 跳过重复:如果文件已经是目标格式,自动跳过
  4. 创建输出文件夹:在第一个文件所在目录创建 "Converted Images" 文件夹(如果已存在则添加数字后缀)
  5. 批量转换:逐个转换图片,并处理以下特殊情况:
    • JPEG:自动移除透明通道
    • ICO:生成多分辨率图标
    • SVG:使用 PyMuPDF 渲染为位图
  6. 错误处理:记录失败的文件,但继续处理其他文件
  7. 返回结果:提供详细的转换结果摘要

系统要求

  • Python 3.10+
  • Pillow (PIL) - 核心图片处理库
  • pillow-heif - HEIC/HEIF/AVIF 支持
  • PyMuPDF - SVG 转换和 PDF 支持
  • mcp - Model Context Protocol SDK

许可证

MIT License

更新日志

版本 1.0.0

  • 初始版本
  • 从 image-format-converter-mcp 提取批量转换功能
  • 支持 9 种输出格式
  • 支持 SVG 输入格式
  • 智能文件管理和错误处理

Metadata

Release files for mcpcn-image-batch-converter 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcpcn-image-batch-converter 1.0.0
File Size Uploaded
mcpcn_image_batch_converter-1.0.0.tar.gz 12.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcpcn-image-batch-converter 1.0.0
File Interpreter ABI Platform
mcpcn_image_batch_converter-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.5 kB

Release files / mcpcn_image_batch_converter-1.0.0.tar.gz

Download URL mcpcn_image_batch_converter-1.0.0.tar.gz
Size 12.7 kB
Tags Source
SHA-256 checksum
How to use checksums
cf12fd62ae9ad1361339e24dfa3580d0ee955ce3a98f54d2d15f37b35263e7f7
BLAKE2b-256 checksum
How to use checksums
fc66be511f7843b91c2a92f44f82aaa98c776ba8be76034d41610dedf7f5e0f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.16

Release files / mcpcn_image_batch_converter-1.0.0-py3-none-any.whl

Download URL mcpcn_image_batch_converter-1.0.0-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
15e3fca6fb2edd91802dfe66fb453c22f50e1acb06c5911dbd5e8fdf7c5fb35d
BLAKE2b-256 checksum
How to use checksums
8e44ed91da9480a7f14747df64e5bff25c71ed34b795861b0d5350b0afebd53a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.16

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page