excalidraw-mcp
Allows AI agents to create, read, and modify Excalidraw files, generating 25+ types of hand-drawn diagrams with automatic layout, including flowcharts, architecture, sequence, mind maps, and more.
Allows importing Mermaid syntax (flowchart, sequence, class, state) to automatically generate Excalidraw diagrams.
excalidraw-mcp
Generate 25+ types of beautiful hand-drawn diagrams with AI — flowcharts, sequence, architecture, mind maps, ER, class, state, timeline, pie/bar/line/radar charts, kanban, wireframes, decision trees, and more — with Sugiyama hierarchical layout, CJK support, and zero learning curve.
By Maaker.AI
Showcase
Every image below was generated by a single tool call — no coordinates, no manual layout. The .excalidraw sources live in docs/showcase/; drag any of them onto excalidraw.com to keep editing.
Flowchart (branches + cycle + CJK) | Layered architecture |
Related MCP server: arch7
Install
Claude Code (recommended)
claude mcp add excalidraw -- uvx maaker-excalidraw-mcpClaude Desktop
Add to your MCP config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"excalidraw": {
"command": "uvx",
"args": ["maaker-excalidraw-mcp"]
}
}
}opencode / Cursor / any MCP client
{
"mcp": {
"excalidraw": {
"type": "local",
"command": ["uvx", "maaker-excalidraw-mcp"],
"enabled": true
}
}
}(opencode shown; Cursor and other clients use the same uvx maaker-excalidraw-mcp command in their MCP config format.)
pip
pip install maaker-excalidraw-mcpTools
Tool | Description |
| Flowcharts with Sugiyama layout — branches, merges, cycles, groups |
| Layered architecture diagrams with connections |
| UML sequence diagrams with lifelines and messages |
| UML class diagrams with attributes, methods, relationships |
| UML state machines with initial/final states |
| Entity-Relationship diagrams with cardinality |
| Tree-style mind maps with auto-colored branches |
| Timeline/Gantt charts with overlapping event handling |
| Pie charts with labeled slices and percentages |
| Kanban boards with columns and cards |
| Network topology with typed nodes (server, DB, etc.) |
| 2x2 priority/positioning matrices |
| User journey maps with emotion indicators |
| UI wireframe mockups with device frames |
| Organizational charts (top-down hierarchy) |
| SWOT analysis 2x2 color-coded matrices |
| Grid tables with auto-sized columns and alternating row colors |
| Vertical bar charts with auto-scaled bars and labels |
| Line charts with multi-series support |
| Radar/spider charts with multi-series overlay |
| Decision trees with diamond decisions and rectangular outcomes |
| Import Mermaid syntax (flowchart, sequence, class, state) |
| List all available diagram types |
| Add/remove nodes and connections in existing diagrams |
| Analyze existing |
| Export 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)
Feature | Official MCP | excalidraw-mcp |
Approach | Raw JSON — AI manually places every element | Structured input — say what you want, get a diagram |
Layout | AI calculates coordinates | Sugiyama hierarchical auto-layout |
Branches/Merges | AI must figure out positioning | Automatic — handled by layout engine |
CJK text | No width estimation | Accurate CJK/mixed-script width calculation |
Text centering | AI must calculate x/y offsets | Automatic centering in containers |
Arrow binding | AI must manage bindings | Automatic fixedPoint + orbit binding |
Local files | Cannot read/write local files | Full read, modify, save support |
Distribution | Remote URL / .mcpb |
|
Token usage | Needs | Format 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
.excalidrawfile 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 fileColors: 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 filemodify_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 fileread_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 fileTechnical 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 Type | Width (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 pytestLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityBmaintenanceGenerates beautiful Excalidraw diagrams from natural language descriptions using a local llama.cpp LLM, entirely offline.3
- AlicenseAqualityCmaintenanceGenerates Excalidraw architecture diagrams with support for 60+ components including GCP, Kafka, and AI/Agentic shapes. Provides MCP tools for creating, modifying, and converting diagrams from structured input or Mermaid syntax.41MIT
- Alicense-qualityBmaintenanceThe diagram-quality layer for AI agents — an opinionated Excalidraw methodology (isomorphism test, evidence artifacts, multi-zoom, container discipline) plus a render-view-fix loop. Accepts skeleton and Mermaid input, 5 publishable themes, dual Node/Python renderer. Proven on a 77-diagram published book.MIT
- Alicense-qualityDmaintenanceConverts Mermaid diagrams into Excalidraw diagrams, serves them locally, and opens the result in your browser.113MIT
Related MCP Connectors
AI agent draws editable hand-drawn diagrams (flowchart, ER, architecture) via MCP, not static images
Generate dynamic Mermaid diagrams and charts with AI assistance. Customize styles and export diagr…
Generate cloud architecture diagrams, flowcharts, and sequence diagrams.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/maaker-ai/excalidraw-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server