image2svg mcp
 ](https://github.com/botmonster/image2svg-mcp/actions/workflows/docker.yml)  
将光栅图像(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-请参阅 许可证
