Image to SVG
MCP server that converts raster images (PNG/JPG/WEBP) to SVG vector format
Que pouvez-vous faire avec Image to SVG ?
- Accepts images as base64-encoded data or URL
- Supports PNG, JPG, JPEG, WEBP, TIFF, and other common raster formats
- Full control over vectorization parameters (color precision, speckle filtering, tracing mode, etc.)
- Handles
data:image/...;base64,URI prefixes automatically - Streams URL downloads with a 5 MB size limit
- Optional
file://URL support for local images (opt-in via--allow-local-files-path)
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
image2svg-mcpclaude mcp add image-to-svg -- uvx image2svg-mcp==1.0.1
{
"mcpServers": {
"image-to-svg": {
"command": "uvx",
"args": [
"image2svg-mcp==1.0.1"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
image2svg-mcp
An MCP server that converts raster images (PNG, JPG, WEBP) to scalable SVG vector graphics.
Features
- Accepts images as base64-encoded data or URL
- Supports PNG, JPG, JPEG, WEBP, TIFF, and other common raster formats
- Full control over vectorization parameters (color precision, speckle filtering, tracing mode, etc.)
- Handles
data:image/...;base64,URI prefixes automatically - Streams URL downloads with a 5 MB size limit
- Optional
file://URL support for local images (opt-in via--allow-local-files-path)
Usage
To see it in action check converting image to svg online.
Claude Code & Claude Desktop
Add to your settings.json:
{
"mcpServers": {
"image2svg": {
"command": "uvx",
"args": ["image2svg-mcp"]
}
}
}
for Claude Code add using command line:
claude mcp add image2svg --scope user -- uvx image2svg-mcp
with access to local files:
claude mcp add image2svg --scope user -- uvx image2svg-mcp --allow-local-files-path /home/user/images
Docker
Run as an HTTP server:
docker run -p 8000:8000 ghcr.io/botmonster/image2svg-mcp
With local file access:
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
This enables prompts like:
Convert this local file to SVG: file://logo.png
Only files inside the specified directory (and its subdirectories) are accessible. Paths are normalized to prevent directory traversal. Without this flag, file:// URLs are rejected.
Example Prompts
Here are some examples of what you can tell an LLM to do with this tool:
1. Simple image-to-SVG conversion
Generate an image of a sunset over mountains, then convert it to SVG.
The LLM will generate a raster image and then use the convert_image_to_svg tool with default settings to produce a clean vector version.
2. Fine-tuned conversion with specific parameters
Create a logo with a blue circle and a white star inside it. Now convert it to SVG using binary colormode for crisp edges and set filter_speckle to 10 to remove noise.
This uses colormode: "binary" for black/white line art style output, which works great for logos and icons. The higher filter_speckle value removes small artifacts.
3. Convert from URL with minimalist style
Convert this image to a simplified SVG with low color precision for a minimalist poster look: https://example.com/photo.png
Using color_precision: 3 reduces the number of colors dramatically, producing an artistic posterized vector effect. Great for stylized illustrations.
4. Convert a base64 image directly
Convert this base64 image to SVG: iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAO0lEQVR4nGP8z8Dwn4EIwESMIqwKGRn+MzBisYQJXRE2NopCbKYgi5Huxv8MjBiSyGJMuCTQNTJSPRwBCjYOD5JU5rIAAAAASUVORK5CYII=
This is a 10x10 red square with a blue circle in the middle. Useful for testing the tool with inline image data — no URL needed.
Tool Parameters
| Parameter | Type | Default | Range | Description |
|---|---|---|---|---|
image_base64 | string | - | - | Base64-encoded image data. Provide this OR image_url. |
image_url | string | - | - | URL to fetch the image from (http://, https://, or file:// when enabled). Provide this OR image_base64. |
colormode | string | "color" | color, binary | Full color or black/white line art |
mode | string | "spline" | spline, polygon, none | Tracing mode: smooth curves, straight edges, or pixel-perfect |
filter_speckle | int | 4 | 0-128 | Remove speckles of N pixels or fewer |
color_precision | int | 6 | 1-12 | Color quantization bits. Lower = fewer colors, simpler SVG |
layer_difference | int | 16 | 0-128 | Color difference for merging layers |
corner_threshold | int | 60 | 0-180 | Angle threshold for corner detection (degrees) |
length_threshold | float | 4.0 | 3.5-10.0 | Minimum path segment length |
splice_threshold | int | 45 | 0-180 | Angle threshold for splicing splines |
path_precision | int | 8 | 1-12 | Decimal precision for SVG coordinates |
hierarchical | string | "stacked" | stacked, cutout | Layer arrangement mode |
max_iterations | int | 10 | 1-100 | Max curve fitting iterations |
Development
Installation
git clone https://github.com/botmonster/image2svg-mcp.git
cd image2svg-mcp
uv sync
Run tests
uv run pytest tests/ -v
Run the MCP Inspector
uv run fastmcp dev inspector src/image2svg_mcp/server.py:mcp
License
Apache 2.0 - see LICENSE
Questions fréquentes
Qu'est-ce que Image to SVG ?
MCP server that converts raster images (PNG/JPG/WEBP) to SVG vector format
Comment installer Image to SVG ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add image-to-svg -- uvx image2svg-mcp==1.0.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Image to SVG ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
Image to SVG est-il open source ?
Oui. Son code est sur GitHub sous licence Apache-2.0.
Qui maintient Image to SVG ?
Il est publié par botmonster. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.