VectorMagic MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VectorMagic MCP Servervectorize D:\logos\client-logo.png as an SVG with low detail"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Why
Vector Magic Desktop Edition is one of the best automatic tracers, but it has no command line and no API — only a wizard GUI. This Model Context Protocol server drives that GUI for you, so you can ask Claude things like:
"Vectorize
D:\logos\client.pngas an EPS with low detail." "Convert every image inD:\scansto SVG with unlimited colours and put them inD:\scans\vector."
It was inspired by ie3jp/illustrator-mcp-server; the result opens directly in Illustrator, Inkscape, CorelDRAW, AutoCAD, etc.
Related MCP server: illustrator-mcp
Features
Input | png, jpg, jpeg, bmp, tif, tiff, gif, psd, jp2, pcx, ppm, pnm, pgm, pbm, tga, jng, mng, xpm |
Vector output | svg, ai, eps, pdf, dxf, emf |
Bitmap output | png, jpg, bmp, tif — re-rendered from the vector result at 1×, 2× or 4× |
Options | level of detail, colour mode, shape layering, strokes, DXF curve mode |
Batch | a list of files or a whole folder in one call |
Feedback | a preview image of the vector result + what Vector Magic detected (image type, detail, colours) |
Safe | never overwrites files, never touches Vector Magic windows you have open, restores your Vector Magic settings after every run, works offline |
Requirements
Windows 10/11
Vector Magic Desktop Edition (tested with 1.15), licensed and activated
Node.js ≥ 20 (bundled with Claude Desktop for
.mcpbinstalls)
Installation
Claude Desktop (recommended)
Download
vectormagic-mcp-server.mcpbfrom the latest release.Double-click it (or drag it onto Claude Desktop → Settings → Extensions) and click Install.
Optional: if Vector Magic is not in
C:\Program Files (x86)\Vector Magic, set the path tovmde.exein the extension settings.
Claude Code / other MCP clients
git clone https://github.com/jhonsu01/VectorMagic-mcp-server.git
cd VectorMagic-mcp-server
npm install
npm run build
claude mcp add vectormagic -- node "%CD%\dist\bundle.cjs"Generic MCP config:
{
"mcpServers": {
"vectormagic": {
"command": "node",
"args": ["C:\\path\\to\\VectorMagic-mcp-server\\dist\\bundle.cjs"],
"env": { "VECTOR_MAGIC_EXE": "C:\\Program Files (x86)\\Vector Magic\\vmde.exe" }
}
}
}Tools
vectorize_image
Parameter | Default | Description |
| — | Absolute path of the image |
| next to the input | Absolute output path; the extension must match |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Outline each shape with a stroke of its colour |
|
|
|
|
|
|
|
| Replace an existing output file |
|
| Return a PNG preview of the result |
|
| Keep the Vector Magic window on screen (debugging) |
Returns the output path, size, elapsed time, a vector_magic_summary such as 400x400 (0.2 megapixel) Basic: Smooth artwork, Medium, 6 colors, and the preview.
vectorize_batch
Same options, plus input_paths (list) or input_dir (non-recursive), and output_dir. One result per image; a failure does not stop the batch.
get_vector_magic_status
Installation path, version, open Vector Magic windows, supported formats and timeouts.
How it works
Claude ──MCP──▶ Node server ──▶ PowerShell engine ──▶ Vector Magic (its own window, off-screen)
│ posted mouse messages (your cursor is never moved)
│ UI Automation (widget names) to know which wizard page is open
│ Windows OCR of the status bar to confirm the settings
└ registry: export options in, your settings restored afterwardsCopies the image to a temporary folder and backs up Vector Magic's settings (
HKCU\Software\Vector Magic).Writes the export options, starts a new
vmde.exeand moves its window off-screen.Runs Fully Automatic, applies the requested detail / colours on the review page, and uses Quick Save (no file dialogs).
Copies the result to the destination, closes its Vector Magic window and restores your settings.
Runs are queued one at a time (Vector Magic keeps a single settings key). A typical logo takes 10–20 s.
Configuration
Variable | Default | |
|
| Path to |
|
| Seconds to open the image |
|
| Seconds per vectorization pass |
|
| Seconds to write the file |
Troubleshooting
"Vector Magic (vmde.exe) not found" — set
VECTOR_MAGIC_EXE(or the extension setting)."Unexpected dialog" — Vector Magic showed a message (activation, very large image…). The error includes a
debug_snapshotPNG in%TEMP%\vectormagic-mcp-debug. Open Vector Magic once by hand to clear it.Timeouts with huge photos — raise
VECTOR_MAGIC_VECTORIZE_TIMEOUT.The
vector_magic_summaryis read by OCR and may miss a letter (e.g.Medo); it is informative only.
Limitations
Windows only; tested with Vector Magic Desktop Edition 1.15 with the Spanish UI. Page detection uses widget names and is language-independent; the OCR check of the detail level knows Spanish, English, German, French and Italian words.
Uses the Fully Automatic pipeline; the Basic/Advanced wizards and manual segmentation editing are not automated (yet).
One conversion at a time.
Privacy
Everything runs locally. The server makes no network requests and sends no telemetry. Images are copied to a temporary folder that is deleted after each run.
Development
npm install
npm run build # tsc + copy PowerShell engine + esbuild bundle
npm test # unit tests (no Vector Magic needed)
npm run test:e2e # real MCP end-to-end test (needs Vector Magic)
npm run pack:mcpb # builds vectormagic-mcp-server.mcpbThe PowerShell engine (src/ps/) must stay pure ASCII: Windows PowerShell 5.1 reads BOM-less scripts in the ANSI code page (a unit test enforces it).
License
MIT. Vector Magic is a trademark of Vector Magic, Inc. This project is not affiliated with or endorsed by Vector Magic, Inc. — you need your own licensed copy of Vector Magic Desktop Edition.
Available Tools
3 toolsget_vector_magic_statusVector Magic statusARead-onlyIdempotent
Check that Vector Magic Desktop Edition is installed and usable: executable path, version, Vector Magic windows already open (the connector never touches them; it starts its own), supported input/output formats and timeouts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the bar is lower. The description adds genuinely useful context beyond that: it clarifies the connector never touches user windows and starts its own, and that timeouts/formats are surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence whose colon-separated list precisely enumerates the checked items; no filler. It is slightly dense as one long clause, but every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by enumerating what the status check reports, which is exactly what an agent needs. It does not say how a negative result is signaled (error vs. field), a minor gap for a diagnostic tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is nothing to document. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Check) plus the resource and the exact things verified: executable path, version, running windows, formats, timeouts. This clearly distinguishes it from the sibling vectorize_image/vectorize_batch tools, which do the actual conversion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is strongly implied — you would run this to verify the desktop app is available before vectorizing — but the description never states when to use it versus the siblings or as a prerequisite/preflight step. No explicit exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vectorize_batchVectorize several imagesA
Vectorize many images in one call with the same options (one Vector Magic run per image, sequentially). Give either input_paths or input_dir (non-recursive; only supported image types are picked). Outputs go to output_dir, or next to each input. Returns one result per image; a failure does not stop the batch.
| Name | Required | Description | Default |
|---|---|---|---|
| colors | No | auto = Vector Magic picks a reduced palette (best for logos and flat artwork). unlimited = keep every colour (photos, gradients). | auto |
| detail | No | Level of detail. auto = what Vector Magic picks (usually high). low gives simpler shapes and smoother curves; high keeps small details. | auto |
| format | No | Output format. Editable vector: svg, ai, eps, pdf, dxf, emf. Bitmap rendered from the vector result: png, jpg, bmp, tif. Default svg. | svg |
| dxf_mode | No | DXF only. splines: lines + bicubic splines (smallest, most faithful). few_lines / many_lines: curves flattened into straight segments for CAD/CNC software that does not read splines. | splines |
| input_dir | No | Absolute folder: every supported image directly inside it is vectorized. | |
| overwrite | No | Replace an existing output file. Without it, files are never overwritten. | |
| output_dir | No | Absolute folder for the results (created if missing). Default: next to each input. | |
| shape_mode | No | How shapes are arranged. stacked: shapes sit on top of each other (easiest to edit, no gaps). adjoining: shapes fit into cut-outs of the shapes below. adjoining_grouped: adjoining and grouped by colour. | stacked |
| input_paths | No | Absolute paths of the images. | |
| show_window | No | Keep the Vector Magic window on screen while it works (debugging). By default it runs off-screen. | |
| bitmap_scale | No | Bitmap formats only: render at 1x, 2x or 4x the original pixel size. | |
| stroke_shapes | No | Outline every shape boundary with a stroke of its own colour (hides hairline gaps in some viewers). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description only needs to add operational context. It usefully discloses sequential execution, output placement, and that one failure does not stop the batch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, front-loaded with the batch behavior and followed by input/output rules. No filler, and each sentence adds operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 fully documented parameters and no output schema, the description still covers the important batch semantics: input selection, output destinations, return shape, and failure isolation. An agent has enough context to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaningful constraints beyond the schema: input_paths and input_dir are mutually exclusive, directory scans are non-recursive, and outputs default to sitting next to each input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: vectorizing many images in one call. The phrase 'one Vector Magic run per image, sequentially' clearly differentiates it from the single-image sibling vectorize_image.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains how to choose inputs ('Give either input_paths or input_dir'), that the directory scan is non-recursive, and that only supported image types are picked. It does not explicitly say when to use this versus vectorize_image, but the batch context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vectorize_imageVectorize imageA
Convert a bitmap image (PNG, JPG, GIF, BMP, TIFF, PSD, TGA...) into an editable vector file with Vector Magic Desktop Edition. Uses Vector Magic's fully automatic mode, then optionally changes the level of detail and colour mode, and writes SVG, AI, EPS, PDF, DXF or EMF (or a re-rendered PNG/JPG/BMP/TIF). Returns the output path, a summary of what Vector Magic detected (image type, detail, number of colours) and a preview image of the vector result. Takes ~10-30 s per image; large photos take longer. Files are never overwritten unless overwrite is true.
| Name | Required | Description | Default |
|---|---|---|---|
| colors | No | auto = Vector Magic picks a reduced palette (best for logos and flat artwork). unlimited = keep every colour (photos, gradients). | auto |
| detail | No | Level of detail. auto = what Vector Magic picks (usually high). low gives simpler shapes and smoother curves; high keeps small details. | auto |
| format | No | Output format. Editable vector: svg, ai, eps, pdf, dxf, emf. Bitmap rendered from the vector result: png, jpg, bmp, tif. Default svg. | svg |
| preview | No | Return a PNG preview of the vector result (as shown by Vector Magic). | |
| dxf_mode | No | DXF only. splines: lines + bicubic splines (smallest, most faithful). few_lines / many_lines: curves flattened into straight segments for CAD/CNC software that does not read splines. | splines |
| overwrite | No | Replace an existing output file. Without it, files are never overwritten. | |
| input_path | Yes | Absolute path of the image to vectorize. | |
| shape_mode | No | How shapes are arranged. stacked: shapes sit on top of each other (easiest to edit, no gaps). adjoining: shapes fit into cut-outs of the shapes below. adjoining_grouped: adjoining and grouped by colour. | stacked |
| output_path | No | Absolute output path. Default: next to the input with the format extension (adds _2, _3... instead of overwriting). | |
| show_window | No | Keep the Vector Magic window on screen while it works (debugging). By default it runs off-screen. | |
| bitmap_scale | No | Bitmap formats only: render at 1x, 2x or 4x the original pixel size. | |
| stroke_shapes | No | Outline every shape boundary with a stroke of its own colour (hides hairline gaps in some viewers). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real behavioral context beyond annotations: per-image runtime (~10-30 s, longer for photos), the non-overwrite guarantee unless 'overwrite' is true, and what the response contains (output path, detected-image summary, preview). It does not cover error/permission behaviors, but the annotations already set the safety profile (non-destructive, non-idempotent) and the description is consistent with them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then layers in behavior and constraints. Dense but every sentence carries information; the format enumeration is the only slightly redundant run-on given the schema already lists formats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 12-parameter tool with no output schema, the description supplies the missing pieces an agent needs: return payload contents, runtime expectations, and overwrite semantics. Error handling and batch-vs-single routing are the only unaddressed gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 12 parameters are already documented with enums and defaults in the schema. The description only gestures at 'level of detail and colour mode' and output formats, adding no syntax or semantics beyond what the schema provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Convert a bitmap image into an editable vector file'), names the backing engine (Vector Magic Desktop Edition), and enumerates accepted inputs and outputs. It does not explicitly distinguish itself from the sibling vectorize_batch, so sibling differentiation is left to the singular 'image' vs 'batch' inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the described workflow (automatic mode, then optional detail/colour adjustments), which is adequate for a single-purpose conversion tool. However, there is no explicit when-to-use guidance, no mention of when to prefer vectorize_batch, and no prerequisites or failure conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.1- First observed
get_vector_magic_status - First observed
vectorize_batch - First observed
vectorize_image
TDQS
Scored across 3 tools
The three tools target clearly distinct operations: single-image conversion, batch conversion, and environment/health status. There is no overlap or plausible misselection between vectorize_image and vectorize_batch since the scope difference (one vs many) is explicit.
All names use snake_case with a verb_noun pattern (vectorize_image, vectorize_batch, get_vector_magic_status). The verbs differ meaningfully but the convention is uniform and predictable.
Three tools is a tight, well-scoped surface for an image-to-vector conversion service: one for a single file, one for batches, one for environment checks. It is slightly lean but each tool clearly earns its place.
The core lifecycle of vectorizing images (single, batch) plus a status/preflight check is covered, and format support is reported via status. Minor gaps like querying or re-rendering prior results without re-running are acceptable workarounds.
Maintenance
Related MCP Connectors
Hosted MCP front door to the Vectorize API: raster-to-vector tracing to SVG, PDF, EPS or DXF.
Convert any image into machine embroidery files (DST, PES…) or vector graphics (SVG, PDF, EPS, DXF).
Generate and vectorize clean, editable SVG graphics from text, images, or both.
- MochifyOAuthapp.mochify
Image and PDF toolkit: convert to AVIF/WebP/JXL, resize, crop, remove backgrounds, optimize PDFs.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to automate Adobe Illustrator, converting bitmap artwork into editable .ai files, running ExtendScript, and capturing the Illustrator window for visual QA.1-
- AlicenseAqualityCmaintenanceEnables AI assistants to control Adobe Illustrator on Windows, including creating, opening, saving, and exporting documents, drawing shapes, adding text, and running arbitrary ExtendScript.101MIT
- FlicenseBqualityCmaintenanceEnables natural language control of Adobe Photoshop and Illustrator via COM automation on Windows, supporting design tasks and batch processing without UXP plugins.30-
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to drive CorelDRAW via COM API, creating and editing documents, replacing text, manipulating shapes, running preflight checks, and batch-exporting production files from natural language instructions.1-