Mermaid Render Mcp

io.github.tci-nebula由 GitHub 帳號 tci-nebula 發布v1.3.0更新於 Oct 24, 2026

Renders Mermaid diagram syntax to PNG or SVG images for LLM clients

已驗證STDIO僅桌面開發者工具媒體與設計

概覽

AI 產生的概覽

一個本機 MCP 伺服器,把 Mermaid 圖表語法轉譯成 PNG、SVG 或 PDF 圖片,或把流程圖轉成可編輯的 draw.io 檔案。

可以做什麼
將 Mermaid 圖表定義轉譯成 PNG、SVG 或 PDF 圖片,以內嵌 base64 回傳或寫入指定的檔案路徑,可設定主題、背景、寬度與 PDF 貼合。把 flowchart 與 graph 語法轉成可編輯的 draw.io XML,不需瀏覽器,適合還想繼續編輯的圖表。
適用情境
適合讓助理把描述出的流程、架構或流程圖變成實際圖片或文件,或變成可編輯的 draw.io 檔案。draw.io 方式適合不方便下載 Chromium 的受限機器。
執行需求
透過 npx 以本機程序執行,需要 Node.js 18 以上。PNG、SVG 與 PDF 轉譯在首次執行時會下載無頭 Chromium(約 150 MB),需要幾分鐘;draw.io 方式則不需要。另提供 Docker 映像作為替代。未宣告需要帳號或 API 金鑰。
安裝前請注意
使用 output_path 時伺服器會依指定路徑寫入檔案,請只指向你打算寫入的目錄。轉譯依賴內建的 Mermaid CLI 與無頭 Chromium。draw.io 轉換僅支援流程圖,且節點幾何尺寸為估算值。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mermaid Render Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mermaid-mcp

[test] [npm]

An MCP server that renders Mermaid diagrams to PNG, SVG, or PDF — or converts them to editable draw.io files. Give your LLM the ability to turn diagram syntax into actual images and documents.

Quick start

Claude Code

bash
claude mcp add mermaid -- npx -y mermaid-render-mcp

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "mermaid": {      "command": "npx",      "args": ["-y", "mermaid-render-mcp"]    }  }}

Note: the first run downloads headless Chromium (~150 MB), so the initial startup takes a few minutes. If you only need flowcharts and can work with editable files, the drawio fast path skips Chromium entirely.

Docker

No Node.js or Chromium download needed — the image ships with everything (including CJK fonts for Japanese/Chinese/Korean labels):

bash
claude mcp add mermaid -- docker run -i --rm tcinebula/mermaid-render-mcp

To use output_path, mount a host directory and write into it:

json
{  "mcpServers": {    "mermaid": {      "command": "docker",      "args": ["run", "-i", "--rm", "-v", "C:\\diagrams:/out", "tcinebula/mermaid-render-mcp"]    }  }}

Then pass output_path: "/out/figure.pdf" and the file appears in C:\diagrams.

Remote / self-hosted (HTTP)

The same server speaks Streamable HTTP when PORT is set (or MCP_TRANSPORT=http), so it can be deployed to any container host — Railway, Fly.io, etc. — straight from the Dockerfile:

  • Endpoint: POST /mcp (health check at /healthz)
  • Set AUTH_TOKEN to require Authorization: Bearer <token>
  • output_path is disabled in HTTP mode; base64/XML responses only

From source

bash
git clone https://github.com/tci-nebula/mermaid-mcp.gitcd mermaid-mcpnpm installclaude mcp add mermaid -- node /path/to/mermaid-mcp/server.js

Tool: render_diagram

ParameterTypeDefaultDescription
syntaxstring(required)Mermaid diagram definition
formatpng | svg | pdf | drawiopngOutput format (drawio = editable draw.io XML, flowcharts only)
themedefault | dark | neutral | forestdefaultVisual theme
backgroundstringwhiteCSS colour or transparent
widthnumber1200Canvas width in px (PNG only)
pdfFitbooleantrueScale the PDF page to fit the diagram (PDF only)
output_pathstring—Write the result to this file path instead of returning base64

Returns the rendered image as base64-encoded data so MCP clients can display it inline — or, with output_path, writes the file to disk (handy for PDFs destined for printing or formal document submission).

Example

Ask your LLM:

"Draw me a flowchart of the OAuth login flow"

It generates the Mermaid syntax, calls render_diagram, and you get back a PNG.

The drawio fast path (no Chromium)

format: "drawio" is the one output that never touches a browser. It's pure JavaScript — parse, lay out with dagre, emit XML — so there's no Chromium download, no ~150 MB install, and no multi-minute first run. Conversion is effectively instant.

Reach for it when:

  • you want the diagram editable rather than flat — every shape stays a real draw.io object
  • you're on a constrained box (CI, a slim container, a locked-down laptop) where downloading Chromium isn't practical
  • you just want the diagram now and don't need a raster image
json
{  "syntax": "flowchart TD\n  A[Start] --> B{OK?}\n  B -->|yes| C[Ship]\n  B -->|no| A",  "format": "drawio",  "output_path": "flow.drawio"}

Open the result in draw.io (or the VS Code extension) and export to PNG/SVG/PDF from there if you do need an image — that's a complete Chromium-free round trip.

Limits

  • Flowcharts only. flowchart and graph diagrams convert; sequence, class, state, ER, and gantt throw an error. Use PNG/SVG/PDF for those.
  • theme, background, and width are ignored. Styling is draw.io's job once the file is open.
  • Node sizes are estimated from label length, not measured font metrics. draw.io re-measures text when it opens the file so boxes settle correctly — but treat the raw XML geometry as approximate.

Supported syntax: directions TD / TB / BT / LR / RL; shapes [rect], (rounded), {rhombus}, ((circle)), ([stadium]), [[subroutine]], [(cylinder)], {{hexagon}}; edges -->, ---, -.->, ==>, <-->, each optionally carrying a |label|.

How it works

PNG, SVG, and PDF rendering shells out to @mermaid-js/mermaid-cli (bundled as a dependency), which uses a headless Chromium to render diagrams. First npm install downloads Chromium (~150 MB), so it takes a few minutes.

draw.io export is pure JavaScript — a flowchart parser plus dagre layout (the same engine Mermaid uses) emit native mxGraphModel XML, so every shape stays individually editable in draw.io.

Requirements

Roadmap

  • PDF export (formal/legal document workflows)
  • draw.io XML export (editable diagrams — flowcharts)
  • npm package (mermaid-render-mcp)
  • Remote-hosted server option (Streamable HTTP transport)

License

MIT

來源:README.md,提交 64adfc2

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.3.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分