MCP Hub
Back to servers

Sketch MCP Server

Provides a collaborative SVG canvas that allows Claude to create, read, and manipulate graphics in real-time through a browser-based Fabric.js editor. It enables seamless bidirectional interaction between the AI and user for visual tasks like UI prototyping, diagramming, and template management.

Updated
Mar 1, 2026

Sketch MCP Server

Collaborative SVG canvas for Claude Code. Claude writes/reads SVG via MCP tools; you edit in a Fabric.js browser editor. Changes sync in real-time via WebSocket.

Architecture

Claude Code <--stdio/MCP--> Node.js Server <--WebSocket--> Browser Editor(s)
                            (Express + WS)                  (Fabric.js)

Install

git clone https://github.com/glebis/sketch-mcp-server.git
cd sketch-mcp-server
npm install
npm run build

Add to your Claude Code MCP config (~/.claude/settings.json or project .mcp.json):

{
  "mcpServers": {
    "sketch-mcp-server": {
      "command": "node",
      "args": ["/path/to/sketch-mcp-server/dist/index.js", "--stdio"]
    }
  }
}

MCP Tools

ToolDescription
sketch_open_canvasCreate/open a named canvas, launches browser window
sketch_get_svgRead current SVG (base64 images truncated at 25KB)
sketch_set_svgReplace entire canvas SVG
sketch_add_elementAdd SVG fragment without clearing existing content
sketch_add_textboxAdd fixed-width text area with word wrapping
sketch_lock_objectsLock all objects (non-selectable, non-movable)
sketch_unlock_objectsUnlock all objects
sketch_save_templateSave canvas as JSON template
sketch_load_templateLoad JSON template into canvas
sketch_list_templatesList saved templates
sketch_clear_canvasClear canvas to blank
sketch_focus_canvasBring canvas window to foreground
sketch_list_canvasesList active canvas sessions
sketch_close_canvasClose canvas and browser window

Editor Features

  • Toolbar: Select, draw (freehand), shapes (rect, ellipse, triangle, line, arrow), text
  • Text tool: Click for free-width IText, drag for fixed-width Textbox with word wrap
  • Undo/redo: Ctrl+Z / Ctrl+Shift+Z
  • Delete: Backspace/Delete key
  • Clipboard: Paste images and SVG from clipboard
  • Real-time sync: All MCP tool calls update the browser instantly

Templates

Templates save the full Fabric.js canvas state as JSON, preserving Textbox widths, lock states, and all object properties.

# Build a layout, lock structure, add editable areas, save
sketch_open_canvas -> sketch_add_element -> sketch_lock_objects -> sketch_add_textbox -> sketch_save_template

# Reuse on a new canvas
sketch_open_canvas -> sketch_load_template

Included template: before-after -- 3-column grid (Before | Product/Audience | After) with editable text areas.

Development

npm run build    # type-check + vite (editor) + bun (server)
npm run dev      # build + run
npm start        # run built server

Port is OS-assigned (port 0), logged to stderr on startup.

License

MIT

Reviews

No reviews yet

Sign in to write a review