Skip to main content
Glama
code-and-crypto

inkscape-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
INKSCAPE_BINNoPath to the Inkscape binary. Optional; the server checks PATH and usual install locations if not set.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
path_booleanA

Boolean path ops: union, difference, intersection, exclusion, division, cut. Uses the correct path-* action names, inserts object-to-path automatically (booleans silently no-op on / without it), and chains pairwise for more than two objects (Inkscape only combines two at a time).

path_convertC

Convert paths and shapes: object-to-path, stroke-to-path, text-to-path, combine, break-apart, simplify, flatten, fracture, to-guides, to-marker, to-pattern. Set with kind.

path_geometryA

Computed path geometry: offset/inset (Inkscape's one real headless gap), fillet, chamfer, powerstroke, taper, mirror, radial-repeat. Semantics read from Inkscape's own source so results match the GUI.

path_effectB

The 8 live path effects with no other headless route: sketch, rough_hatches, spiro, bspline, dynastroke, lattice, knot, vonkoch. Parameters and defaults taken from Inkscape's lpe-*.cpp. operation: list | apply.

object_transformB

Move, scale, rotate, grow and flip objects. Real geometry, headless.

object_styleA

Set ANY XML attribute or CSS property on a selection (object-set-attribute / object-set-property). No other Inkscape MCP server exposes this.

object_arrangeC

Align, distribute, remove overlaps, and raise/lower in the stacking order.

object_cloneB

Tiled clones as real links (like Inkscape's own), and duplicate. Neither exists as an Inkscape action at all.

object_filterC

Inkscape's 212 PRESET FILTERS - the whole Filters menu: bevels, metal, jelly, glass, textures, shadows, glows, distortion. operation: list | menus | apply.

object_composeC

Compose objects: text on path, flow text into a shape, clones, clip and mask (including Power Clip), group/ungroup, trace bitmap, fill-between-paths.

object_queryA

Real bounding boxes for every object, via Inkscape's --query-all. Use this to discover the object ids in a document before acting on them.

document_editA

Document structure. area: layers | gradient | pages | nodes | fonts | canvas. Layers, gradients (linear/radial/MESH), multi-page, node-level path editing, font enumeration, and canvas geometry (info, fit-to-drawing, resize, set-viewbox, set-units). Inkscape's 24 layer-* actions are all window-scoped, so this is the only headless route.

svg_optimizeA

REAL SVG optimisation: prune unreferenced defs, strip inkscape:/sodipodi:/RDF cruft, drop empty groups, round coordinates, remove default style properties, minify. Done in Python because Inkscape's own vacuum-defs is a VERIFIED silent no-op headlessly and document-cleanup is window-scoped. Reports bytes saved.

svg_validateA

SVG quality assurance. operation: validate | viewbox | stroke_fill | size_limits | audit_web | audit_pack (a whole directory). Paint detection reads style= AND presentation attributes AND inherited paint, so Inkscape-authored files are not falsely reported as empty.

svg_analyzeB

Document analysis. operation: statistics | structure | dimensions | quality | full. The quality score runs 11 weighted checks and explains every deduction with the tool call that fixes it.

svg_animateB

SMIL and CSS animation applied to objects ALREADY IN THE DOCUMENT, by id. operation: list_presets | apply_preset | animate | transform | motion | color | css. 12 presets, 7 easing curves, motion along any path in the document. Inkscape has no animation action of any kind.

export_fileA

Export to PNG, SVG, PDF, PS or EPS with full control: dpi, size, margin, area, background, text-to-path, compression. Verifies the output exists and is non-empty, because Inkscape exits 0 on an empty export.

export_batchA

Batch export. operation='layers-to-files' writes every Inkscape layer to its own file; operation='multi-dpi' writes one document at several DPIs. Reports per-item success so one bad layer does not hide the rest.

export_previewA

Render to PNG and RETURN THE IMAGE, so the calling model sees its own work. A chain that 'succeeds' and produces a blank canvas is obvious in a picture and invisible in a JSON payload.

action_runA

Run any raw Inkscape action chain. Checks scope first and explains precisely why an action failed: window-scoped, a dead registry entry, or a genuine typo.

action_findA

Search the action registry extracted from the Inkscape source: name, scope (app = headless, win = GUI only), source file, parameter type. 348 actions, of which 130 are window-scoped and can never work headlessly.

extension_runA

Run any of the 157 bundled Inkscape EXTENSIONS headlessly - Pattern along Path, Envelope, Perspective, Jitter Nodes, gears, QR codes, isometric grids, Hershey text. operation: list | describe | run. Calling these as Inkscape actions silently does nothing; this runs the .inx scripts properly.

server_infoA

Server health and self-check. operation: status | version | config | diagnostics | selftest | help. selftest round-trips a real document through both Inkscape and the pure-Python path. Run this FIRST when anything behaves oddly.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/code-and-crypto/inkscape-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server