Excalidraw MCP
Generate 25+ diagram types (flowchart, sequence, ER, mindmap, architecture, etc.) as Excalidraw files with natural language. CJK support, 30+ tech brand colors, Sugiyama auto-layout.
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 Code (recommended)
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
| Tool | Description |
|---|---|
create_flowchart | Flowcharts with Sugiyama layout — branches, merges, cycles, groups |
create_architecture_diagram | Layered architecture diagrams with connections |
create_sequence_diagram | UML sequence diagrams with lifelines and messages |
create_class_diagram | UML class diagrams with attributes, methods, relationships |
create_state_diagram | UML state machines with initial/final states |
create_er_diagram | Entity-Relationship diagrams with cardinality |
create_mindmap | Tree-style mind maps with auto-colored branches |
create_timeline | Timeline/Gantt charts with overlapping event handling |
create_pie_chart | Pie charts with labeled slices and percentages |
create_kanban_board | Kanban boards with columns and cards |
create_network_diagram | Network topology with typed nodes (server, DB, etc.) |
create_quadrant_chart | 2x2 priority/positioning matrices |
create_user_journey | User journey maps with emotion indicators |
create_wireframe | UI wireframe mockups with device frames |
create_org_chart | Organizational charts (top-down hierarchy) |
create_swot_analysis | SWOT analysis 2x2 color-coded matrices |
import_mermaid | Import Mermaid syntax (flowchart, sequence, class) |
list_diagram_types | List all available diagram types |
modify_diagram | Add/remove nodes and connections in existing diagrams |
read_diagram | Analyze existing .excalidraw files |
export_to_svg | 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 | uvx / pip (standard Python) |
| Token usage | Needs read_me call to learn format | 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 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 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 pytest
License
MIT
Servidores relacionados
Scout Monitoring MCP
patrocinadorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
patrocinadorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Osmosis Agent Toolkit
An MCP server for the Osmosis Agent Toolkit, enabling interactions with the Osmosis blockchain.
BerryRAG
A local RAG system with Playwright MCP integration for Claude and OpenAI embeddings, using local storage.
FastMCP-Scala
A Scala 3 library for building Model Context Protocol (MCP) servers.
Claude MCP Tools
An MCP server ecosystem for integrating with Anthropic's Claude Desktop and Claude Code CLI.
APS AEC Data Model MCP (.NET)
A .NET MCP server for interacting with the Autodesk AEC Data Model API and Viewer.
Remote MCP Server on Cloudflare (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication, featuring customizable tools.
MapleStory MCP Server
Access NEXON MapleStory open API data for character info, union details, guild data, rankings, and game mechanics.
DeepRank
Optimize any site for AI search: get DeepRank methodology, optimization steps, and suggestions (llms.txt, JSON-LD, audit checklist) so your AI assistant can implement AI visibility in the repo.
Web Accessibility Testing (A11y MCP)
Test web pages and HTML for accessibility issues and WCAG compliance using Axe-core and Puppeteer.
MCP Development Server
Manage software development projects with full context awareness and Docker-based code execution.