dgv
Module, APIs, Programme, Datenbanken, Warteschlangen, Bridges, Sidecars, Geräte — jedes ist ein Knoten mit einer Form und einer Art; jede Verbindung trägt ein Protokoll und bindet an einen Port, den das Ziel deklariert. Ein Lint-Durchlauf sagt dir mit einem stabilen Code und einem konkreten Fix, wann der Plan nicht funktionieren kann: eine Kante in einen nicht deklarierten Port, ein Protokollkonflikt, ein Store, der Aufrufe initiiert, eine einseitige Bridge, ein Importzyklus, eine API, die niemand aufruft. All das taucht bevor ein Tag an Tokens in den falschen Plan fließt auf.
Nur lokal, dateibasiert, keine Konten: Diagramme sind dgv/<name>.dgv.json in deinem Projekt.
Claude Code ──MCP (stdio)──▶ dgv mcp ──▶ dgv/*.dgv.json ◀── dgv serve ──▶ browser viewer (Svelte Flow)
▲ │
└──────── save / drag / edit ──┘Inspiriert von archify (typisiertes IR + reparierbare Diagnosen) und vom arch-viewer-Entwurf in Cerveau (cerveau.sh) — der lokale-First-agentische Coding-Harness, für den DGV gebaut wurde, um zu planen. DGV unterscheidet sich von beiden bewusst: eine live editierbare Leinwand statt statischem SVG, explizite Frame-Zugehörigkeit statt Geometrie-Inferenz, dagre-Layout und Ports/Kontrakte auf Kanten.
Warum das in jede Phase gehört
Ein vibecodiertes System wird schneller geschrieben, als irgendwer es im Kopf behalten kann — du, deine Teammitglieder und der Agent raten am Ende alle über eine Form, die niemand aufgeschrieben hat. DGV schreibt sie in einer Form auf, die alle drei lesen können und mit der ein Linter streiten kann.
Beide Bilder unten sind echte Exporte aus dem Snapshot-Button dieses Repos: die Architektur von Cerveau, 35 Komponenten über 7 Grenzen, geplant in DGV, bevor der Code geschrieben wurde.
Falte es und dieselbe Datei beantwortet eine andere Frage. Jeder Frame wird zu einem Knoten, die Drähte, die jede Grenze kreuzen, verschmelzen zu einem beschrifteten Link, und ein System, das du nicht auf einen Blick erfassen kannst, wird zu sieben Boxen, die du kannst. Dasselbe Dokument — es gibt kein zweites Diagramm, das synchron gehalten werden muss, und keinen Moment, in dem Übersicht und Detail nicht übereinstimmen.
Planung — bevor ein Tag an Tokens in die falsche Richtung geht
Der billigste Bug ist der, der im Plan erwischt wird. dgv_lint liefert einen stabilen Code, das genaue
Subjekt und konkrete Fixes, sodass ein Agent den Plan in derselben Runde reparieren kann, in der er ihn
gebrochen hat: eine Kante in einen Port, den das Ziel nie deklariert hat, ein Protokoll, das eine Art
nicht sprechen kann, ein Store, der Aufrufe initiiert, eine einseitige Bridge, ein Importzyklus, eine
API, die niemand aufruft.
Ein falscher Plan kündigt sich nicht an. Er wird implementiert, und du findest es einen Tag Generierung später heraus.
Bauen — die Karte, die ein Agent liest, statt des ganzen Baums
Weise einen Agenten auf ein 200-Dateien-Repo hin und er grept, öffnet und inferiert, verbrennt Kontext,
um ein Bild wiederherzustellen, das bereits existiert. dgv_export reicht ihm dieses Bild direkt —
welche Komponente was besitzt, welcher Port welches Protokoll trägt, was was aufrufen darf — als Markdown,
eine Gliederung, Mermaid oder ein SVG.
Die typisierten Kontrakte sind der Teil, der den erfundenen Endpunkt verhindert. Ein Modell, das
memclient → typesense · search · http lesen kann, muss nicht raten, ob der Store SQL spricht.
Reviewen — Architekturdrift taucht im Diff auf
Das Diagramm ist eine JSON-Datei im Repo, also kommt eine Änderung, die ein Modul stillschweigend eine Datenbank direkt aufrufen lässt, im Pull Request als geänderte Kante an, neben dem Code, der es getan hat. Kein Screenshot, kein veraltetes Figma, kein Whiteboard-Foto in einem Wiki.
Warten — ein Plan, mit dem gestritten wird, bleibt wahr
Dokumentation verrottet, weil nichts sie prüft. Diese hier wird bei jedem Lesen geprüft — und sie braucht
trotzdem deine Ehrlichkeit. Während diese README geschrieben wurde, hat Lint Cerveaus Diagramm erwischt,
wie es den vLLM-Kern als Work-in-Progress bezeichnete, während cores.json ihn als aktiven Kern
hatte, und hat einen Import markiert, der das überschritt, was das Diagramm als zwei Prozesse beschrieb,
der Code aber als einen ausführt. Beides waren Fälle, in denen das Diagramm über ausgelieferte Arbeit
log. Beides war ein Einzeiler-Fix, gefunden vom Tool statt von jemandem, der später darüber stolpert.
DGV zeichnet den Plan auf; es liest deinen Quellcode nicht. Es kann dir nicht sagen, dass der Code übereinstimmt — nur, dass der Plan kohärent ist und dass das, was du aufgeschrieben hast, immer noch das sagt, was du gemeint hast. Das ist die ehrliche Grenze, und es ist der Grund, warum die Datei im Repo lebt, wo Review sie erreichen kann.
Related MCP server: mermaid-mcp-server
Pakete
Pfad | was |
| isomorphes ESM: Katalog, Validator, Lint, dagre-Layout, Exporte, Datei-Store |
|
|
| Svelte-5- + Svelte-Flow-Editor: geformte Knoten, Frames, Falten, Inspektor, Live-Probleme |
| Claude-Code-Skill ( |
|
|
Setup
cd Dia-GramV
npm install
npm run build # builds the viewer once
node packages/mcp/bin/dgv.mjs doctor # checks node, viewer, prints the mcp add line
# register the MCP server for Claude Code (user scope, any project)
claude mcp add dgv -s user -- node /ABS/PATH/Dia-GramV/packages/mcp/bin/dgv.mjs mcp
# install the skill
ln -s /ABS/PATH/Dia-GramV/skill ~/.claude/skills/dgvDiagramme gehen nach ./dgv unter dem Verzeichnis, in dem Claude Code gestartet wurde (überschreibbar mit DGV_DIR).
MCP-Tools
Tool | macht |
| Knotenarten (Form + Bedeutung), Kantenarten, Protokolle, Status |
| Diagramme finden und lesen (Zusammenfassungs-Gliederung oder volles JSON) |
| neues leeres Diagramm |
| Frames/Knoten/Kanten per ID upserten, per ID entfernen; platziert neue Knoten automatisch; liefert den Lint-Bericht |
| Diagnosen mit |
| dagre-Layout, Mitglieder bleiben in ihrem Frame |
| startet den Viewer bei Bedarf, öffnet das Diagramm im Browser |
| Markdown-Tabellen (für Doku/CLAUDE.md), Mermaid, Gliederung oder ein eigenständiges SVG |
Viewer
node packages/mcp/bin/dgv.mjs serve → http://127.0.0.1:7710
Knoten nach Art hinzufügen, vom rechten Griff eines Knotens ziehen zum Verbinden, Knoten in Frames ziehen (Frames wachsen mit), Frames in der Größe ändern
der Inspektor bearbeitet jedes Feld inkl. Ports; das Problem-Panel lintet live und springt zum Subjekt
nach Art oder nach Build-Status einfärben;
Strg+Sspeichert; die Seite lädt neu, wenn der Agent die Datei ändert (oder warnt, wenn du ungespeicherte Änderungen hast)einen Frame zu einem Knoten falten — über einen Frame fahren und falten, oder
Sfür die einfache Ansicht drücken. Ein gefalteter Frame zeichnet sich als eine Karte, die zeigt, was er enthält, und die Drähte, die hineinkreuzen, verschmelzen zu einem beschriftetenN Links. Die gefaltete Ansicht behält ihr eigenes Layout, pro Diagramm, in deinem Browser — nie in der DateiSnapshot (
Umschalt+S) speichert, was auf dem Bildschirm ist, als eigenständiges SVG für eine README- oder Doku-Seite: geroutete Drähte und alles, auf den Inhalt zugeschnitten, keine externen Schriften oder Bilder, nichts wird nachgeladennpm run devstartet Vite auf 5190 mit/api-Proxy auf 7710 zum Hacken am Viewer
Frames verschachteln sich nicht. Einen zu falten musste die Frage beantworten „und was ist mit den Frames darin“, und jede Antwort war ein Sonderfall; eine flache Ebene macht einen Frame zu genau einer Karte. frame/nested ist ein Lint-Fehler.
CLI
dgv lint <name|file> [--json] dgv layout <name|file> [--direction TB|LR]
dgv export <name|file> [--format markdown|mermaid|summary|svg]
dgv list | catalog | doctor | serve [--dir d --port p --no-open] | open <name> | mcpDateiformat
Siehe skill/references/format.md für das Schema, die Arten und jeden Lint-Code.
Tests
npm test # core: schema, lint rules, patch semantics, layout containment, exports, storeNicht im Umfang (noch)
Kollaboration / Hosting, Sequenz- und Lebenszyklus-Diagrammtypen, automatische Repository-Erkennung. Das Dateiformat ist versioniert (dgv: 1), sodass diese kommen können, ohne bestehende Diagramme zu brechen.
MIT.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Generate org charts, MCD/ERD data models, and C4 architecture diagrams — pilot OrgGen AI via MCP.
Create and edit architecture diagrams from your AI agent; get an SVG and a live editable canvas.
Create and manage Mermaid.js flowcharts and diagrams with AI agents via MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables programmatic creation and management of draw.io diagrams through MCP tools. Supports building architecture diagrams, flowcharts, and visualizations with stateless operations that generate VSCode-compatible .drawio.svg files.91Apache 2.0
- AlicenseNot gradedqualityDmaintenanceProvides MCP tools to validate Mermaid diagram syntax, render diagrams to SVG, and get documentation links.7516MIT
- AlicenseAqualityDmaintenanceGenerates Excalidraw architecture diagrams with support for 60+ components including GCP, Kafka, and AI/Agentic shapes. Provides MCP tools for creating, modifying, and converting diagrams from structured input or Mermaid syntax.41MIT
- FlicenseAqualityDmaintenanceEnables local Draw.io diagram creation, editing, and export via MCP tools, using the desktop app.52
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShAInyXYZ/Dia-GramV'
If you have feedback or need assistance with the MCP directory API, please join our Discord server