d2-mcp
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 |
| 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. |
| Comprueba la sintaxis de D2 sin renderizar. Devuelve el estado de validez y detalles de error. |
| Lista todos los temas D2 disponibles con sus IDs (claros y oscuros). |
| Lista los motores de diseño disponibles ( |
| Explora iconos de icons.terrastruct.com por categoría (AWS, GCP, Azure, K8s, dev, essentials, tech). |
Recursos
Recurso | Descripción |
| 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_PATHa la ubicación del binario.Iconos (opcional) — ejecuta
scripts/download-icons.sh ./iconsy luego estableceICONS_DIR=./iconspara 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 startPara desarrollo con recarga automática:
npm run devEl servidor se inicia en el puerto 3000 por defecto (se puede sobrescribir con la variable de entorno PORT).
Comprobación de estado:
GET /healthEndpoint MCP:
POST /mcp(transporte HTTP transmitible)
Variables de entorno
Variable | Por defecto | Descripción |
|
| Puerto del servidor HTTP |
|
| Ruta al binario CLI de D2 (resuelto mediante |
|
| 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.
Envía este repositorio a GitHub
En Render, crea un nuevo Blueprint y conecta tu repositorio
Render detectará automáticamente
render.yamly realizará el despliegue
O crea manualmente un Web Service con:
Entorno: Docker
Ruta de comprobación de estado:
/healthPlan: 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 | |
| string | Código fuente D2 (obligatorio) | |
|
|
| Motor de diseño (por defecto: dagre) |
| boolean | Modo de boceto dibujado a mano | |
| integer | ID del tema (ver | |
| integer | ID del tema en modo oscuro | |
| integer | Relleno en píxeles (por defecto: 100) | |
| boolean | Centrar SVG en el viewbox | |
| number | Factor de escala (por defecto: ajustar a la pantalla) | |
| string | Tablero de destino para diagramas de múltiples tableros | |
| integer | Intervalo de animación (ms) para SVG de múltiples tableros | |
| boolean | Omitir declaración XML para incrustación HTML |
Licencia
MIT
This server cannot be installed
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