dgmo-mcp
MCP server for rendering 35+ diagram types — sequence, flowchart, ER, C4, gantt, mindmap, infra, and more — to SVG/PNG with browser preview. Local rendering with palette/theme support and shareable diagrammo.app URLs.
README
@diagrammo/dgmo-mcp
MCP server for rendering DGMO diagrams. Works with Claude Desktop, Claude Code, and any MCP-compatible AI tool.
Tools
| Tool | Description |
|---|---|
render_diagram |
Render DGMO markup to SVG or PNG |
share_diagram |
Generate a shareable diagrammo.app URL |
open_in_app |
Open diagram in Diagrammo desktop app (falls back to browser if app not installed) |
list_chart_types |
List all supported chart types |
get_language_reference |
Get DGMO syntax documentation |
preview_diagram |
Render one or more diagrams and open an HTML preview in the browser |
generate_report |
Generate a polished HTML report with multiple diagrams, ToC, and optional source |
preview_diagram
Renders one or more DGMO diagrams to SVG and opens a self-contained HTML page in the default browser. The page includes a light/dark theme toggle and responsive SVG layout.
| Parameter | Type | Default | Description |
|---|---|---|---|
diagrams |
[{ title?, dgmo }] |
(required) | One or more diagrams to preview |
theme |
'light' | 'dark' |
'light' |
Color theme for rendered SVGs |
palette |
string |
'nord' |
Color palette |
include_source |
boolean |
false |
Show DGMO source in collapsible blocks |
A single diagram renders as a simple preview page. Multiple diagrams produce a report-style layout with a table of contents (when >3 sections). If some diagrams fail to render, successful ones are shown with error placeholders for the failures.
generate_report
Generates a polished multi-section HTML report and optionally opens it in the browser. Includes a title, optional subtitle, auto-generated table of contents, per-section descriptions, and a timestamp footer. Suitable for bundling project analysis into a shareable document.
| Parameter | Type | Default | Description |
|---|---|---|---|
title |
string |
(required) | Report title |
subtitle |
string |
— | Optional subtitle |
sections |
[{ title, description?, dgmo }] |
(required) | Report sections, each with a diagram |
theme |
'light' | 'dark' |
'light' |
Color theme for rendered SVGs |
palette |
string |
'nord' |
Color palette |
include_source |
boolean |
false |
Show DGMO source in collapsible blocks |
open |
boolean |
true |
Open the report in the browser |
Setup
Claude Code
Add to your project's .claude/settings.local.json:
{
"mcpServers": {
"dgmo": {
"command": "npx",
"args": ["-y", "@diagrammo/dgmo-mcp"]
}
}
}
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"dgmo": {
"command": "npx",
"args": ["-y", "@diagrammo/dgmo-mcp"]
}
}
}
Restart Claude Desktop after saving. The tools appear automatically.
Development
pnpm install
pnpm build
pnpm typecheck
To iterate against an unpublished @diagrammo/dgmo checked out in ../dgmo,
override the npm-resolved dep with a workspace symlink after install:
pnpm install
pnpm link ../dgmo # symlink node_modules/@diagrammo/dgmo → ../dgmo
pnpm --filter @diagrammo/dgmo build # ensure dist/ is up to date
pnpm install will undo the link, so re-run pnpm link ../dgmo if deps change.
Releasing
Releases are tag-driven via .github/workflows/release.yml:
- Bump the version in all three files (must match exactly — workflow
verifies):
package.json→versionmanifest.json→versionserver.json→versionandpackages[0].version
- Commit and tag:
git commit -am "Release vX.Y.Z" git tag vX.Y.Z git push && git push --tags - The workflow runs typecheck + build, publishes to npm with provenance,
bundles the
.mcpb, publishes to the MCP registry via GitHub OIDC, and attaches the.mcpbto a GitHub release.
Required secrets
NPM_TOKEN— npm granular access token scoped to@diagrammo/*write. Settings → Secrets and variables → Actions → New repository secret.
MCP registry auth uses GitHub OIDC automatically (no token needed) because the
repo is in the diagrammo org and the server namespace is
io.github.diagrammo/*.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.