An alternative to the Excalidraw MCP server.
Same format, no lock-in, and a solver does the arranging.
Lucid Train's MCP server produces standard Excalidraw scenes, so output opens in Excalidraw and any compatible client exactly as an Excalidraw MCP server's would. The difference is that positions come from the ELK constraint solver rather than from the language model, and cards carry real bundled service logos. Same file format, no lock-in, no manual arrangement afterwards.
The format is identical
Diagrams are persisted as standard .excalidraw scenes, so anything produced here opens in Excalidraw. That was deliberate: a diagram locked into a format one application reads is a diagram you eventually lose. So this is not a migration decision, it is a decision about who arranges the elements.
Solver-computed positions
An Excalidraw MCP server that exposes element creation puts the model in charge of coordinates, with the usual result on anything past a few nodes. emit_diagram takes a semantic graph with no coordinates and ELK computes the arrangement, including orthogonal edge routing and tier bands that make dependency direction readable at a glance.
Icons that render offline
Around forty-five brand logos plus generic architecture glyphs ship with the tool, inlined into the scene as image elements. Nothing is fetched, so a diagram renders identically on an isolated network or a plane, which is a failure mode people usually discover at the worst moment.
Transport
Connections are stdio: the server runs as a local child process with piped stdin and stdout. Remote HTTP and SSE servers appear in the Connectors tab's registry search but cannot be connected, and that is a real limit rather than a configuration step you are missing. A remote server needs a local stdio bridge in front of it.
Sketching is still Excalidraw's job
For the first fifteen minutes of a design conversation, drawing by hand in Excalidraw is better and free, and the hand-drawn style usefully signals that a diagram is provisional. This is for when the diagram needs to match a real system and stay matching it.
Questions
Related
- Architecture Diagram MCP ServerPoint your existing agent at it and get diagrams that a solver laid out rather than a language model.
- Architecture Diagrams in Claude CodeKeep working in Claude Code and get a diagram that a layout solver produced.
- Architecture Diagrams in CursorStay in the editor, get a diagram a solver arranged.
- draw.io MCP Server AlternativeThe difference is who decides where the boxes go.