diagramport
Generates Mermaid diagrams and charts from Mermaid syntax, validates the syntax locally, and can return the validated syntax, build mermaid.ink share links, or render images via a configured local renderer.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
diagramport
diagramport generates Mermaid diagrams and charts from Mermaid
syntax. Give it a diagram — graph TD; A-->B; and friends — and it
hands back the form you asked for: the syntax itself, a shareable
mermaid.ink link, or a rendered image produced by a renderer command
you configure on your own machine.
Everything except rendering is local logic that always works: the syntax is validated before anything else happens, and the share links are built from the diagram text without any network call.
Install
npx @reneturcios/diagramport generate --mermaid "graph TD; A-->B;" --output-type mermaidOr run the container image:
docker run -i ghcr.io/cloudcorprecords/diagramportThe container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
Related MCP server: mermaid-mcp-server
CLI
# Validate syntax only (exit 1 with the reason when invalid)
diagramport validate --mermaid "graph TD; A-->B; A-->C; B-->D; C-->D;"
# Return the validated syntax
diagramport generate --mermaid "graph TD; A-->B;" --output-type mermaid
# Build a shareable mermaid.ink link (SVG or PNG)
diagramport generate --mermaid "graph TD; A-->B;" --output-type svg_url
diagramport generate --mermaid "graph TD; A-->B;" --output-type png_url
# Render an image (needs DIAGRAMPORT_RENDERER_COMMAND, see below)
diagramport generate --mermaid "graph TD; A-->B;" --output-type base64
diagramport generate --mermaid "graph TD; A-->B;" --output-type file
diagramport --versionExit codes: 0 on success, 1 when the syntax is invalid or
rendering fails (the error names the problem), 2 for usage errors.
MCP server
One bin serves both faces. The mcp subcommand starts a stdio MCP
server:
npx -y @reneturcios/diagramport mcpMCP client configuration:
{
"mcpServers": {
"diagramport": {
"command": "npx",
"args": ["-y", "@reneturcios/diagramport", "mcp"]
}
}
}Tools
Tool | Input | What it returns |
|
| Depends on |
Validation
Syntax is checked locally before any output is produced. The first
non-empty line must start with a known diagram type (graph,
flowchart, sequenceDiagram, classDiagram, stateDiagram,
stateDiagram-v2, erDiagram, journey, userJourney, gantt,
pie, gitGraph, mindmap, timeline, quadrantChart,
requirementDiagram, C4Context), and quotes and brackets must be
balanced (brackets inside a double-quoted label do not count).
Invalid syntax is reported as an error naming the reason — it is
never passed on to a renderer or a link builder. This is a
structural sanity check, not a full Mermaid parse.
Share links
For svg_url and png_url, diagramport builds the link locally:
the payload is the base64url encoding of the UTF-8 diagram text,
appended to https://mermaid.ink/svg/ (SVG) or
https://mermaid.ink/img/ (PNG). Anyone opening the link gets the
diagram rendered by mermaid.ink; diagramport itself makes no
network call to build it.
Rendering
diagramport bundles no renderer — rendering a diagram to an
image needs a Mermaid engine and, typically, a headless browser,
which are deliberately left to the operator. The base64, svg,
and file output types render through a local command named by
the DIAGRAMPORT_RENDERER_COMMAND environment variable. The
command receives the diagram text on stdin and must write the
rendered image bytes to stdout:
export DIAGRAMPORT_RENDERER_COMMAND="my-mermaid-renderer --format png"
diagramport generate --mermaid "graph TD; A-->B;" --output-type base64With no renderer configured, those output types return an error
naming DIAGRAMPORT_RENDERER_COMMAND. Image bytes are never
invented or stubbed. file output is written under
DIAGRAMPORT_OUTPUT_DIR when set, otherwise ./diagrams/, with a
timestamped .png file name.
Development
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network, fake renderer only
npm run dev # run the CLI from source via tsxLicense
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Validate Mermaid syntax and get error details your coding agent can use to correct a diagram. Check the source again before adding it to your documentation. Validation works without saving a diagram. Render SVG, PNG, or PDF, save diagrams privately, and publish selected snapshots. Your existing agent writes and corrects the source; MermaidDesk checks and renders it. Validation checks syntax, not whether a diagram accurately describes a system. Connect through MCP with Streamable HTTP and a scoped bearer API key. Enable MERMAID_RENDER for validation and rendering. A REST API is also available. MCP setup: https://www.mermaiddesk.com/developers/mcp REST API guide: https://www.mermaiddesk.com/developers/api
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.
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
- AlicenseNot gradedqualityDmaintenanceProvides MCP tools to validate Mermaid diagram syntax, render diagrams to SVG, and get documentation links.73 npm16MIT
- AlicenseAqualityDmaintenanceRenders Mermaid diagram markup to PNG images using Puppeteer/Chromium. Enables AI-generated diagrams to be previewed inline and saved to disk.112 npmMIT
- AlicenseAqualityBmaintenanceEnables AI hosts to generate and open Mermaid diagram links in Markdown files, providing tools for syncing, listing, and injecting diagrams via the Mermaid.ai editor.4MIT