SVG and vector editing MCP servers for AI agents, local and hosted: 9 compared

To let an AI agent edit an existing SVG by element id on your own machine with no account, use Inkbolt (one executable, with saved revisions, undo and PNG previews the agent can see) or an Inkscape MCP server (sandraschi/inkscape-mcp or aravindev/inkscape_mcp, with Inkscape installed); for AI-generated artwork use SVGMaker MCP (an account and credits), and to trace images into SVG use image2svg-mcp. We make Inkbolt: on 18 October 2026 we compared nine SVG and vector MCP tools, measuring Inkbolt over MCP in six runs on Windows and reading the other eight from their source code and docs without running them. The catch with Inkbolt: it imports the SVG into its own document and writes new markup on export, and it won't import text until you supply a font file; the Inkscape servers edit the file's XML directly. In all six runs (the 0.82.0 release and main), importing an SVG, recolouring one shape and moving another by id, resending the edit, undoing it and publishing SVG and PNG gave byte-identical files run to run on each build; the strict import refused an unsupported blur filter with its line and column, a publish over an existing file was refused, and the source SVG was unchanged. Method, sources and data are below.

We make Inkbolt. Read this as a vendor's page: our own numbers come from runs you can repeat, and everything about the other tools links to where we read it. If we got something wrong, open an issue and we will correct it.

