mcpField
I
Image to SVG

Image to SVG

本地服务
botmonster.com媒体与设计1116 周前更新

关于 Image to SVG

这是一个将栅格图像转换为可缩放 SVG 图形的 MCP 服务。它支持图像数据或 URL,并可调整描摹、颜色处理和输出细节。

主要功能

  1. 01将栅格图像转换为 SVG
  2. 02接受 Base64 数据或图像 URL
  3. 03支持常见栅格格式
  4. 04调整颜色与描摹设置
  5. 05可选访问本地文件

适用场景

  1. 01将徽标矢量化以便缩放使用
  2. 02把 URL 图像转换为 SVG
  3. 03通过降低颜色精度制作简化图像

MCP 相关

向 MCP 客户端提供图像转 SVG 工具,输入可为 Base64 图像数据或 URL,并支持配置矢量化参数。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"botmonster-image2svg": {
"command": "uvx",
"args": [
"image2svg-mcp"
]
}
}
}
启动命令uvx image2svg-mcp

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

安装包
pypiimage2svg-mcp1.0.1

工具

1

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

参数类型必填说明
modestring否描摹模式:'spline'(平滑曲线)、'polygon'(直边)或 'none'(像素级精确)
colormodestring否颜色模式:'color' 表示全彩,'binary' 表示黑白线稿
image_urlany否要从中获取图像的 URL(PNG、JPG 或 WEBP)。请提供此项或 image_base64,不能同时提供。
hierarchicalstring否图层排列方式:'stacked'(重叠)或 'cutout'(不重叠)
image_base64any否Base64 编码的图像数据(PNG、JPG 或 WEBP)。请提供此项或 image_url,不能同时提供。
filter_speckleinteger否移除不超过此像素数的斑点。数值越高,图像越干净,但小细节会丢失。默认值:4。
max_iterationsinteger否曲线拟合的最大迭代次数。数值越高,精度越高,但速度越慢。默认值为 10。
path_precisioninteger否SVG 路径坐标的小数精度。数值越低,文件越小。默认值为 8。
color_precisioninteger否颜色量化的有效位数。数值越低,颜色越少,SVG 越简单。默认值为 6。
corner_thresholdinteger否用于检测拐角的角度阈值,单位为度。默认值为 60。
layer_differenceinteger否合并图层的颜色差异阈值。数值越高,图层越少,SVG 越简单。默认值为 16。
length_thresholdnumber否路径线段的最小长度。默认值为 4.0。
splice_thresholdinteger否拼接样条曲线的角度阈值。默认值为 45。

详细介绍

image2svg-mcp

PyPI Docker License Tests

一个可将栅格图像(PNG、JPG、WEBP)转换为可缩放 SVG 矢量图形的 MCP 服务。

功能

  • 接受 base64 编码数据或URL形式的图像
  • 支持 PNG、JPG、JPEG、WEBP、TIFF 和其他常见栅格格式
  • 完全控制矢量化参数(颜色精度、斑点过滤、描摹模式等)
  • 自动处理 data:image/...;base64, URI 前缀
  • 以流式方式下载 URL,大小上限为 5 MB
  • 可选支持用于本地图像的 file:// URL(通过 --allow-local-files-path 启用)

用法

要查看实际效果,请访问在线将图像转换为 SVG。

Claude Code 和 Claude Desktop

添加到你的 settings.json:

{
  "mcpServers": {
    "image2svg": {
      "command": "uvx",
      "args": ["image2svg-mcp"]
    }
  }
}

对于 Claude Code,通过命令行添加:

claude mcp add image2svg --scope user -- uvx image2svg-mcp

启用本地文件访问:

claude mcp add image2svg --scope user -- uvx image2svg-mcp --allow-local-files-path /home/user/images
Docker

作为 HTTP 服务运行:

docker run -p 8000:8000 ghcr.io/botmonster/image2svg-mcp

启用本地文件访问:

docker run -p 8000:8000 -v /home/user/images:/images ghcr.io/botmonster/image2svg-mcp --allow-local-files-path /images
claude mcp add image2svg --transport http --scope user http://localhost:8000/mcp

这样便可以使用如下提示词:

将此本地文件转换为 SVG:file://logo.png

只能访问指定目录及其子目录中的文件。路径会经过规范化处理,以防止目录遍历。未使用此标志时,将拒绝 file:// URL。

提示词示例

以下是一些你可以让大模型使用此工具执行的操作示例:

1. 将图像简单转换为 SVG

生成一张山间日落的图像,然后将其转换为 SVG。

大模型会生成栅格图像,然后使用 convert_image_to_svg 工具的默认设置,生成简洁的矢量版本。

2. 使用特定参数精细调整转换

创建一个徽标,里面有一个蓝色圆形,圆形内有一颗白色星星。然后使用二值 colormode 将其转换为 SVG,以获得清晰的边缘,并将 filter_speckle 设置为 10,以去除噪点。

此示例使用 colormode: "binary" 生成黑白线稿风格的输出,非常适合徽标和图标。较高的 filter_speckle 值可以去除小瑕疵。

3. 从 URL 转换为简约风格

将此图像转换为简化的 SVG,并降低颜色精度,以呈现简约海报风格:https://example.com/photo.png

使用 color_precision: 3 可大幅减少颜色数量,生成艺术化的海报化矢量效果,非常适合风格化插画。

4. 直接转换 base64 图像

将此 base64 图像转换为 SVG:iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAO0lEQVR4nGP8z8Dwn4EIwESMIqwKGRn+MzBisYQJXRE2NopCbKYgi5Huxv8MjBiSyGJMuCTQNTJSPRwBCjYOD5JU5rIAAAAASUVORK5CYII=

这是一张 10x10 的红色方块图像,中央有一个蓝色圆形。适合使用内嵌图像数据测试工具,无需 URL。

工具参数

参数类型默认值范围描述
image_base64string--Base64 编码的图像数据。请提供此参数或 image_url。
image_urlstring--获取图像的 URL(http://、https://,或启用时使用 file://)。请提供此参数或 image_base64。
colormodestring"color"color、binary全彩或黑白线稿
modestring"spline"spline、polygon、none描摹模式:平滑曲线、直线边缘或像素级精确描摹
filter_speckleint40-128移除尺寸不超过 N 个像素的杂点
color_precisionint61-12颜色量化位数。数值越低,颜色越少,SVG 越简单
layer_differenceint160-128合并图层的颜色差异阈值
corner_thresholdint600-180检测角点的角度阈值(度)
length_thresholdfloat4.03.5-10.0路径段的最小长度
splice_thresholdint450-180拼接样条曲线的角度阈值
path_precisionint81-12SVG 坐标的小数精度
hierarchicalstring"stacked"stacked、cutout图层排列模式
max_iterationsint101-100曲线拟合的最大迭代次数

开发

安装
git clone https://github.com/botmonster/image2svg-mcp.git
cd image2svg-mcp
uv sync
运行测试
uv run pytest tests/ -v
运行 MCP Inspector
uv run fastmcp dev inspector src/image2svg_mcp/server.py:mcp

许可证

Apache 2.0 - 参见 LICENSE

评论

支持 Markdown

第一次接触 MCP?

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

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