WorksImages, video and designCode and development
SVG Lab
SVG Lab MCP: the Design Engine for AI. App screens, icons, illustrations and charts as SVG.
https://svglab.app/mcp/agentsclaude mcp add --transport http svglab https://svglab.app/mcp/agentsFor Cursor and other clients
{
"mcpServers": {
"svglab": {
"type": "http",
"url": "https://svglab.app/mcp/agents"
}
}
}Watch out
Has tools that change things: 44 of them
The server itself marks these tools as deleting or overwriting data (destructiveHint): have the agent ask you before it calls them.
- Test
- Works: Handshake succeeded
- Tools
- 90 tools
- Handshake
- 1.8 s
- Transport
- streamable-http · 2025-06-18
- Tested
- 6 November 2026
- Registry name
app.svglab/svglabv0.1.3- Listed
- 18 October 2026
- Updated
- 18 October 2026
- Website
- svglab.app/mcp-server
The last 1 tests
| When | Result | Time |
|---|---|---|
| 2026-11-06 12:11 UTC | Handshake succeeded | 1.8 s |
The 90 tools it listed
"Read only" and "Changes data" are the server's own marks. Underlined parameters are required.
account_statusRead onlyCheck account access
Report the plan, access, SVG Lab credits left and what actions cost.
add_artboardAdd artboard
Add a screen, slide, page or post (preset sizes it). What a control opens (dropdown, filter, menu) is add_hidden_ui.
widthheightxynamebackgroundshow_backgroundpresettoneadd_hidden_uiAdd hidden UI
Use when a control opens hidden UI: adds a sized, linked dropdown, side, sheet, dialog or state board beside its screen.
screentriggerkindtonameheightadd_textureAdd texture
Add hatch, stipple, facet or strata marks clipped to a shape of a drawing on its "Drawing · <illustration>" board. On a screen the marks are refused as a picture drawn onto it.
shape_idkindanglespacingjitterseedcolorwidthopacitycoverageinknamealignChanges dataAlign shapes
Align shapes to a shared edge or centre.
shape_idsmodealign_to_artboardChanges dataAlign to artboard
Position shapes relative to their artboard.
shape_idshorizontalverticalapply_layout_fixesChanges dataApply layout alignment fixes
Move misaligned layout children to their suggested positions.
targetartboardgroupshape_idsmin_font_sizeignore_pairscontainmentbind_slotChanges dataBind artwork to a layout slot
Fit artwork into a layout slot and keep it bound to it.
shape_idslayout_idpathmodeclipdetachboolean_opChanges dataCombine shapes
Union, subtract, intersect or exclude shapes into one new path.
opshape_idscheck_contactsRead onlyCheck part contacts
Measure whether parts touch what they belong to.
pairsattachmentstoleranceartboarddisplay_widthcheck_contrastRead onlyCheck colour contrast
Compute WCAG contrast between two colours.
foregroundbackgroundtargetfont_sizefont_weightclip_shapesChanges dataClip shapes
Clip or mask shapes with another shape.
target_idsclip_idas_maskclip_to_artboardChanges dataClip to artboard
Clip shapes that cross their artboard's frame.
artboardshape_idsinclude_clippedcompare_drawingRead onlyCompare drawing with picked image
Measure your drawing against the picked image: overlay, difference map, pixels off and the shape misses left; candidates score edits before you send them. measure reads the picked image itself (a gridded crop, colour samples, colour runs).
artboardreference_idregionregionscandidatesignoremeasurecreate_iconCreate icon
Draw a built-in monoline icon (docs {components} names them).
iconxysizecolorstroke_widthartboardnamecreate_layoutCreate layout
Build a screen or section from a layout tree; returns boxes, ids and measured warnings. With a shell (Claude Code): write the fields to a JSON file, curl it to the upload link new_project gave and pass only upload_id, so the user approves a short call.
verboseartboardxywidthheightrootupload_idcreate_pathCreate path
Draw one path from anchors with optional absolute handles. With a shell (Claude Code): write the fields to a JSON file, curl it to the upload link new_project gave and pass only upload_id, so the user approves a short call.
namestyleopacitystyle_refartboardpointsclosedmirrorfill_handlescorner_anglesmoothtensionsubpathsupload_idcreate_shapesCreate shapes in one batch
Draw up to 80 shapes, text, paths and pencil strokes in one call; illustrations are copied from a reference. With a shell (Claude Code): write the fields to a JSON file, curl it to the upload link new_project gave and pass only upload_id, so the user approves a short call.
shapesartboardupload_idcurrent_projectRead onlyShow current project
Show the current project and its link.
define_stylesChanges dataDefine style presets
Define named style presets. With a shell (Claude Code): write the fields to a JSON file, curl it to the upload link new_project gave and pass only upload_id, so the user approves a short call.
stylesupload_iddelete_shapesChanges dataDelete shapes
Delete shapes.
shape_idsdescribe_documentRead onlyDescribe document
Describe the artboards and shapes.
artboardname_containsidslimitoffsetdesign_tokensChanges dataSet design tokens
Change the project's design tokens. With a shell (Claude Code): write the fields to a JSON file, curl it to the upload link new_project gave and pass only upload_id, so the user approves a short call.
presetresetsetuser_named_fontsimageryupload_iddetach_symbolChanges dataDetach symbol instance
Turn one symbol instance into editable shapes.
shape_iddistributeChanges dataDistribute shapes
Space three or more shapes evenly.
shape_idsaxisdocsRead onlyRead the reference
SVG Lab's reference: start-here, each tool's full details, design guides and the illustration routine. docs {fonts} lists the type catalog; docs {components} lists the components, icons and layout node types.
tooltoolsguideguideslessonlessonsqueryskillreferencefontscomponentsdraw_svgChanges dataDraw SVG drawing
Upload the SVG you wrote by hand of the picked image onto its drawing artboard, with differences: every difference you still see, however small ([] at shape_misses 0). Auto-traced SVG (potrace, vtracer, colour quantising, any script that turns pixels into paths) is refused. With a shell (Claude Code): curl the .svg to the upload link new_project gave and pass upload_id instead of svg, so the user approves a short call.
artboardsvgupload_idnamereference_iddifferencesvariantduplicateDuplicate shapes
Copy shapes in place or at an offset.
shape_idsoffsetedit_pathChanges dataEdit path
Change a path's anchors and handles in place. With a shell (Claude Code): write the fields to a JSON file, curl it to the upload link new_project gave and pass only upload_id, so the user approves a short call.
shape_idcoordinate_spaceartboardsubpath_indexmove_pointsset_handlesinsert_pointdelete_pointset_pointsset_tangentset_tensionclosedsmoothtensionupload_idexport_artboardExport artboard
Export an artboard as SVG, with a preview card and a link to a PNG picture.
artboardoutline_textbackgroundpartexport_idexport_codeExport code
Export screens as code (HTML, React, SwiftUI, Compose, Flutter) or layered SVG, with tokens and assets, as a ZIP link.
formatartboardsfileexport_documentExport the deck or document
The finished deck or document by link: PDF, editable PowerPoint (pptx) or post images.
formatartboardsfile_namefind_referencesRead onlyFind drawing references
SVG Lab's reference pictures for one planned illustration (illustration, query): Creative Commons first, each with its licence, no stock-agency previews; candidates are for you only.
querystylecountillustrationfit_artboardChanges dataFit artboard to artwork
Fit the active artboard to the artwork on it, plus optional padding.
paddingfit_to_boxChanges dataFit shapes into box
Scale and move shapes together into a box; placing an illustration removes its drawing board.
shape_idsxywidthheightmodeartboardfit_to_childrenChanges dataFit container to content
Resize a container to wrap its children.
container_idchild_idspaddingflipChanges dataFlip shapes
Flip shapes horizontally or vertically.
shape_idsaxisgenerate_illustrationDraw with SVG Lab's vector model
Draw a planned illustration with SVG Lab's vector model: editable SVG from a text brief, the faster route (500 credits).
illustrationpromptartboardget_assetsRead onlyGet asset files
Get drawings and icons as SVG or PNG files by asset id or artboard; a ZIP link for many.
artboardassetsformatscalesgroupChanges dataGroup shapes
Group shapes.
shape_idsartboardnameillustration_jobsRead onlyVector drawing progress
Progress of drawings by SVG Lab's vector model: status, seconds, group_id once placed.
inspect_layoutRead onlyInspect layout
Measure overlap, overflow and alignment; changes nothing.
targetartboardgroupshape_idsmin_font_sizeignore_pairscontainmentinspect_pathRead onlyInspect path
Read a path's anchors, handles and construction issues.
shape_idauditdisplay_widthcornerspreviewsubpath_indexanchor_indicescropmax_sizebackgroundlist_artboardsRead onlyList artboards
List the artboards.
list_design_stylesRead onlyList style presets
List style presets.
list_layoutsRead onlyList layouts
List this project's layouts.
list_projectsRead onlyList projects
List the user's projects.
list_shapesRead onlyList shapes
List shapes with ids, boxes and stacking order.
artboardgroupname_containslimitoffsetalllist_symbolsRead onlyList symbols
List the symbols.
lookRead onlyLook at an artboard
Render an artboard with measured facts, or compare a region with a reference.
artboardartboardsflowbefore_afterregionscalecritiquebriefreference_idreference_regioninspect_shapemake_responsiveShow on other phones
Show a phone screen on other phones and foldables, reflowed, on new artboards.
artboarddevicessizesmake_symbolChanges dataMake symbol
Turn shapes into a reusable symbol.
shape_idsnamemeasure_optical_centerRead onlyMeasure optical centre
Report the optical-centre correction without moving anything.
shape_idscontainer_idaxismeasure_textRead onlyMeasure text
Measure how text wraps and renders, without drawing it.
opacitycontentfont_sizefont_familyfont_weightfont_styletext_anchorvertical_anchorletter_spacingline_heightmax_widthmirrorChanges dataMirror shapes
Make a mirrored copy, or join a half outline with its reflection.
joinsnapshape_idsaxisatgapartboardmergename_groupChanges dataName group
Name a group.
groupnamenew_projectNew project
Start a project: kind "ui" (apps, sites) or "marketing" (decks, pitch decks, posters, ads, posts, flyers, reports).
nameimagerykindfrom_projectplanningnormalize_radiiChanges dataMatch corner radii
Give rectangles one corner radius.
shape_idsradiusnormalize_spacingChanges dataEven out spacing
Set one equal gap between shapes.
shape_idsaxisgapoffset_pathOffset path
Draw a new path at a set distance outside or inside a path.
shape_iddistanceopen_projectOpen project
Open a saved project.
project_idoptical_centerChanges dataOptically centre icon
Move an icon so its visual centre sits on its container's centre.
shape_idscontainer_idaxispause_editorPause the server editor
Save and close the server editor.
pencilDraw pencil stroke
Draw a freehand stroke the way the Pencil tool does. With a shell (Claude Code): write the fields to a JSON file, curl it to the upload link new_project gave and pass only upload_id, so the user approves a short call.
namestyleopacitystyle_refartboardpointsclosedwobblewobble_unitsinkupload_idplace_imagePlace image
Place a photograph in a box.
data_urlurlphotoxywidthheightfitcorner_radiusscrimartboardnameplace_symbolPlace symbol
Place an instance of a symbol.
symbol_idnamexyplan_illustrationsChanges dataPlan illustrations
List the illustrations each screen needs (none, one or several); the reply gives per_screen and the routes for the user to approve.
illustrationsread_screenRead onlyRead screen structure
Read a screen's layout tree, sizing, text, paint, taps, asset ids and tokens, to build it in code.
artboardnodemax_nodesreorderChanges dataChange stacking order
Change stacking order.
shape_idsmodereference_idrepeatChanges dataRepeat shapes
Copy shapes into a row, grid or circle.
shape_idsmodecountaxisgapcolumnsrow_gapartboardradiuscenter_xcenter_yrotateresizeChanges dataResize shapes
Set the exact width or height of shapes.
shape_idswidthheightanchorresolve_overflowChanges dataPull shapes inside frame
Move shapes back inside a frame.
shape_idsartboardcontainer_idpaddingshrinkscatterScatter shapes
Place many seeded copies of one item inside an area.
regioncountitemseedsize_jitterrotation_jittermin_distanceavoid_idsartboardnamesearch_photosRead onlySearch stock photos
Search Unsplash and Pexels for photographs; nothing is placed.
queryorientationsourcelimitpreviewset_active_artboardSwitch active artboard
Make an artboard the active one.
artboardset_artboardChanges dataEdit artboard
Resize, move, rename, recolour or delete an artboard; notes holds a slide's speaker notes.
artboardwidthheightxynamebackgroundshow_backgroundnotestonemove_contentdeleteset_filterChanges dataSet blur or shadow
Set blur, soft shadows and opacity, or clear them.
shape_idsblurshadowshadowsopacityregionartboardset_gradientChanges dataSet gradient fill
Paint fill or stroke with a linear or radial gradient.
shape_idstypestopsanglefocal_xfocal_ytargetunitsspreadcoordinatesdef_idartboardset_lockedChanges dataLock or unlock shapes
Lock or unlock shapes.
shape_idslockedset_patternChanges dataSet pattern fill
Fill shapes with a built-in pattern.
shape_idspatterncolorset_reference_imageLoad reference image
Load the find_references picture picked for a planned illustration (or the user's own picture as data_url); the reply shows it. Not in the design.
illustrationcandidatedata_urlnameset_styleChanges dataSet style
Change fill, stroke, caps, joins, taper or opacity.
shape_idsfillstrokestroke_widthstroke_linecapstroke_linejoinstroke_taperstroke_taper_amountopacityset_textChanges dataEdit text
Change text content or typography.
shape_idscontentfont_sizefont_familyfont_weightfont_styleletter_spacingline_heighttext_anchorsmooth_pathChanges dataSmooth path
Fill missing handles, refit curves, or turn a stroke into ink.
shape_idmodeprotectcornersdisplay_widthsplit_extrematolerancecorner_angletensionsubpath_indexinksnap_to_gridChanges dataSnap to grid
Snap shapes to a grid.
shape_idsas_unitgridsizeartboardtext_on_pathChanges dataPut text on a path
Set a text shape along a path.
text_idpath_idoffsetsideflippedtransformChanges dataMove, scale or rotate
Move, scale or rotate shapes.
shape_idsdxdyscalerotateungroupChanges dataUngroup shapes
Break groups into their shapes.
shape_idsupdate_layoutChanges dataUpdate layout
Patch or replace a layout made by create_layout. With a shell (Claude Code): write the fields to a JSON file, curl it to the upload link new_project gave and pass only upload_id, so the user approves a short call.
layout_idverbosepatchesrootxywidthheightupload_idupload_assetChanges dataUpload image or file
Place the user's own image or SVG file.
urldata_urlasset_idasxywidthheightfitcorner_radiusscrimartboardnamepurposeshape_idstile_size
Is this yours?
Claim it to hear the moment it breaks, correct this page and add your own ways to use it.
A test is the handshake and the tool list: no tool was called. Names and descriptions are as listed by whoever registered the server; we haven't checked them.