
Excalidraw Architect
This turns natural language into properly laid out Excalidraw architecture diagrams without the coordinate hallucination problem that plagues direct LLM generation. You describe components and connections, it handles Sugiyama graph layout with adaptive spacing and obstacle-aware edge routing. Comes with auto-styling for 50+ technologies like Kafka, PostgreSQL, and Redis. The real trick is stateful editing: ask it to "add a cache in front of the database" on an existing diagram and it reads the embedded metadata, modifies the graph, and re-renders. Exports to SVG and PNG, converts Mermaid diagrams, and runs fully offline in Cursor or Windsurf. Useful for onboarding onto unfamiliar codebases, iterating on system designs without manual repositioning, or keeping architecture docs synced with code changes.
- GitHub stars
- 120
- tools
- 26
- transport
- STDIO
- last updated
- Mar 7, 2026
Tools
26 toolsPublic tool metadata for what this MCP can expose to an agent.
create_diagramCreate a diagram of any of the 25 supported types
Create a diagram of any of the 25 supported types
No parameter schema in public metadata yet.
list_diagram_typesEvery type with when-to-use / when-not-to guidance
Every type with when-to-use / when-not-to guidance
No parameter schema in public metadata yet.
get_diagram_schemaSpec schema + worked example for one type
Spec schema + worked example for one type
No parameter schema in public metadata yet.
mermaid_to_excalidrawConvert Mermaid flowchart syntax to `.excalidraw`
Convert Mermaid flowchart syntax to `.excalidraw`
No parameter schema in public metadata yet.
modify_diagramPatch an existing diagram — nodes/connections, or the stored spec
Patch an existing diagram — nodes/connections, or the stored spec
No parameter schema in public metadata yet.
get_diagram_infoRead current diagram state (call before modifying)
Read current diagram state (call before modifying)
No parameter schema in public metadata yet.
export_diagramExport `.excalidraw` to SVG or PNG image
Export `.excalidraw` to SVG or PNG image
No parameter schema in public metadata yet.
kg_initCreate a new knowledge graph file
Create a new knowledge graph file
No parameter schema in public metadata yet.
kg_add_serviceAdd/update or remove a service (with type, domain, owner, tags, links)
Add/update or remove a service (with type, domain, owner, tags, links)
No parameter schema in public metadata yet.
kg_remove_serviceAdd/update or remove a service (with type, domain, owner, tags, links)
Add/update or remove a service (with type, domain, owner, tags, links)
No parameter schema in public metadata yet.
kg_linkAdd/remove a dependency (parallel edges supported — e.g. REST *and* Kafka between the same pair)
Add/remove a dependency (parallel edges supported — e.g. REST *and* Kafka between the same pair)
No parameter schema in public metadata yet.
kg_unlinkAdd/remove a dependency (parallel edges supported — e.g. REST *and* Kafka between the same pair)
Add/remove a dependency (parallel edges supported — e.g. REST *and* Kafka between the same pair)
No parameter schema in public metadata yet.
kg_set_domainGroup a service into a domain / bounded context
Group a service into a domain / bounded context
No parameter schema in public metadata yet.
kg_infoSummarize services, domains, and topology
Summarize services, domains, and topology
No parameter schema in public metadata yet.
kg_renderRender the whole architecture to `.excalidraw`
Render the whole architecture to `.excalidraw`
No parameter schema in public metadata yet.
kg_render_viewRender a focused diagram of specific services
Render a focused diagram of specific services
No parameter schema in public metadata yet.
kg_render_aroundRender everything within N hops of a service
Render everything within N hops of a service
No parameter schema in public metadata yet.
kg_render_domainRender a single domain
Render a single domain
No parameter schema in public metadata yet.
kg_importBootstrap the graph from an existing `.excalidraw` diagram
Bootstrap the graph from an existing `.excalidraw` diagram
No parameter schema in public metadata yet.
whats_connected_toImpact analysis — upstream/downstream blast radius
Impact analysis — upstream/downstream blast radius
No parameter schema in public metadata yet.
kg_pathTrace the dependency path between two services
Trace the dependency path between two services
No parameter schema in public metadata yet.
kg_lintHealth check: cycles, single points of failure, orphans, dangling refs
Health check: cycles, single points of failure, orphans, dangling refs
No parameter schema in public metadata yet.
kg_exportExport the graph to Mermaid, Graphviz DOT, or JSON
Export the graph to Mermaid, Graphviz DOT, or JSON
No parameter schema in public metadata yet.
kg_diffShow how the architecture changed since a git ref
Show how the architecture changed since a git ref
No parameter schema in public metadata yet.
kg_onboarding_docGenerate a human onboarding guide from the graph
Generate a human onboarding guide from the graph
No parameter schema in public metadata yet.
kg_driftDetect drift between the declared graph and Python imports
Detect drift between the declared graph and Python imports
No parameter schema in public metadata yet.
Sponsors
Readme
Excalidraw Architect MCP
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
Details
- Repository
- github.com/bv-venky/excalidraw-architect-mcp
- Category
- Design & Creative
- Package
excalidraw-architect-mcp- Transport
- STDIO
- Registry
- MCP registry, active