mcpField
M
Mcp Image Optimizer

Mcp Image Optimizer

本地服务
github.com/piephai媒体与设计1153 周前更新

关于 Mcp Image Optimizer

Mcp Image Optimizer 是用于处理 URL 或本地图片的 MCP 服务,支持批量优化,并提供裁剪、加水印、格式转换和图标生成等功能。

主要功能

  1. 01调整尺寸与变换图片
  2. 02批量处理多张图片
  3. 03转换图片格式
  4. 04自动裁剪与智能裁剪
  5. 05生成占位图和水印
  6. 06生成 favicon 文件

适用场景

  1. 01调整本地图片尺寸以用于网页
  2. 02将远程图片转换为 WebP
  3. 03批量优化目录中的图片
  4. 04创建裁剪缩略图和 favicon

MCP 相关

向 MCP 客户端提供图片优化工具,包括单张及批量处理、元数据查询、裁剪、占位图、水印和 favicon 生成。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"image-optimizer": {
"command": "npx",
"args": [
"-y",
"mcp-image-optimizer"
]
}
}
}
启动命令npx -y mcp-image-optimizer

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-image-optimizer

工具

8

收录的工具列表 · 更新于 3 周前

参数类型必填说明
inputstring是输入图像路径或 URL
outputstring是输出文件路径
widthnumber否目标宽度(像素)
heightnumber否目标高度(像素)
qualitynumber否有损格式的质量(1-100)
formatenum否输出格式jpeg | png | webp | avif | tiff
fitenum否调整图像尺寸时的适配方式cover | contain | fill | inside | outside
positionstring否fit 为 cover 或 contain 时的位置(例如,"center"、"top"、"right bottom")
backgroundstring否使用 contain 时的背景颜色(例如,"#ffffff"、"transparent")
rotatenumber否旋转角度(度)
flipboolean否垂直翻转图像
flopboolean否水平翻转图像
grayscaleboolean否转换为灰度
blurnumber否模糊 sigma 值(0.3 到 1000)
sharpenboolean否应用锐化
normalizeboolean否标准化图像对比度

详细介绍

MCP Image Optimizer

用于图像优化的 Model Context Protocol 服务。使用 Sharp 提供的高级转换功能,处理来自 URL 或本地文件的图像。

功能

  • 🖼️ 处理来自 URL 或本地文件的图像
  • 🔄 调整大小、旋转、翻转、模糊、锐化等
  • 📦 批量处理多张图像
  • 🎨 在 JPEG、PNG、WebP、AVIF、TIFF 格式之间转换
  • ✂️ 自动裁剪边框和空白区域
  • 🎯 通过注意力检测进行智能裁剪
  • 🌫️ 生成低质量占位图(LQIP)
  • 💧 添加水印(图像或文本),并提供全面控制
  • 🌟 生成所有所需尺寸和格式的 favicon

安装

在 Claude Code 中安装

运行此命令以添加 MCP 服务:

claude mcp add image-optimizer -- npx -y mcp-image-optimizer

如需了解更多信息,请参阅 Claude Code MCP 文档。

在 Claude Desktop 中安装

将以下内容添加到 Claude Desktop 配置文件:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "image-optimizer": {
      "command": "npx",
      "args": ["mcp-image-optimizer"]
    }
  }
}
在 OpenAI Codex 中安装

将以下配置添加到 OpenAI Codex MCP 服务设置中:

[mcp_servers.image-optimizer]
args = ["-y", "mcp-image-optimizer"]
command = "npx"

如需了解更多信息,请参阅 OpenAI Codex。

在 VSCode 中安装

将以下内容添加到 VS Code 设置中,以用于 Cline 或 Continue 等 MCP 扩展:

{
  "image-optimizer": {
    "command": "npx",
    "args": ["mcp-image-optimizer"]
  }
}
在 Cursor 中安装

前往 Settings → Cursor Settings → MCP → Add new global MCP server

添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "image-optimizer": {
      "command": "npx",
      "args": ["mcp-image-optimizer"]
    }
  }
}
替代方案:全局安装

全局安装以加快启动速度:

npm install -g mcp-image-optimizer

然后在任意客户端中使用以下更简洁的配置:

{
  "command": "mcp-image-optimizer"
}

使用示例

向 AI 助手提出请求:

  • “将 ~/Desktop/photo.jpg 优化为 800px 宽”
  • “将 https://images.pexels.com/photos/32206277/pexels-photo-32206277.jpeg 转换为 WebP”
  • “批量优化 ~/Downloads/ 中的所有图像”
  • “创建一张采用智能裁剪的 200x200 缩略图”
  • “生成用于延迟加载的占位图”
  • “为产品图像添加公司徽标水印”
  • “添加 ‘Copyright 2025’ 文本水印”
  • “根据我的徽标生成所有 favicon 尺寸”

