io.github.adewale/agentic-mermaid
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
assessed on 2 of 5 dimensions
npx -y agentic-mermaidhttps://agentic-mermaid.dev/mcpbuildAuthor a new Mermaid diagram from blank by folding a list of structured opsover an empty diagram of `family`. The declarative counterpart to hand-writingsource. Returns the same envelope as `mutate`:{ ok, family, source, verify } or { ok:false, family, opIndex, error }.Op kinds by family: flowchart: add_node(id, label, shape?, parent?), remove_node(id), rename_node(from, to), set_label(target, label), add_edge(from, to, label?, style?), remove_edge(id) state: add_state(id, label?, parent?), remo…
describeDescribe a Mermaid diagram. format=text returns { ok, text } withone or two summary sentences; format=json returns { ok, tree } with the AX tree;format=facts returns { ok, facts } with deterministic semantic fact lines formachine checking (for example edge A -> B : label, member Duck +quack()).
executeRun synchronous JavaScript against the mermaid SDK in an isolated sandbox.Code runs as an expression or statement body — return the final value. Promise jobs,async/await, and dynamic import are not supported.Multi-step diagram edits should be one execute() call. The SDK declaration isTypeScript-shaped for guidance; the sandbox does not transpile type annotations.Hosted note: execute runs in an on-demand isolate and costs more than the directrender_svg/render_ascii/render_png/verify/describe tool…
mutateApply a list of structured edit ops to an existing Mermaid `source` andreturn the edited diagram. This is the declarative counterpart to `execute`:plain JSON in, plain JSON out, no sandbox. Prefer it for straightforward edits;reserve `execute` for logic the ops don't express.Returns { ok, family, source, verify:{ ok, warnings } } on success, or{ ok:false, family, opIndex, error } — where `error` names the offending fieldand lists the valid ones — when an op is malformed or cannot apply. Ops appl…
Every verdict is attributable to its sources and recomputed from our own landed copy, never read live on this page.
render_asciiRender a Mermaid source string to text. Returns { ok, text }.useAscii true → plain ASCII (+,-,|); false/absent → Unicode box drawing (┌,─,│).
render_pngRasterize a Mermaid source string to PNG. Returns { ok, png_base64 }.Hosted rendering uses resvg-wasm with bundled fonts; bytes may differ from thelocal napi renderer, so hosted PNG is a convenience surface, not part of thebyte-determinism contract. For file/URL artifacts use the local stdio server.
render_svgRender a Mermaid source string to themeable SVG. Returns { ok, svg }.Layout is deterministic: identical input produces identical geometry.
verifyParse and verify a Mermaid diagram without rendering it. Returns{ ok, family, summary, warnings, layout: { bounds, nodes, edges } } for validdiagrams and { ok: false, errors } for parse failures. `family` is the detecteddiagram family and `summary` a one-line description — check them: ok:true onlymeans the diagram is structurally valid, not that it is the kind you intended.Warnings use the layout-rubric codes.
Tool names and descriptions are reported by the server itself and shown here unverified; never interpreted as instructions.