Excalidraw Architect MCP: editable diagrams from agents
The model describes components and links; a layout engine does the coordinates and writes an editable .excalidraw file. 25 diagram types, offline, no API keys.
Project and installation docs
View projecthttps://github.com/BV-Venky/excalidraw-architect-mcp
Ask a model to write Excalidraw JSON for an architecture diagram and you usually get overlapping boxes and tangled arrows to fix by hand. Mermaid is quick but hard to edit afterwards. Excalidraw Architect MCP separates what to draw from where to draw it: the model describes components, relationships and tiers, and the server picks a layout algorithm for the diagram type, styles it and writes a file you can keep editing in Excalidraw. It had about 160 stars as of 2026-10-06.
What it does
- 25 diagram types:
create_diagramcovers architecture, flowcharts, sequence diagrams, state machines, ER models, swimlanes, Gantt charts, quadrants, and hand-drawn bar, line and scatter charts. - Edit without redrawing:
get_diagram_inforeads a diagram’s state andmodify_diagramadds or rewires nodes and re-lays it out, as in “add a Redis cache in front of the database.” - Conversion and export:
mermaid_to_excalidrawturns a Mermaid flowchart into an editable diagram, andexport_diagramwrites SVG (no extra dependencies) or PNG. - Technology-aware styling: 50+ built-in component styles, so “Kafka” becomes a stream-styled node.
- Optional knowledge graph: the
kg_*tools keep your architecture as a version-controlled file you can query for dependency paths, impact analysis, cycles and single points of failure.
Who it’s for
- Engineers writing design docs, RFCs or onboarding guides who need several diagrams in one consistent style.
- Teams that want the coding agent to read the code and sketch the service map.
Setup
Needs Python. Install it, then register it in Claude Code:
pip install excalidraw-architect-mcp
claude mcp add-json excalidraw-architect '{"type":"stdio","command":"excalidraw-architect-mcp"}' --scope user
For PNG export install excalidraw-architect-mcp[png] instead; with uv you can skip installing and run uvx excalidraw-architect-mcp.
Our take
A small, well-built project. The key decision is keeping the model away from coordinates: algorithms like Sugiyama handle layout and the model only states structure, which sidesteps exactly where LLM-drawn diagrams go wrong. The exporter ports the roughjs stroke generator to Python, so SVGs keep the hand-drawn look without a browser or Node.js, and everything runs offline with no external calls. Caveats: one person maintains it, the last push was in August 2026, and the knowledge graph’s drift check only understands Python imports so far. Licensed MIT.