excalimaid
Converts Mermaid diagrams into editable Excalidraw diagrams and opens them in the browser for further manipulation.
Accepts Mermaid diagram syntax (Flowchart, Sequence, Class) and renders it as an interactive Excalidraw canvas.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@excalimaidconvert this Mermaid diagram to Excalidraw: graph TD A-->B"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Excalimaid
Converts Mermaid diagrams into Excalidraw diagrams, serves them locally, and opens the result in your browser. Includes an MCP server for AI assistants. All processing is done locally, no data is sent to external servers.
Installation
npm install -g excalimaidRelated MCP server: Excalidraw MCP Server
Usage
CLI
Open a Mermaid diagram in Excalidraw:
excalimaid 'graph TD
A-->B'Or pipe via stdin:
cat diagram.mmd | excalimaidTip
Add to your ~/.zshrc or ~/.bashrc to open whatever Mermaid diagram is in your clipboard:
alias mmd='pbpaste | excalimaid'Then just copy a Mermaid diagram and run mmd.
MCP Server
Excalimaid provides an MCP server for AI assistants:
excalimaid mcpTool: open-diagram
Opens a Mermaid diagram in Excalidraw. Supports Flowchart, Sequence, and Class diagrams.
{
"name": "open-diagram",
"arguments": {
"mermaid": "graph TD\nA-->B"
}
}Starts a local HTTP server on the default port 17532 (configurable via EXCALIMAID_PORT), opens your browser, and returns the URL.
The server auto-shuts down after 5 minutes of inactivity.
MCP Setup
Configure excalimaid in your MCP client:
OpenCode (opencode.json):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"excalimaid": {
"type": "local",
"command": ["npx", "-y", "excalimaid@latest", "mcp"],
"enabled": true
}
}
}Claude or Cursor
{
"mcpServers": {
"excalimaid": {
"command": "npx",
"args": ["-y", "excalimaid@latest", "mcp"]
}
}
}Once configured, the open-diagram tool will be available to your AI assistant.
Configuration
Variable | Description | Default |
| Port for the local HTTP server |
|
| Idle timeout in minutes before the server shuts down |
|
Example:
EXCALIMAID_PORT=8080 excalimaid 'graph TD
A-->B'How it works
Made with the tool itself, obviously
The script base64-encodes the Mermaid syntax and passes it as a
?mermaid=query parameterIt serves the
dist/directory via a minimal HTTP server on the default port 17532The React app decodes the parameter and converts it to Excalidraw elements using
@excalidraw/mermaid-to-excalidrawThe result is rendered in a full-screen Excalidraw canvas
Development
Clone and setup for local development:
git clone https://github.com/mklinovsky/excalimaid.git
cd excalimaid
pnpm install
pnpm run buildLink globally to use the local version:
pnpm link --globalNow you can run excalimaid from anywhere using your local build.
Related MCP Connectors
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Generate dynamic Mermaid diagrams and charts with AI assistance. Customize styles and export diagr…
Create, validate, edit, export (markdown/svg/png/mermaid), and search JSON Canvas files.
Publish markdown documents as public share links with mermaid diagrams. Built by AutEng.ai
Related MCP Servers
- AlicenseAqualityDmaintenanceConverts Markdown files into professional diagrams such as flowcharts, mind maps, and architecture diagrams using Mermaid.js and custom SVG renderers. It enables users to list, render, and export visualizations in multiple formats including SVG, PNG, and PDF.3MIT
- FlicenseAqualityBmaintenanceGenerates beautiful Excalidraw diagrams from natural language descriptions using a local llama.cpp LLM, entirely offline.3-
- FlicenseNot gradedqualityDmaintenanceMCP server that generates Mermaid diagrams with live browser preview, supports real-time rendering and SVG/PNG export.12-
- AlicenseAqualityDmaintenanceMCP server that converts Mermaid diagrams to styled Excalidraw files, saving them directly to disk without token overhead.2MIT