可用工具

optimize_image

调整图片大小、转换格式和变换图片。

示例:

"Optimize image.jpg to 800px width with 85% quality"

参数:

  • input - 图片路径或 URL
  • output - 输出文件路径
  • width - 目标宽度(像素)
  • height - 目标高度(像素)
  • quality - 有损格式的质量,范围为 1-100
  • format - 输出格式(jpeg、png、webp、avif、tiff)
  • fit - 调整大小时的适配模式(cover、contain、fill、inside、outside)
  • 以及旋转、翻转、灰度、模糊、锐化、归一化
batch_optimize

一次处理多张图片。

示例:

"Optimize all images in ~/Pictures/ to 1200px width"

参数:

  • inputs - 图片路径或 URL 数组
  • outputDir - 输出目录
  • width、height、quality、format - 与单张图片的参数相同
  • prefix - 添加到文件名前的内容
  • suffix - 添加到文件名后的内容
get_image_info

提取图片元数据。

示例:

"Get info about image.jpg"

返回:

  • 尺寸、格式、色彩空间
  • 文件大小、DPI
  • 是否存在 EXIF 数据
auto_crop

自动移除边框和空白区域。

示例:

"Auto-crop screenshot.png to remove white borders"

参数:

  • input - 图片路径或 URL
  • output - 输出文件路径
  • threshold - 颜色相似度阈值,范围为 0-100
  • backgroundColor - 要检测的背景色
smart_crop

智能裁剪至指定尺寸。

示例:

"Smart crop portrait.jpg to 500x500 square"

参数:

  • input - 图片路径或 URL
  • output - 输出文件路径
  • width、height - 目标尺寸
  • strategy - "attention" 或 "entropy"
create_placeholder

生成低质量图片占位符,用于延迟加载。

示例:

"Create a blurred placeholder for hero-image.jpg"

参数:

  • input - 图片路径或 URL
  • width - 占位符宽度(默认值:20)
  • height - 占位符高度(未设置时自动确定)
  • quality - JPEG 质量,范围为 1-100(默认值:40)
  • blur - 模糊程度,范围为 0.3-1000(默认值:5)
  • format - "base64"、"datauri" 或 "file"
add_watermark

添加图片或文字水印,并设置位置和样式。

示例:

"Add logo.png as watermark to photo.jpg in bottom-right corner"
"Add 'Copyright 2025' text watermark with 50% opacity"
"Add 'CONFIDENTIAL' diagonally across the document"

参数:

  • input - 图片路径或 URL
  • output - 输出文件路径
  • watermark - 水印图片的路径/URL、base64 数据或文字
  • position - 角落、中心、对角线或平铺图案
  • opacity - 透明度,范围为 0-1
  • scale - 相对于基础图片的大小
  • margin - 与边缘的距离
  • blend - 效果的混合模式
  • 文字选项:text、fontSize、fontColor、fontFamily
generate_favicon

为现代 Web 应用生成各种尺寸和格式的 favicon。

示例:

"Generate favicons from logo.png and save to ./public"
"Create all icon sizes for my PWA"

参数:

  • input - 源图片(建议为 512x512 或更大)
  • outputDir - 保存所有 favicon 文件的目录
  • sizes - 自定义尺寸数组(默认值:所有标准尺寸)
  • platforms - 目标平台:web、apple、android、microsoft、all
  • generateManifest - 为 PWA 创建 manifest.json 代码片段

生成的文件:

  • 各种尺寸的 PNG favicon(16x16 至 512x512)
  • apple-touch-icon.png(180x180)
  • android-chrome-192x192.png、android-chrome-512x512.png
  • mstile-150x150.png(Microsoft 磁贴)
  • favicon-html.txt(可直接使用的 HTML 标签)
  • manifest-icons.json(PWA 配置)

路径支持

  • ✅ URL:https://example.com/image.jpg
  • ✅ 绝对路径:/Users/name/Desktop/image.jpg
  • ✅ 主目录:~/Desktop/image.jpg
  • ⚠️ 相对路径:需配合 cwd 配置项使用

要使用相对路径,请添加工作目录:

{
  "command": "npx",
  "args": ["mcp-image-optimizer"],
  "cwd": "/Users/yourname/Desktop"
}

要求

  • Node.js 22+(npx 会自动处理)
  • 兼容的 MCP 客户端

故障排除

“找不到命令”

  • 确保已安装 Node.js:node --version
  • 尝试全局安装方式

“找不到文件”

  • 使用绝对路径:/Users/name/Desktop/image.jpg
  • 检查文件权限

“MCP 工具不可用”

  • 配置后重启 MCP 客户端
  • 检查配置文件是否为有效的 JSON

许可证

MIT

链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。