使用说明
image2svg mcp
将光栅图像(PNG、JPG、WEBP)转换为可缩放SVG矢量图形的MCP服务器。
特性
- 接受图像为 base64编码数据 或 统一资源定位符
- 支持PNG、JPG、JPEG、WEBP、TIFF和其他常见光栅格式
- 完全控制矢量化参数(颜色精度、散斑滤波、跟踪模式等)
- 手柄
data:image/...;base64,URI前缀自动 - 流URL下载大小限制为5 MB
- 可选的
file://本地图像的URL支持(通过选择加入--allow-local-files-path)
用法
要查看它的运行情况,请检查 在线将图像转换为svg.
克劳德代码和克劳德桌面
添加到您的 settings.json:
{
"mcpServers": {
"image2svg": {
"command": "uvx",
"args": ["image2svg-mcp"]
}
}
}
为了 克劳德代码 使用命令行添加:
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
码头工人
作为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被拒绝。
示例提示
以下是一些您可以告诉LLM使用此工具做什么的示例:
1.简单的图像到SVG转换
生成山上日落的图像,然后将其转换为SVG。
LLM将生成光栅图像,然后使用 convert_image_to_svg 使用默认设置的工具生成干净的矢量版本。
2.具有特定参数的微调转换
创建一个内部有蓝色圆圈和白色星星的徽标。现在使用二进制颜色模式将其转换为SVG,以获得清晰的边缘,并将filter_speckle设置为10以去除噪声。
这使用 colormode: "binary" 用于黑白线条艺术风格输出,非常适合徽标和图标。更高 filter_speckle 值会删除小工件。
3.以极简风格从URL转换
将此图像转换为颜色精度低的简化SVG,以获得极简主义海报外观:https://example.com/photo.png
使用 color_precision: 3 大大减少了颜色的数量,产生了艺术性的后验矢量效果。非常适合风格化的插图。
4.直接转换base64图像
将此base64图像转换为SVG:iVBORw0KGgoAAAANSUhEUgABAOAKAKAYAAACMs+9AAAAO0lEQVR4nGP8z8Dwn4EIwESMIqwKGRn+MzBisYQJXRE2NopCbKYgi5Huxv8MjBiSyGJMuCTQNTJSPRwBCjYOD5JU5rIAAAAASUORK5CYII=
这是一个10x10的红色方块,在中间有一个蓝色圆圈。对于使用内联图像数据测试工具很有用——不需要URL。
工具参数
| 参数 | 类型 | 默认值 | 范围 | 描述 |
|---|---|---|---|---|
image_base64 |
string | - | - | Base64编码的图像数据。提供此OR image_url. |
image_url |
string | - | - | 从中获取图像的URL(http://, https://,或 file:// 启用时)。提供此OR image_base64. |
colormode |
字符串 | "color" |
color, binary |
全彩或黑白线条艺术 |
mode |
字符串 | "spline" |
spline, polygon, none |
跟踪模式:平滑曲线、直边或像素完美 |
filter_speckle |
int | 4 |
0-128 | 去除N像素或更少的斑点 |
color_precision |
int | 6 |
1-12 | 颜色量化比特。更低=颜色更少,SVG更简单 |
layer_difference |
int | 16 |
0-128 | 合并层的色差 |
corner_threshold |
int | 60 |
0-180 | 角点检测的角度阈值(度) |
length_threshold |
浮子 | 4.0 |
3.5-10.0 | 最小路径段长度 |
splice_threshold |
int | 45 |
0-180 | 拼接样条的角度阈值 |
path_precision |
int | 8 |
1-12 | SVG坐标的小数精度 |
hierarchical |
字符串 | "stacked" |
stacked, cutout |
图层排列方式 |
max_iterations |
int | 10 |
1-100 | 最大曲线拟合迭代次数 |
发展
安装
git clone https://github.com/botmonster/image2svg-mcp.git
cd image2svg-mcp
uv sync
运行测试
uv run pytest tests/ -v
运行MCP检查器
uv run fastmcp dev inspector src/image2svg_mcp/server.py:mcp
许可证
Apache 2.0-请参阅 许可证