Copy your link
The connector link above is tied to this tab and stays valid across reloads.
Model Context Protocol
Connect Claude Desktop, Claude Code, or any MCP client and design by conversation — draw, edit, transform, and export straight from the live canvas.
Setup
…
Unique to this editor tab. Paste it into Claude → Settings → Connectors → Add custom connector. Keep this tab open — it's your canvas.
The connector link above is tied to this tab and stays valid across reloads.
Claude → Settings → Connectors → Add custom connector → paste the link → Add. No sign-in, no OAuth.
Ask Claude to draw — it appears here live. No terminal, no install, no config file.
Add vectorly to your MCP client's config.
{
"mcpServers": {
"vectorly": {
"command": "/absolute/path/to/node",
"args": ["/path/to/vectorly/mcp/server.js"],
"env": { "VECTORLY_BRIDGE_TOKEN": "choose-a-token" }
}
}
}
{
"mcpServers": {
"vectorly": {
"command": "./mcp/run.sh",
"env": { "VECTORLY_BRIDGE_TOKEN": "choose-a-token" }
}
}
}
Desktop use an absolute path to Node ≥ 18 — GUI apps don't see your shell's nvm. mcp/run.sh resolves one for you.
Claude Desktop: fully quit (⌘Q) and reopen — “vectorly” appears under Connectors. Claude Code: reconnect it with /mcp.
Open Vectorly with your token in the URL — the tab dials the server and this page's status turns live.
http://localhost:5173/?bridge=YOUR_TOKEN
Match the ?bridge= token must equal VECTORLY_BRIDGE_TOKEN. Add &unsafe-eval only if you want the JS escape hatch.
Capabilities
25 tools across the whole editor surface — grouped below.
draw_shaperect · ellipse · line · polygon · star · text · pathimport_svgplace any SVG artget_svgexport the artboard as SVGupdate_shapefill, stroke, geometry, text…replace_shapeswap markup, keep iddelete_shapesoffset_pathoutline_stroketransform_shapesmove · rotate · scalerepeat_opradial · grid · mirrorextrude_3drun_commandgroup, z-order, morelist_shapesget_shapeget_selectionset_selectionids · all · noneget_documentset_documentundoredoexport_pngthe agent sees the canvasexport_jpgstatuslist_commandseval_jsgated escape hatchArchitecture
A local Node server speaks MCP over stdio to your client and forwards each tool call to the running editor over a localhost WebSocket. Every mutating tool is exactly one undo step, so ⌘Z cleanly reverts an agent's action.
Security
The bridge binds to 127.0.0.1 — unreachable from other machines.
Every connection presents a token (timing-safe compare); it never touches the MCP channel.
Only a localhost page may connect — no drive-by from a random site.
Inert without ?bridge= — the bridge code isn't even loaded. eval_js needs a second flag.
FAQ
?bridge=, the token doesn't match VECTORLY_BRIDGE_TOKEN, or two servers are fighting over the port. Call the status tool — it names the fix.PATH, so point command at an absolute path to Node ≥ 18, or use mcp/run.sh.undo, or press ⌘Z in the editor.The canvas updates live as you change settings. Re-open from the right-click menu to edit again, or Expand to bake the copies.
Multiple files download together as a .zip.