Sponsored by Deepsite.site

Excalidraw Mcp

Created By
maaker-ai8 days ago
Generate 25+ diagram types (flowchart, sequence, ER, mindmap, architecture, class, state, timeline, pie/bar/line chart, radar, kanban, wireframe, org chart, and more) as Excalidraw files with natural language. Features CJK support, 30+ tech brand colors, Sugiyama auto-layout, and one-line install via uvx.
Overview

excalidraw-mcp

Generate 20+ types of beautiful hand-drawn diagrams with AI — flowcharts, sequence, architecture, mind maps, ER, class, state, timeline, pie charts, kanban, wireframes, and more — with Sugiyama hierarchical layout, CJK support, and zero learning curve.

By Maaker.AI

Install

claude mcp add excalidraw -- uvx maaker-excalidraw-mcp

Claude Desktop

Add to your MCP config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "excalidraw": {
      "command": "uvx",
      "args": ["maaker-excalidraw-mcp"]
    }
  }
}

pip

pip install maaker-excalidraw-mcp

Tools

ToolDescription
create_flowchartFlowcharts with Sugiyama layout — branches, merges, cycles, groups
create_architecture_diagramLayered architecture diagrams with connections
create_sequence_diagramUML sequence diagrams with lifelines and messages
create_class_diagramUML class diagrams with attributes, methods, relationships
create_state_diagramUML state machines with initial/final states
create_er_diagramEntity-Relationship diagrams with cardinality
create_mindmapTree-style mind maps with auto-colored branches
create_timelineTimeline/Gantt charts with overlapping event handling
create_pie_chartPie charts with labeled slices and percentages
create_kanban_boardKanban boards with columns and cards
create_network_diagramNetwork topology with typed nodes (server, DB, etc.)
create_quadrant_chart2x2 priority/positioning matrices
create_user_journeyUser journey maps with emotion indicators
create_wireframeUI wireframe mockups with device frames
create_org_chartOrganizational charts (top-down hierarchy)
create_swot_analysisSWOT analysis 2x2 color-coded matrices
import_mermaidImport Mermaid syntax (flowchart, sequence, class)
list_diagram_typesList all available diagram types
modify_diagramAdd/remove nodes and connections in existing diagrams
read_diagramAnalyze existing .excalidraw files
export_to_svgExport diagrams to SVG format

Quick Examples

Flowchart

Just tell your AI assistant:

"Create a flowchart: User Request → Load Balancer → API Server → Database"

The AI will call create_flowchart with structured data, and you'll get a .excalidraw file with:

  • Sugiyama hierarchical layout — proper handling of branches, merges, cycles, and disconnected subgraphs
  • Auto-calculated box sizes based on text content
  • Perfectly centered text (including Chinese/CJK characters)
  • Smart arrow routing with proper edge binding
  • Hand-drawn style that looks great in docs and presentations
  • 4 directions: LR (left-to-right), RL, TB (top-to-bottom), BT

Architecture Diagram

"Create an architecture diagram with Frontend (React, Next.js), Backend (API Server, Auth Service), and Database (PostgreSQL, Redis) layers"

Generates a layered diagram with components organized by tier, automatic sizing, and connections between layers.

Read & Modify

"Read the diagram at ./my-system.excalidraw and add a 'Cache' node connected to the API Server"

Works with existing .excalidraw files — read their structure, add/remove nodes, add connections.

Why excalidraw-mcp?

vs Official Excalidraw MCP (excalidraw/excalidraw-mcp)

FeatureOfficial MCPexcalidraw-mcp
ApproachRaw JSON — AI manually places every elementStructured input — say what you want, get a diagram
LayoutAI calculates coordinatesSugiyama hierarchical auto-layout
Branches/MergesAI must figure out positioningAutomatic — handled by layout engine
CJK textNo width estimationAccurate CJK/mixed-script width calculation
Text centeringAI must calculate x/y offsetsAutomatic centering in containers
Arrow bindingAI must manage bindingsAutomatic fixedPoint + orbit binding
Local filesCannot read/write local filesFull read, modify, save support
DistributionRemote URL / .mcpbuvx / pip (standard Python)
Token usageNeeds read_me call to learn formatFormat knowledge built-in

vs Mermaid-based tools

  • Free layout: Not constrained by Mermaid syntax limitations
  • Hand-drawn style: Native Excalidraw look, not rendered code blocks
  • Editable output: Drag the .excalidraw file to excalidraw.com to continue editing

Tool Reference

create_flowchart

Input:
  nodes: [{label: "Step 1", color?: "blue", shape?: "rectangle"}]
  edges: [{from: "Step 1", to: "Step 2", label?: "next"}]
  direction?: "LR" | "RL" | "TB" | "BT"  (default: "LR")
  title?: "My Flowchart"
  output_path?: "/path/to/output.excalidraw"

Output: Path to generated .excalidraw file

Colors: blue, green, purple, yellow, red, gray, orange, pink

Shapes: rectangle (default), diamond (decisions), ellipse (start/end)

create_architecture_diagram

Input:
  layers: [{
    name: "Frontend",
    color?: "blue",
    components: [{label: "React"}, {label: "Next.js"}]
  }]
  connections?: [{from: "React", to: "API Server"}]
  output_path?: "/path/to/output.excalidraw"

Output: Path to generated .excalidraw file

modify_diagram

Input:
  file_path: "/path/to/existing.excalidraw"
  add_nodes?: [{label: "New Node", color?: "green", x?: 100, y?: 100}]
  remove_labels?: ["Old Node"]
  add_connections?: [{from: "A", to: "B"}]
  output_path?: "/path/to/output.excalidraw"

Output: Path to modified file

read_diagram

Input:
  file_path: "/path/to/diagram.excalidraw"

Output: Structured description (shapes, connections, colors)

export_diagram

Input:
  file_path: "/path/to/diagram.excalidraw"
  format: "svg"

Output: Path to exported SVG file

Technical Details

Sugiyama Hierarchical Layout

Uses the grandalf library for proper directed graph layout:

  • Layer assignment: Nodes placed in layers based on graph topology
  • Crossing minimization: Multi-pass optimization to reduce edge crossings
  • Coordinate assignment: Balanced positioning within layers
  • Cycle handling: Feedback edge detection for cyclic graphs
  • Disconnected subgraphs: Automatic side-by-side placement

CJK Width Estimation

Accurate text width calculation for mixed Chinese/English text:

Character TypeWidth (at fontSize=20)
CJK characters~22px per character
ASCII letters/digits~11px per character
Spaces~5px

Arrow Binding

Uses Excalidraw's modern fixedPoint + orbit binding (not the deprecated focus/gap format):

{
  "startBinding": {
    "elementId": "box1",
    "fixedPoint": [1.0, 0.5001],
    "mode": "orbit"
  }
}

Arrows automatically connect at the correct edge based on relative positions.

Development

git clone https://github.com/maaker-ai/excalidraw-mcp.git
cd excalidraw-mcp
uv sync --dev
uv run pytest

License

MIT

Server Config

{
  "mcpServers": {
    "excalidraw": {
      "command": "uvx",
      "args": [
        "maaker-excalidraw-mcp"
      ]
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
ChatWiseThe second fastest AI chatbot™
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Playwright McpPlaywright MCP server
WindsurfThe new purpose-built IDE to harness magic
Tavily Mcp
Serper MCP ServerA Serper MCP Server
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Amap Maps高德地图官方 MCP Server
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
CursorThe AI Code Editor
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
DeepChatYour AI Partner on Desktop
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.