Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

botmonster/image2svg-mcp MCP server](https://glama.ai/mcp/servers/botmonster/image2svg-mcp/badges/score.svg)](https://glama.ai/mcp/servers/botmonster/image2svg-mcp) 🐍 🏠 🍎 πŸͺŸ 🐧 - Convert raster images (PNG/JPG/WEBP/TIFF) to SVG vector format.

README.md

<!-- mcp-name: io.github.botmonster/image2svg-mcp -->

image2svg-mcp

![PyPI](https://pypi.org/project/image2svg-mcp/) ![Docker](https://github.com/botmonster/image2svg-mcp/actions/workflows/docker.yml) ![License](LICENSE) ![Tests](https://github.com/botmonster/image2svg-mcp/actions/workflows/tests.yml)

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: ``bash claude mcp add image2svg --scope user -- uvx image2svg-mcp ` with access to local files: `bash 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

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Vector & Memory servers.