Skip to main content
Glama

d2-mcp

Servidor MCP para el lenguaje de diagramas D2. Compila, valida y explora diagramas D2 desde cualquier asistente de IA compatible con MCP.

Utiliza el binario CLI nativo de D2 (instalado automáticamente en la imagen de Docker) para compilar diagramas a SVG y PNG.

Herramientas

Herramienta

Descripción

compile

Código fuente D2 → SVG/PNG. Admite motores de diseño, temas, modo boceto, temas oscuros, segmentación de tableros múltiples y más.

validate

Comprueba la sintaxis de D2 sin renderizar. Devuelve el estado de validez y detalles de error.

list_themes

Lista todos los temas D2 disponibles con sus IDs (claros y oscuros).

list_layouts

Lista los motores de diseño disponibles (dagre, elk).

list_icons

Explora iconos de icons.terrastruct.com por categoría (AWS, GCP, Azure, K8s, dev, essentials, tech).

Recursos

Recurso

Descripción

d2://syntax-reference

Referencia completa de la sintaxis del lenguaje D2 en markdown.

Desarrollo local

Requisitos previos

  • Node.js 22+

  • D2 CLI — instálalo desde d2lang.com o establece la variable de entorno D2_PATH a la ubicación del binario.

  • Iconos (opcional) — ejecuta scripts/download-icons.sh ./icons y luego establece ICONS_DIR=./icons para habilitar la resolución de iconos local. Sin esto, las URLs de los iconos se pasan al CLI de D2 tal cual.

npm install
npm run build
npm start

Para desarrollo con recarga automática:

npm run dev

El servidor se inicia en el puerto 3000 por defecto (se puede sobrescribir con la variable de entorno PORT).

  • Comprobación de estado: GET /health

  • Endpoint MCP: POST /mcp (transporte HTTP transmitible)

Variables de entorno

Variable

Por defecto

Descripción

PORT

3000

Puerto del servidor HTTP

D2_PATH

d2

Ruta al binario CLI de D2 (resuelto mediante PATH por defecto)

ICONS_DIR

./icons

Directorio que contiene iconos SVG descargados para resolución local

Despliegue (Render)

Este proyecto incluye un Dockerfile y un blueprint render.yaml para el despliegue con un solo clic en Render. La imagen de Docker instala automáticamente el binario CLI de D2 y descarga todos los iconos durante la compilación.

  1. Envía este repositorio a GitHub

  2. En Render, crea un nuevo Blueprint y conecta tu repositorio

  3. Render detectará automáticamente render.yaml y realizará el despliegue

O crea manualmente un Web Service con:

  • Entorno: Docker

  • Ruta de comprobación de estado: /health

  • Plan: Gratuito

Conexión al servidor MCP

Una vez desplegado, configura tu cliente MCP para conectarse mediante HTTP transmitible:

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

Reemplaza la URL con la URL real de tu servicio en Render (o http://localhost:3000/mcp para local).

Opciones de la herramienta de compilación

Parámetro

Tipo

Descripción

code

string

Código fuente D2 (obligatorio)

layout

"dagre"

"elk"

Motor de diseño (por defecto: dagre)

sketch

boolean

Modo de boceto dibujado a mano

themeID

integer

ID del tema (ver list_themes)

darkThemeID

integer

ID del tema en modo oscuro

pad

integer

Relleno en píxeles (por defecto: 100)

center

boolean

Centrar SVG en el viewbox

scale

number

Factor de escala (por defecto: ajustar a la pantalla)

target

string

Tablero de destino para diagramas de múltiples tableros

animateInterval

integer

Intervalo de animación (ms) para SVG de múltiples tableros

noXMLTag

boolean

Omitir declaración XML para incrustación HTML

Licencia

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