Turn your architecture into a living, queryable knowledge graph - and render it as beautiful auto-laid-out Excalidraw diagrams. An MCP server for Cursor, Claude Code & Windsurf. Offline, no API keys.
Excalidraw Architect MCP
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Every diagram your engineering docs need — as hand-drawn Excalidraw, generated by your AI.**
Twenty-five diagram types. Architecture and flowcharts, but also sequence diagrams, state machines, ER models, swimlanes, timelines, Gantt charts, quadrants, funnels, and hand-sketched bar/line/scatter charts. No coordinates to hallucinate, no Figma, no stale PNGs.
The Problem
When you're onboarding onto a codebase, designing a new system, or documenting how something works, a diagram communicates in seconds what pages of text can't. But the options aren't great.
Mermaid is quick to generate and locked down — you can't drag a node, group things visually, or annotate it afterwards. Figma means thirty minutes of manual work per picture. And when an LLM writes Excalidraw JSON directly it hallucinates coordinates: boxes overlap, arrows tangle, and you fix it by hand.
Worse, most tools only cover *one* diagram type well. The moment your doc needs a sequence diagram next to the architecture sketch, you're switching tools and the two look nothing alike.
The Solution
**excalidraw-architect-mcp** separates the *what* from the *where* — the AI describes structure, the engine does the pixel math.
Your LLM says what the components, actors, tiers, or data points are. The MCP picks the layout algorithm for that diagram type, styles it, and writes a real .excalidraw file you can open and keep editing. 50+ technologies (Kafka, PostgreSQL, Redis…) get auto-styled, every diagram can be revised in natural language, and it runs fully offline in Cursor/Claude Code/Windsurf — no API keys.
- **25 diagram types, one grammar** — see them all, from architecture to Gantt to scatter plots
- **Genuinely hand-drawn output** — a pure-Python port of the roughjs stroke generator, so exported SVG/PNG looks like the Excalidraw canvas, not a clean-geometry approximation
- **Perfect layouts every time** — Sugiyama with adaptive spacing for graphs; purpose-built geometry for everything else
- **Architecture-aware styling** — say "Kafka" and get a stream-styled node, not a generic rectangle
- **Talk to your diagrams** — add, remove, or rewire any diagram in natural language; the spec lives in the file
- **Export to SVG & PNG** — no browser, no Node.js
- **Living architecture knowledge graph** — optionally persist your system as a version-controlled model the AI can query and lint (details)
📐 25 Diagram Types
> Every image below is a real .excalidraw file generated by this MCP — zero manual positioning. Click any one to see it full size.
Architecture Components + connections
DP integration Sources → core → consumers
Sequence Messages over time
Timeline Events on an axis
Gantt Tasks and phases
Quadrant Two-axis positioning
Pyramid / funnel Ranked tiers or drop-off
Venn Set overlap
Loop Flywheel around a hub
Bar chart Categorical comparison
Line chart Trends over time
Scatter plot Distribution + correlation
Nested Hierarchy by containment
Layer stack Stacked abstractions
Medallion Data quality tiers
ER / data model Entities + fields
High-level Stack inside a boundary
IT current-state Legacy landscape
Swimlane Cross-functional flow
Process Multi-actor workflow
Data flow Role-scoped pipeline
Flowchart Decision logic with branches
Tree Parent → children
Org chart Ownership + escalation
State machine States + transitions
Choosing and calling
The gallery above is ordered by how often you'll reach for each type. Internally they fall into five families, which is what decides the layout engine:
| Family | Types |
|---|---|
| **Graph** | architecture · flowchart |
| **Structural** | tree · org_chart · state · nested · layers · medallion · er · high_level · it_state |
| **Flow** | swimlane · process · data_flow · dp_integration · sequence |
| **Geometric** | timeline · quadrant · pyramid (+ funnel) · venn · loop · gantt |
| **Charts** | bar · line · scatter |
architecture and flowchart are graphs and take nodes + connections. Every other type takes a diagram_type and a spec shaped for it:
Call list_diagram_types() for when-to-use guidance on each, and get_diagram_schema(" ") for the exact spec shape. Or just ask: *"draw the PR review flow as a swimlane"*.