Skip to main content
Glama

d2-mcp

MCP-Server für die D2-Diagrammsprache. Kompilieren, validieren und erkunden Sie D2-Diagramme von jedem MCP-kompatiblen KI-Assistenten aus.

Verwendet die native D2-CLI-Binärdatei (wird automatisch im Docker-Image installiert), um Diagramme in SVG und PNG zu kompilieren.

Werkzeuge

Werkzeug

Beschreibung

compile

D2-Quellcode → SVG/PNG. Unterstützt Layout-Engines, Designs, Skizzenmodus, dunkle Designs, Multi-Board-Targeting und mehr.

validate

Überprüft die D2-Syntax ohne Rendering. Gibt den Gültigkeitsstatus und Fehlerdetails zurück.

list_themes

Listet alle verfügbaren D2-Designs mit IDs auf (hell und dunkel).

list_layouts

Listet verfügbare Layout-Engines auf (dagre, elk).

list_icons

Durchsuchen Sie Symbole von icons.terrastruct.com nach Kategorie (AWS, GCP, Azure, K8s, dev, essentials, tech).

Ressourcen

Ressource

Beschreibung

d2://syntax-reference

Vollständige Referenz der D2-Sprachsyntax in Markdown.

Lokale Entwicklung

Voraussetzungen

  • Node.js 22+

  • D2 CLI — Installation über d2lang.com oder setzen Sie die Umgebungsvariable D2_PATH auf den Pfad der Binärdatei.

  • Symbole (optional) — Führen Sie scripts/download-icons.sh ./icons aus und setzen Sie dann ICONS_DIR=./icons, um die lokale Symbolauflösung zu aktivieren. Ohne dies werden Symbol-URLs unverändert an die D2-CLI weitergeleitet.

npm install
npm run build
npm start

Für die Entwicklung mit automatischem Neuladen:

npm run dev

Der Server startet standardmäßig auf Port 3000 (kann mit der Umgebungsvariable PORT überschrieben werden).

  • Gesundheitsprüfung: GET /health

  • MCP-Endpunkt: POST /mcp (Streamable HTTP-Transport)

Umgebungsvariablen

Variable

Standard

Beschreibung

PORT

3000

HTTP-Server-Port

D2_PATH

d2

Pfad zur D2-CLI-Binärdatei (wird standardmäßig über PATH aufgelöst)

ICONS_DIR

./icons

Verzeichnis mit heruntergeladenen SVG-Symbolen für die lokale Auflösung

Bereitstellung (Render)

Dieses Projekt enthält ein Dockerfile und einen render.yaml-Bauplan für die Bereitstellung mit einem Klick auf Render. Das Docker-Image installiert automatisch die D2-CLI-Binärdatei und lädt alle Symbole zur Build-Zeit herunter.

  1. Pushen Sie dieses Repository zu GitHub

  2. Erstellen Sie in Render einen neuen Blueprint und verbinden Sie Ihr Repository

  3. Render erkennt render.yaml automatisch und führt die Bereitstellung durch

Oder erstellen Sie manuell einen Web Service mit:

  • Umgebung: Docker

  • Pfad für Gesundheitsprüfung: /health

  • Plan: Kostenlos

Verbindung zum MCP-Server

Nach der Bereitstellung konfigurieren Sie Ihren MCP-Client für die Verbindung über Streamable HTTP:

{
  "mcpServers": {
    "d2": {
      "url": "https://your-service.onrender.com/mcp"
    }
  }
}

Ersetzen Sie die URL durch Ihre tatsächliche Render-Service-URL (oder http://localhost:3000/mcp für lokal).

Optionen für das Kompilier-Werkzeug

Parameter

Typ

Beschreibung

code

string

D2-Quellcode (erforderlich)

layout

"dagre"

"elk"

Layout-Engine (Standard: dagre)

sketch

boolean

Handgezeichneter Skizzenmodus

themeID

integer

Design-ID (siehe list_themes)

darkThemeID

integer

Design-ID für den Dunkelmodus

pad

integer

Auffüllung (Padding) in Pixeln (Standard: 100)

center

boolean

SVG in der Viewbox zentrieren

scale

number

Skalierungsfaktor (Standard: an Bildschirm anpassen)

target

string

Ziel-Board für Multi-Board-Diagramme

animateInterval

integer

Animationsintervall (ms) für Multi-Board-SVGs

noXMLTag

boolean

XML-Deklaration für HTML-Einbettung weglassen

Lizenz

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/ryanmccauley/d2-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server