tech.unravel/mcp-mermaidjs-server
LocalAbout tech.unravel/mcp-mermaidjs-server
tech.unravel/mcp-mermaidjs-server is an MCP server for saving and rendering MermaidJS diagrams with `mmdc`. It provides separate tools for storing a diagram specification and visualizing it in a chosen format.
Key features
- 01Save MermaidJS specifications
- 02Render saved diagrams
- 03Choose an output format
- 04Apply optional CSS
Use cases
- 01Save a diagram specification for later rendering
- 02Render a saved specification in a selected format
MCP support
The server exposes tools to save diagram specifications and render them for MCP hosts. It requires the `mmdc` CLI to run.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEtech.unravel/mcp-mermaidjs-server
An MCP server for working with MermaidJS, using mmdc.
We create two simple tools:
- save-diagram
- visualize-diagram
Using these tools, a host can create beautiful mermaid-js diagrams by:
- creating an mmd spec and saving it
- then rendering the saved-spec using specific output format and (optionally) CSS (via access to
mmdc)
Usage
Building the Uberjar
make clean && make build
Running the MCP server
PRE-REQUISITES: Needs mmdc CLI to be installed.
Some example commands you can try in Claude Desktop or Inspector:
- Create a MermaidJS Sequence Diagram from this spec:
sequenceDiagram
%% See https://mermaidjs.github.io/sequenceDiagram.html
loop everyday D-2 working days 16:00
ABCD->>DEE: [14:25] BEE (Calculation per TC until ACK becomes OK)
ABCD->>FGG: BEE (Calculation per TC until ACK becomes OK)
Note over ABCD,FGG: D-2 weekdays at 14:25
ABCD->>HII: Projected Authorisations to HII
Note over ABCD,HII: D-2 weekdays at 16:00
end
loop D-1 before deadline at 7:45
HII->>DEE: Submission
Note over HII,DEE: D-1 before deadline
HII->>FGG: Submission
Note over HII,FGG: D-1 before deadline
end
Before running the MCP server
Remember:
- Replace the full-path to the
tech.unravel/mcp-mermaidjs-serverJar with the correct path on your system (i.e. replace/Users/vedang/repo-namebelow with the correct path) - Specify the full-path to
mmdcon your system
In Claude Desktop
"mcp_mermaidjs_server": {
"command": "java",
"args": [
"-Dclojure.tools.logging.factory=clojure.tools.logging.impl/log4j2-factory",
"-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog",
"-Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector",
"-Dlog4j2.configurationFile=log4j2-mcp.xml",
"-Dbabashka.json.provider=metosin/jsonista",
"-Dlogging.level=INFO",
"-Dmcp.vegalite.mmdc_executable=/Users/vedang/.local/share/nvm/v23.11.0/bin/mmdc",
"-cp",
"/Users/vedang/repo-name/target/tech.unravel/mcp-mermaidjs-server-1.0.0.jar",
"tech.unravel.mcp-mermaidjs-server"
]
}
In MCP Inspector
Remember to use the full-path to the tech.unravel/mcp-mermaidjs-server JAR on your system.
npx @modelcontextprotocol/inspector java -Dclojure.tools.logging.factory=clojure.tools.logging.impl/log4j2-factory -Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog -Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector -Dlog4j2.configurationFile=log4j2-mcp.xml -Dbabashka.json.provider=metosin/jsonista -Dlogging.level=INFO -Dmcp.vegalite.mmdc_executable=/Users/vedang/.local/share/nvm/v23.11.0/bin/mmdc -cp /Users/vedang/repo-name/target/tech.unravel/mcp-mermaidjs-server-1.0.0.jar tech.unravel.mcp-mermaidjs-server
License
Copyright © 2025 Unravel.tech Engineering
Distributed under the MIT License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.