Software Design Mermaid MCP
๐จ Turn Claude into a visual design partner โ drag-and-drop Mermaid diagram editor with multi-round AI collaboration via MCP
Install / Use
/learn @wzh4464/Software Design Mermaid MCPQuality Score
Category
Development & EngineeringSupported Platforms
README
๐จ Mermaid Visual Editor for Claude
Stop describing diagrams. Start designing them.
Turn Claude into a visual software design partner with a drag-and-drop Mermaid editor that opens right in your browser.
Getting Started ยท Features ยท How It Works ยท Contributing
</div><div align="center">

Claude generates the diagram, you refine it visually โ drag nodes, edit labels, draw connections, then submit back for the next iteration
</div>The Problem
When designing software with Claude, you're stuck in a text-only loop:
You: "Add a cache layer between the API and database"
Claude: *regenerates entire Mermaid diagram from scratch*
You: "No, move the cache node to the left..."
Claude: *guesses what you mean, regenerates again*
It's like directing a painter blindfolded.
The Solution
This MCP server gives Claude a visual canvas. When Claude generates a diagram, it pops open a browser-based editor where you can:
- Drag nodes exactly where you want them
- Edit labels inline with a double-click
- Draw connections between any nodes
- Rearrange everything and submit back to Claude
Claude sees your visual changes and continues the conversation with full context. Design together, visually.
What is MCP? Model Context Protocol lets AI assistants use external tools. This server gives Claude the ability to open a visual diagram editor โ no plugins or extensions needed.
โก Getting Started
Claude Code (recommended)
git clone https://github.com/wzh4464/software-design-mermaid-mcp.git
cd software-design-mermaid-mcp
npm install && npm run build
claude mcp add software-design-mermaid node $(pwd)/dist/server/index.js
Then just ask Claude:
> Design a microservice architecture for a todo app
Your browser opens automatically with the visual editor. Edit, submit, iterate. โจ
<details> <summary><b>VS Code + Claude Extension</b></summary>Add to your VS Code settings.json:
{
"claude.mcpServers": {
"software-design-mermaid": {
"command": "node",
"args": ["/absolute/path/to/software-design-mermaid-mcp/dist/server/index.js"]
}
}
}
</details>
<details>
<summary><b>Claude Desktop</b></summary>
Add to claude_desktop_config.json:
{
"mcpServers": {
"software-design-mermaid": {
"command": "node",
"args": ["/absolute/path/to/software-design-mermaid-mcp/dist/server/index.js"]
}
}
}
</details>
<details>
<summary><b>Cursor</b></summary>
Add to your Cursor MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"software-design-mermaid": {
"command": "node",
"args": ["/absolute/path/to/software-design-mermaid-mcp/dist/server/index.js"]
}
}
}
</details>
<details>
<summary><b>Windsurf / Cline / Other MCP Clients</b></summary>
Any MCP-compatible client can use this server. The configuration pattern is the same:
- Command:
node - Args:
["/absolute/path/to/software-design-mermaid-mcp/dist/server/index.js"] - Transport: stdio
Refer to your client's documentation for the exact config file location.
</details>โจ Features
| | Feature | Description | |---|---------|-------------| | ๐ฑ๏ธ | Drag-and-Drop Canvas | Full React Flow editor with zoom, pan, minimap, grid snapping | | ๐ท | 5 Shapes ร 3 Edge Types | Rectangle, rounded, diamond, circle, stadium + arrow, dotted, thick | | ๐ฆ | Subgraphs & Auto-Layout | Group nodes into nested subgraphs; dagre auto-arranges (TD/LR/BT/RL) | | ๐ | Live Mermaid Preview | See Mermaid code update in real-time as you edit | | ๐ | Multi-Round Iteration | Edit โ Submit โ Claude refines โ Edit again. True visual collaboration. | | โช | Undo / Redo | Full history with Ctrl+Z / Ctrl+Y | | โ๏ธ | Zero Config | Auto-finds an open port and launches your browser |
<details> <summary><b>See: Horizontal layout with subgraphs</b></summary>
๐งฉ How It Works
Claude MCP Server Browser Editor
โ โ โ
โโโ show_diagram() โโโโโโโ>โ โ
โ โโโ starts HTTP server โโโโโ>โ
โ โโโ opens browser โโโโโโโโโโ>โ
โ<โโ { url, success } โโโโโโ โ
โ โ โ
โ โ<โโ polls /api/diagram โโโโโโ
โ โโโ returns diagram โโโโโโโโ>โ
โ โ โ
โ โ user drags nodes, โ
โ โ edits labels, โ
โ โ draws connections โ
โ โ โ
โ โ<โโ POST /api/submission โโโโ
โโโ get_diagram_feedback()>โ โ
โ<โโ updated mermaid code โโ โ
โ โ โ
โโโ show_diagram() โโโโโโโ>โ (Claude sends new version)โ
โ ...iterate... โ โ
MCP Tools
| Tool | What it does |
|------|-------------|
| show_diagram | Opens the visual editor with a Mermaid flowchart |
| get_diagram_feedback | Gets the user's visual edits back as Mermaid code |
| close_diagram | Closes the editor session |
๐๏ธ Architecture
TypeScript monorepo with npm workspaces:
software-design-mermaid-mcp/
โโโ shared/ # Mermaid parser & serializer (bidirectional)
โโโ src/ # MCP server (stdio) + HTTP server (REST API)
โโโ editor/ # React Flow visual editor
โโโ dist/ # Pre-built artifacts
- Parser: Full Mermaid flowchart syntax โ structured
FlowDiagramobjects - Serializer:
FlowDiagramโ valid Mermaid code (round-trip safe) - Editor: React 19 + React Flow 12 with custom node/edge renderers
๐งโ๐ป Development
npm install # Install all workspace dependencies
npm test # Run all tests (42 tests, 4 suites)
npm run build # Build shared โ server โ editor
npm run dev:editor # Editor dev mode with hot reload
๐ค Contributing
Contributions welcome! Some ideas to get started:
- ๐ Sequence diagram support โ extend beyond flowcharts
- ๐จ Theme customization โ dark/light modes, color schemes
- ๐ธ Export options โ PNG, SVG, PDF export from the editor
- ๐ฅ Collaborative editing โ multiple users on the same diagram
- ๐ถ More node shapes โ hexagon, parallelogram, trapezoid
Please open an issue first to discuss what you'd like to change.
๐ License
MIT โ use it however you want.
<div align="center">
If this saves you time designing software, consider giving it a โญ
Made with React Flow ยท MCP SDK ยท dagre
</div>