Render Mermaid and source-code diagrams via MCP.
Valid MCP server (2 strong, 3 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
12 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-malnati-vaults-diagram-tools": {
"args": [
"-y",
"vaults-diagram-tools"
],
"command": "npx"
}
}
}From the project's GitHub README.

Mermaid to assets. Source code to maps. MCP for agents.
vaults-diagram-tools is a standalone toolkit for teams that need reproducible Mermaid SVG/JPEG assets, source-code diagrams, and agent-friendly diagram workflows without carrying Vault-specific content.
vaults-diagram-tools@0.1.3io.github.Malnati/vaults-diagram-toolsquay.io/ricardomalnati/vaults-diagram-tools:v0.1.0io.github.Malnati/vaults-diagram-tools.Content-management workflows outside diagram generation are not part of this package.
Install in a project:
npm install -D vaults-diagram-tools
Render one Mermaid source to durable assets:
npx vaults-mermaid-render path/to/diagram.mmd --output-dir out --manifest out/manifest.json
Generate Mermaid diagrams from source code:
npx vaults-source-diagrams --source-dir src --output-dir diagrams
Run the MCP stdio server:
npx vaults-diagram-mcp
Use one-shot npx when the project should not keep a dependency:
npx --yes --package vaults-diagram-tools vaults-mermaid-render path/to/diagram.mmd --output-dir out
npx --yes --package vaults-diagram-tools vaults-source-diagrams --source-dir src --output-dir diagrams
npx --yes --package vaults-diagram-tools vaults-diagram-mcp
| Command | Purpose |
|---|---|
vaults-mermaid-render | Render .mmd or .mermaid files to SVG/JPEG, manifests, and optional PNG/text sidecars. |
vaults-source-diagrams | Generate Mermaid diagrams from source-code structure, including focused selections and traceability metadata. |
vaults-diagram-mcp | Expose render_mermaid_text, render_mermaid_file, and generate_source_diagrams through MCP stdio. |
Additional package binaries are compatibility entrypoints for older Vaults paths, optional text renderers, and Podman workflows.
.mmd, render .svg and .jpg, and show source inline with a fenced mermaid block.0.1.3, and the Smithery server page is already published.Use the published npm package when you want the normal Node.js toolchain installation. Current npm latest is vaults-diagram-tools@0.1.3:
npm install -D vaults-diagram-tools
npx vaults-mermaid-render path/to/diagram.mmd --output-dir out --manifest out/manifest.json
npx vaults-source-diagrams --source-dir src --output-dir diagrams
npx vaults-diagram-mcp
npxUse --package when the project should not keep the dependency:
npx --yes --package vaults-diagram-tools vaults-mermaid-render path/to/diagram.mmd --output-dir out
npx --yes --package vaults-diagram-tools vaults-source-diagrams --source-dir src --output-dir diagrams
npx --yes --package vaults-diagram-tools vaults-diagram-mcp
Use the GitHub package source when testing a commit before a registry release:
npm install github:malnati/vaults-diagram-tools
npx vaults-mermaid-render path/to/diagram.mmd --output-dir out
The latest GitHub Release and GHCR image remain v0.1.1; the Quay.io Podman image is published at v0.1.0; npm and MCP Registry metadata have advanced to 0.1.3:
ghcr.io/malnati/vaults-diagram-tools:v0.1.1quay.io/ricardomalnati/vaults-diagram-tools:v0.1.0Use the checkout for development, validation, or release preparation:
git clone https://github.com/malnati/vaults-diagram-tools.git
cd vaults-diagram-tools
npm ci
npm test
node packages/renderer/render-mermaid-assets.mjs examples/simple/flowchart.mmd --output-dir tmp/rendered
node packages/source-diagrams/source-diagrams.mjs --source-dir packages/mcp --output-dir tmp/source-diagrams
node packages/mcp/server.mjs
Build locally:
docker build -f containers/Containerfile -t vaults-diagram-tools:local .
podman build -f containers/Containerfile -t vaults-diagram-tools:local .
Run a render from the GHCR image:
docker run --rm \
-v "$PWD/examples/simple:/work/input:ro" \
-v "$PWD/tmp/container-output:/work/output:rw" \
ghcr.io/malnati/vaults-diagram-tools:v0.1.1 \
--output-dir /work/output /work/input/flowchart.mmd
Run the published Podman image from Quay.io:
podman run --rm \
-v "$PWD/examples/simple:/work/input:ro" \
-v "$PWD/tmp/container-output:/work/output:rw" \
quay.io/ricardomalnati/vaults-diagram-tools:v0.1.0 \
--output-dir /work/output /work/input/flowchart.mmd
Quay.io also exposes 0.1.0 and latest tags for the same published package line.
Podman helper scripts are available through vaults-mermaid-podman-build, vaults-mermaid-podman-render, and vaults-mermaid-podman-test.
The package is CLI-first. CDN endpoints expose browser-safe metadata/helpers only; SVG/JPEG rendering still runs through Node.js, MCP, or the container runtime.
https://cdn.jsdelivr.net/npm/vaults-diagram-tools/packaging/cdn/vaults-diagram-tools.mjs
https://unpkg.com/vaults-diagram-tools/packaging/cdn/vaults-diagram-tools.mjs
After installing from npm, run public CLIs directly from node_modules/.bin, npm exec, or npx:
vaults-mermaid-render path/to/diagram.mmd --output-dir out --png --ascii --manifest out/manifest.json
vaults-source-diagrams --source-dir src --output-dir diagrams --langs auto --diagrams dependency,class
vaults-diagram-mcp
One-shot examples:
npx --yes --package vaults-diagram-tools vaults-mermaid-render examples/simple/flowchart.mmd --output-dir tmp/vaults-diagram-tools
npx --yes --package vaults-diagram-tools vaults-source-diagrams --source-dir packages/mcp --output-dir tmp/source-diagrams --render-mode placeholder
npx --yes --package vaults-diagram-tools vaults-diagram-mcp
Local checkout equivalents:
node packages/renderer/render-mermaid-assets.mjs examples/simple/flowchart.mmd --output-dir tmp/vaults-diagram-tools
node packages/source-diagrams/source-diagrams.mjs --source-dir packages/mcp --output-dir tmp/source-diagrams
node packages/mcp/server.mjs
vaults-diagram-mcp exposes exactly three tools:
render_mermaid_textrender_mermaid_filegenerate_source_diagramsExample client command:
vaults-diagram-mcp
The MCP adapter passes theme and rendering options through to the same renderer used by the CLI, so a client can request theme: "dracula" and receive .svg + .jpg artifacts.
The diagrams below were generated by this repository with vaults-mermaid-render --theme dracula; Markdown links the generated assets instead of embedding SVG/JPEG.
flowchart LR
Install["Install"] --> Npm["npm registry"]
Install --> Npx["npx one-shot"]
Install --> GitHub["GitHub npm"]
Install --> Local["Local checkout"]
Install --> Container["Docker Podman GHCR Quay.io"]
Npm --> Cli["Public CLIs"]
Npx --> Cli
GitHub --> Cli
Local --> Cli
Container --> Cli
Cli --> Render["vaults-mermaid-render"]
Cli --> Source["vaults-source-diagrams"]
Cli --> Mcp["vaults-diagram-mcp"]
Render --> Svg["SVG Dracula"]
Render --> Jpg["JPEG Dracula"]
Source --> Mermaid["Mermaid source"]
Source --> Svg
Mcp --> Tools["3 explicit MCP tools"]
flowchart TB
User["User or agent"] --> Markdown["Markdown docs"]
User --> Cli["CLI workflow"]
User --> McpClient["MCP client"]
Cli --> Renderer["vaults-mermaid-render"]
Cli --> SourceDiagrams["vaults-source-diagrams"]
McpClient --> McpServer["vaults-diagram-mcp"]
McpServer --> Renderer
McpServer --> SourceDiagrams
SourceDiagrams --> SourceTree["Source tree"]
SourceDiagrams --> GeneratedMmd["Generated .mmd"]
GeneratedMmd --> Renderer
Renderer --> Svg[".svg"]
Renderer --> Jpeg[".jpg"]
Renderer --> Manifest["manifest.json"]
Svg --> Markdown
Jpeg --> Markdown
GeneratedMmd --> Markdown
flowchart LR
N1["server.mjs"]
N2["tests/mcp-tools.test.mjs"]
N3["tools.mjs"]
N1 --> N3
N2 --> N3
The repository, GitHub Pages landing, Actions summaries, release notes, GitHub App badge, and social preview use one deterministic brand kit generated from the current landing visual language.
Regenerate and verify the kit with:
npm run brand:generate
npm run brand:check
Generated Markdown should link artifacts and show source in a mermaid fenced block:
#### Diagram title
- Links: [Mermaid source](docs/assets/diagrams/install-usage-flow.mmd) / [SVG](docs/assets/diagrams/install-usage-flow.svg) / [JPEG](docs/assets/diagrams/install-usage-flow.jpg)
```mermaid
flowchart TD
A["Source"] --> B["Rendered assets"]
```
SVG and JPEG files are delivery artifacts. Markdown should link them instead of embedding them as images by default.
npm run license:check; refresh generated notices with npm run license:generate.beautiful-mermaid.LICENSE, NOTICE.md, THIRD_PARTY_NOTICES.md, and upstream license files bundled by packaged dependencies or the offline vendor runtime.The source tree does not commit node_modules. Build and release jobs create offline vendor assets with:
npm run vendor:refresh
npm run test:vendor:offline
The renderer can run from normal npm dependencies during development, or from packages/renderer/vendor/node when MMDC_VENDOR_ONLY=1.
The default renderer is the Node/JS/WASM vendor path and does not require Chromium, Puppeteer, mmdc, ImageMagick, or npx. The legacy shell wrapper only uses mmdc when explicitly requested with MMDC_RENDER_ENGINE=mmdc; automatic fallback to Puppeteer is disabled.
The public vaults-diagram-tools GitHub App is the installable read-only app surface for this package.
Working in v1:
io.github.Malnati/vaults-diagram-tools active at version 0.1.3ricardomalnati/vaults-diagram-toolsTemplates in v1:
vaults-diagram-tools is published as npm 0.1.3 and MCP Registry server io.github.Malnati/vaults-diagram-tools version 0.1.3. The latest GitHub Release and GHCR image remain v0.1.1; Quay.io carries the Podman image line at v0.1.0.
| Channel | Status |
|---|---|
| GitHub Release | v0.1.1 |
| Release assets | vaults-diagram-tools-0.1.1.tgz and vaults-diagram-tools-0.1.1.zip |
| npm | vaults-diagram-tools@0.1.3, dist-tag latest |
| MCP Registry | io.github.Malnati/vaults-diagram-tools, status active, version 0.1.3 |
| Smithery | ricardomalnati/vaults-diagram-tools is published |
| Registry PR | PR #17 aligned the MCP Registry publisher name and was merged. |
| GHCR container | ghcr.io/malnati/vaults-diagram-tools:v0.1.1 |
| Quay.io Podman image | quay.io/ricardomalnati/vaults-diagram-tools:v0.1.0 |
| Automation | CI, CodeQL, Pages, and Release workflows are published through GitHub Actions. |
| GitHub App | vaults-diagram-tools public read-only app; install. |
| Documentation | GitHub Pages publishes the docs/ site. |
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.