Last checked: 18 October 2026 (UK time) · Inkbolt measured as the 0.82.0 release download (Windows x64 archive, its SHA-256 checked against the release's SHA256SUMS) and as main at f189cc3 (26 commits later), built from source · Next check by 17 November 2026, or sooner when one of these tools releases.

The short answer

Side by side

Inkbolt's column is measured or taken from its own docs, and says which. The other columns are from each project's README, docs and source at the commit named under Sources, or from its own web pages, read on 18 October 2026, not run by us. Tool counts for the others are counted in their source.

InkboltSVGMaker MCPinkscape-mcp (sandraschi)inkscape_mcp (aravindev)image2svg-mcpsvg-maker-mcpEditItAll MCPLayerBack MCPIllustrator MCP (slashprint)
What it is A local graphics engine: editable vector and raster documents in saved sessions A client for SVGMaker's hosted AI: generate, prompt-edit and vectorise A toolbox over the Inkscape command line and the SVG's XML, one file per call An editor over Inkscape: file operations, or the document open in Inkscape A tracer: one raster image in, SVG text out Utilities for SVG text the agent writes: render, optimise, format, convert to React A bridge to a closed web suite (PDF, sheets, images); one tool imports SVG text A client for a hosted service that rebuilds diagram images as editable files A bridge to Adobe Illustrator: typed helpers plus free-form ExtendScript
What you need One executable: Windows x64 (33 MB, no runtime to install; measured), Linux x64 or macOS Apple silicon archives, or the Windows MCPB bundle Node.js 20.9+ Python 3.12+ and Inkscape installed for most operations Python 3.12+ and Inkscape; Linux or Windows (live mode on Windows also needs a D-Bus daemon) Python 3.12+ (uvx image2svg-mcp), or Docker Node.js and the cloned repository (run with tsx) Node.js 22+ and Chrome, Edge, Chromium or Brave Node.js 18+ Adobe Illustrator installed and running, on Windows or macOS; Python 3.12+
Network at run time None: its docs say it has no network service, and remote resources in an SVG are refused Every tool except the local preview calls SVGMaker's API: local input files are uploaded, image URLs you pass are handed to the API, which fetches them, and results are downloaded from SVGMaker's servers A metrics HTTP server on port 9074 on all network interfaces, on by default when prometheus-client is installed (its start script installs it); on request, downloads from inkscape.org's extension gallery, posts to other local MCP servers and queries local Ollama or LM Studio None found in its code (on Windows, live mode runs a D-Bus daemon on a local TCP port) Fetches any http or https URL you pass None found in its code Loads its editors from edititall.com on every run Uploads each image to layerback.com None found in its code
Account or API key None Yes: an API key (local) or an SVGMaker account (hosted server) None None None None None Yes: an API key from a LayerBack account None in the server; an Adobe subscription for Illustrator
Open an existing SVG and keep it editable Yes: imported into an editable document; unsupported content is refused with its line and column, or omitted and reported when asked (measured). Text needs a font you import and bind first No document: svgmaker_edit sends the image and a prompt and gets back a new AI-made SVG Yes, file by file: each call reads the SVG and writes a file Yes: file by file, or as the document open in Inkscape No: input must be a raster image No: the agent passes SVG text with each call SVG text opens in the web editor for the session; no vector export No: input is a diagram image Yes: opens .svg, .ai, .pdf or .eps as an Illustrator document
Change one element by id Yes: typed operations on item ids, with each source id mapped to an item id (measured) No Yes: attributes by object id, restyling by CSS-like selector Yes: object ids in file operations; id or XPath edits in live mode No No No No Move and align by item name or index; anything else through a script
Create shapes and text Yes: shapes, paths, text (with a font file you supply), images, layers, artboards (docs) Only by AI generation from a prompt Yes: one primitive per new file, plus gradients, symbols and text on paths Yes, including inserting SVG fragments into the open document No No: the agent writes the SVG No No Through scripts
Raster (pixel) editing Yes: brushes, adjustments, selections, masks and repair (its docs and operation schema; not part of this test) No pixel tools; AI background removal (returns SVG) and prompt edits that can return a PNG No (bitmap tracing via Inkscape) No (bitmap tracing via Inkscape) No No Compress, convert and resize only No No
Preview the agent can see Yes: a PNG returned in the MCP reply (measured) Yes: local PNG preview in the reply PNG files on disk only PNG files on disk only No Yes: PNG in the reply A screenshot of the editor page A preview PNG downloaded to a file Yes: an artboard PNG in the reply; view is a full-screen screenshot
Undo and saved revisions Yes: saved sessions, undo, resent requests return their original receipt and stale revisions are refused (measured); redo (docs) No undo; past generations are kept in your SVGMaker account None Inkscape's own undo per edit in live mode; none for file operations None (stateless) None (stateless) None; state ends with the process None None exposed
Output SVG and PNG measured; JPEG, TIFF, PDF and others in its publish schema SVG, optimised SVG, SVGZ, PNG, WebP PDF, EPS, PS, SVG, PNG, WMF, EMF, XAML and DXF via Inkscape (its code also accepts AI and CDR) PDF, EPS, PS, SVG, PNG, WMF, EMF, XAML and DXF via Inkscape, and JPEG, WebP and AVIF via Pillow (its code also accepts AI and CDR) SVG text in the reply; writes no files SVG, optimised SVG, React and React Native components, data URIs; PNG only in the reply No vector output; PNG, JPEG, WebP, AVIF, JPEG XL, QOI for images VSDX, PPTX, draw.io, SVG, a JSON intermediate form, preview PNG .ai and .pdf; other formats through scripts
Existing files Never overwritten: publishing to an existing name was refused, and the source was unchanged (measured) Output paths are written over without a check Edits write back to the input file unless you give an output path Outputs are written over; live mode saves the open document after every edit Writes no files Saving writes over an existing file, anywhere the process can write Exports are written over without a check Downloads are written over without a check Save As has no existence check
Licence, stars, last push (18 Oct 2026) MIT · 1 · 18 Oct 2026 (0.82.0 released 16 Oct) MIT (the client; the service is closed) · 88 · 13 Aug 2026 MIT · 88 · 12 Oct 2026 MIT · 79 · 5 Oct 2026 Apache-2.0 · 9 · 9 Jul 2026 No licence file (ISC in package.json) · 0 · 4 Jan 2026 MIT for the bridge; the editors are closed · 0 · 31 Aug 2026 MIT (the client) · 1 · 5 Aug 2026 No licence · 3 · 29 Apr 2026
MCP tools 22 in its documented core catalogue (96 with --tools full) (measured) 17 (18 names across its two transports) 19, with about 110 operations 8, with 108 operations 1 10 18 (1 for vectors) 3 28

What we measured on Inkbolt

One editing task, run over MCP the way an agent runs it, on Windows 11 (x64), with the documented launch command inkbolt --workspace <new folder> mcp --tools core. The client is a small Python MCP stdio client. The probe script, the input SVG and every result file are in data/.

  1. The input: an original 240 × 120 SVG diagram made for this test: two rounded rectangles with ids input (filled with a linear gradient) and output, a curved connector link, an arrowhead arrow, and a circle glow blurred by an SVG <filter>. We took its SHA-256 before the server started.
  2. Strict import (the default): refused with SVG_UNSUPPORTED, "Geometry <filter> is not supported", at line 8, column 5.
  3. Import with unsupported: "omit_and_report": four editable shapes under a root group. The reply listed two omissions (the filter, and the circle that used it, each with its line and column), two approximations (each rounded rectangle's corners became cubic curves, with a maximum radial error of 0.000034 units) and six plain-language notes on what import changes. Each source id maps to a new item id (output → svg-2) and stays as the item's name.
  4. One atomic edit in a saved session: recolour output to #2e8b57 and move input 10 units down, giving revision 1.
  5. The same request resent with the same request_id: the original receipt came back, and the session stayed at revision 1.
  6. Preview: a 240 × 120 PNG returned as an MCP image in the reply, so the agent sees the result without writing a file. Its pixels match the published PNG's.
  7. Publish: revision 0 as SVG before the edit, then revision 1 as SVG and PNG. Publishing revision 1 again to the same file name was refused with OUTPUT_EXISTS ("Existing files are never overwritten"), and the existing file's hash didn't change.
  8. Undo gave revision 2. Its published SVG was byte-identical to the SVG published before the edit.
  9. A stale edit (expected revision 0 while the session was at 2) was refused with REVISION_CONFLICT.
  10. The source SVG had the same SHA-256 after the run.

We ran the task three times on each build, each time in a new empty folder:

0.82.0 release (Windows x64 download)main at f189cc3 (built from source)
Steps 2 to 10 as described3 of 3 runs3 of 3 runs
Published SVG files, run to runByte-identicalByte-identical, and identical to 0.82.0's
Published PNG, run to runByte-identicalByte-identical; the file bytes differ from 0.82.0's (main writes PNGs in bands), the decoded pixels are identical
MCP calls per run, and reply bytes16 calls, 103,525 bytes16 calls, 103,497 bytes (replies include the workspace path; with paths of equal length both builds send the same number of bytes)
Sum of the 16 round trips80 to 84 ms81 to 84 ms
Core tool catalogue22 tools in 3 pages, 85,134 bytes22 tools in 3 pages, 86,185 bytes

Two more checks on 0.82.0: the same SVG with a <text> label and no font supplied was refused with SVG_FONT_NOT_BOUND at the text's line and column, even with omit_and_report; and the full catalogue (--tools full) lists 96 tools in 12 pages totalling 4,046,021 bytes, which is why the docs launch the core catalogue.

To repeat it: download the release archive, then run python -I inkbolt_probe.py <path to inkbolt.exe> <path of a folder that doesn't exist yet> diagram.svg out.json with the files in data/ (Python 3, standard library only); the probe creates the folder. Your timings and reply byte counts (which include the folder path) will differ; the outcomes and the SVG hashes should match ours.

Each tool, and when to choose it over Inkbolt

SVGMaker MCP

GenWaveLLC/svgmaker-mcp (npm @genwave/svgmaker-mcp 2.1.0) is a TypeScript client for SVGMaker's hosted AI service, and ranked for two of our three searches. Run locally, it exits unless SVGMAKER_API_KEY is set; the hosted server at mcp.svgmaker.io signs you in with an SVGMaker account instead. It advertises 17 tools on each transport: generate an SVG from a prompt, "edit" (send an image or SVG with a prompt and receive a new AI-made SVG, not an element-level change), convert a raster image to SVG with AI, remove a background, manage your past generations and a public gallery, and, run locally, preview a local file as PNG (the hosted server swaps that tool for an upload tool). Generate, edit and convert run on SVGMaker's servers, and local input files are uploaded. The client sets a default limit of 2 requests a minute (SVGMAKER_RATE_LIMIT_RPM raises it); SVGMaker's API documentation lists 5 requests a minute for generate and edit, and credits per call (generate 1 to 3, edit 2 to 5, AI vectorise 1, background removal 1). Downloading past generations needs a paid account. New accounts get 6 free credits, then a daily top-up to 3, and free-plan generations are public. Its pricing page didn't show plan prices when we read it, so we can't quote them.

Choose it when you want new artwork from a text description, or an AI conversion of a photo or logo, and you accept an account, credits and uploading your images. Choose Inkbolt when the agent must make exact changes to a specific drawing, such as one colour or one position, and check, retry or undo them offline.

inkscape-mcp (sandraschi)

sandraschi/inkscape-mcp (MIT, 88 stars) is a Python server over the Inkscape command line and the SVG's XML. Its source registers 19 tools that each take an operation, about 110 operations in all (its docs say 17 tools and 60+ operations): attribute edits by object id, restyling by CSS-like selector, path and boolean operations, layers, gradients, text on paths, animation, bitmap tracing, and conversion to PDF, EPS, PS, PNG, WMF, EMF, XAML and DXF (its code also accepts AI and CDR). Its editing calls work on files: XML edits write back to the input file unless you name an output, previews are PNG files on disk, and there is no session or undo. Some tools generate SVG with your MCP client's own model (the client must support MCP sampling). Most operations need Inkscape installed; its by-id XML edits don't. By default it also starts a Prometheus metrics server on port 9074; it can search inkscape.org's extension gallery and install extensions from it (verified ones only by default), send actions to a running Inkscape window, and post to other local MCP servers (Blender, Unity, GIMP). A configured list of allowed folders exists, but nothing in the code enforces it.

Choose it when you use Inkscape already and want a broad set of Inkscape operations (about 110) plus its extras: AI generation through your MCP client, the inkscape.org extension gallery and links to other local MCP servers. Choose Inkbolt when you want no desktop app to install, revisions with undo and safe retries, and outputs that never replace your files.

inkscape_mcp (aravindev)

aravindev/inkscape_mcp (MIT, 79 stars, PyPI inkscape-mcp 1.3.1) is a declared fork of sandraschi's server, retargeted at Linux and Windows. It has 8 tools with 108 operations in two modes. Headless, it runs the Inkscape command line or edits the XML of a file, with object ids checked against each operation's scope. Live, it drives a running Inkscape over D-Bus (and on Windows launches one): it can edit the open document by id or XPath, insert SVG fragments, and each edit becomes one step in Inkscape's own undo. Live mode saves the document after every change unless you set INKSCAPE_MCP_AUTO_SAVE=0, and one operation runs arbitrary Python inside Inkscape. Previews are PNG files on disk. On start it installs its own extensions into your Inkscape profile when they are missing or a different version. We found no network calls in its code.

Choose it when you want to watch the drawing change in Inkscape and undo there, or need Inkscape's extensions and formats. Choose Inkbolt for headless runs with no GUI app on the machine, previews the agent sees in its reply, revisions it can retry and diff, and raster editing in the same tool.

image2svg-mcp

botmonster/image2svg-mcp (Apache-2.0, PyPI 1.0.1) has one tool, convert_image_to_svg, which traces a raster image with vtracer and returns SVG text, with vtracer's settings (colour or binary, spline or polygon curves, speckle filter, precision). It takes a base64 image or a URL, writes no files, needs no key, and reads local files only from a folder you allow at launch. It will fetch any http or https URL it is given.

Choose it to turn a logo, icon or photo into smooth SVG curves, free and locally. Choose Inkbolt to edit the result afterwards. Inkbolt also traces (image.trace), but it follows pixel edges exactly, with no smooth curve fitting, which suits pixel art and flat icons rather than photos.

svg-maker-mcp

erkamkavak/svg-maker-mcp has 10 tools for SVG text that the agent writes itself: render it to a PNG the agent sees, optimise it with SVGO, format and validate it, read its metadata, and convert it to React or React Native components or a data URI, plus one prompt for designing an icon. It keeps no document and reads no files; saving writes a file anywhere the process can write, over any existing one. The repository has no licence file (its package.json says ISC), and its README's launch command doesn't set MCP_RUN_LOCAL=true, which the code needs before it starts the stdio server.

Choose it when the agent hand-writes SVG and wants a quick render, SVGO and React output in one place. Choose Inkbolt when it should work on a document rather than retype SVG text on every change.

EditItAll MCP

Subcue/edititall-mcp (npm @edititall/mcp 0.2.1) starts a headless Chrome, Edge, Chromium or Brave and loads EditItAll's closed-source web editors from edititall.com, then drives them with 18 tools for spreadsheets, PDFs, Word documents, slides and images. For vectors there is one tool: it opens SVG text in the web vector editor, and another tool takes a screenshot of the editor page. There is no tool to edit an element or to export a vector file. Its README says files are processed on your device; the editors that do the work aren't in the repository, so we couldn't check that.

Choose it for PDF, spreadsheet and image compression or conversion jobs from one server. Choose Inkbolt to edit vector shapes and export the result as a file.

LayerBack MCP

TopLocalAI/layerback-mcp (npm layerback-mcp 0.1.2) uploads a diagram image (PNG, JPEG or WebP) to LayerBack's hosted service, which rebuilds it as editable VSDX, PPTX, draw.io or SVG. It has 3 tools and needs an API key. Each conversion through the API, which the MCP uses, costs 10 credits and includes every format (on LayerBack's website, downloading or editing a conversion costs 10 credits). Plans are US$20, $40 and $80 a month for 1,000, 3,000 and 10,000 credits (half that billed yearly). Its API docs list 20 conversions an hour per account (the top plan advertises higher limits); its README says uploads are deleted within 72 hours, while its API docs say results are kept for at least 72 hours.

Choose it to turn a screenshot of a diagram into an editable Visio, PowerPoint or draw.io file. Choose Inkbolt to draw or edit the diagram itself.

Illustrator MCP bridges

The "Illustrator MCP Server" on Glama is slashprint/illustrator-mcp, an extended copy of krVatsal/illustrator-mcp (165 stars). slashprint's source registers 28 tools (its README and Glama's page describe 5 to 7): run any ExtendScript in a running Illustrator through COM on Windows or AppleScript on macOS, open and save documents, render an artboard as a PNG in the reply, position and align items by name, fonts and layout helpers, and design checks. Its view tool brings Illustrator to the front and screenshots the whole screen, including other windows. The playbooks.com entry (its page returned 404 on 18 October) pointed to AnshulDalua/illustrator-mcp, a macOS-only copy of spencerhhubert/illustrator-mcp-server with two tools. None of these four repositories has a licence.

Choose one when your artwork and workflow are in Illustrator and you have it installed. Choose Inkbolt when you want typed, checked edits instead of scripts, nothing on your screen, and a tool licensed for reuse.

Inkbolt's limits

Also in the results, and two that are gone

Method

Sources

All read on 18 October 2026, at the commit shown.