mcp-mermaidjs-server

mcp-mermaidjs-server

0

The tech.unravel/mcp-mermaidjs-server is an MCP server designed to work with MermaidJS for creating and rendering diagrams. It provides tools for saving and visualizing MermaidJS diagrams using the mmdc CLI tool.

tech.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

  1. 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:

  1. 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:

  1. Replace the full-path to the tech.unravel/mcp-mermaidjs-server Jar with the correct path on your system (i.e. replace /Users/vedang/repo-name below with the correct path)
  2. Specify the full-path to mmdc on 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