mermaid-diagram-generator
v0.2.3
Published
Genera imagen del diagrama Mermaid y expone un MCP daemon compatible con VSCode e IntelliJ
Maintainers
Readme
mermaid-diagram-generator (MCP adapter)
Servidor MCP compatible que genera imágenes SVG a partir de diagramas Mermaid (.mmd). Ideal para integración con Copilot, VSCode y herramientas JetBrains.
Versión: 0.2.0 | Licencia: MIT | Autor: jdug | Repositorio: GitHub
Instalación local / Desarrollo
Desde el repositorio:
npm install
npm start
# Servidor MCP disponible en http://localhost:3456API endpoints
GET /.well-known/mcp— Manifiesto MCP con información del servidor y endpoints disponiblesPOST /generate— Genera diagrama SVG desde Mermaid. Acepta:- Texto plano Mermaid (
text/plain) - JSON:
{ "source": "...", "filename": "..." }(filename opcional)
- Texto plano Mermaid (
GET /diagram— Devuelve el SVG generado (image/svg+xml)- Parámetro query:
?name=para especificar archivo SVG
- Parámetro query:
GET /health— Healthcheck del servidor
Parámetros POST /generate
source(obligatorio) — Código Mermaid en stringmmd(alternativa) — Código Mermaid en stringprompt(opcional) — Descripción adicional del diagramafilename(opcional) — Nombre personalizado para el SVG (sin extensión)
Ejemplos de uso
Con curl - Generar desde Mermaid
curl -X POST http://localhost:3456/generate \
-H "Content-Type: application/json" \
-d ''{"source":"graph TD; A-->B;","filename":"diagrama-login"}''Con curl - Descargar SVG
curl http://localhost:3456/diagram -o diagrama.svgDesde archivo .mmd
curl -X POST http://localhost:3456/generate --data-binary @mi-diagrama.mmdDistribución
Publicar en npm
npm login
npm publish --access publicEl paquete estará disponible como mermaid-diagram-generator en npm.
Instalar globalmente
npm install -g mermaid-diagram-generator
mermaid-mcp # Inicia el servidorIntegración con entornos
VSCode / Copilot
- Navega a
%APPDATA%\Code\User\mcp.json(Windows) o~/.config/Code/User/mcp.json(Linux/Mac) - Añade la configuración:
{
"servers": {
"mermaid-mcp": {
"url": "http://localhost:3456",
"type": "http"
}
}
}IntelliJ / JetBrains
Usa el mismo archivo mcp.json si el plugin lo soporta, o configura la URL a través de la UI del plugin.
Flujo de operación
- Copilot/Studio descubre el servidor accediendo a
GET /.well-known/mcp - El usuario solicita "genera un diagrama de flujo"
- Copilot genera el código Mermaid y envía
POST /generatecon{ "source": "..." } - El servidor genera el SVG y lo guarda en el workspace
- El cliente descarga el SVG desde
GET /diagramo especifica el nombre con?name=diagrama-login
Cambios recientes (v0.2.0)
- ✨ Soporte para JSON payload con
source,mmd,prompt - ✨ Parámetro
filenamepara personalizar nombres de SVG - ✨ Endpoint
/.well-known/mcpcon manifiesto MCP - ✨ Query parameter
?name=enGET /diagram - ✨ Binary
mermaid-mcpregistrado en npm - 🔧 Refactor de
scripts/generate-diagram.js - ✅ Mejor manejo de errores
Scripts disponibles
npm start # Inicia el servidor MCP
npm run generate-diagram # Genera un diagrama desde CLI
npm run serve-diagram # Sirve diagrama en HTTP
npm publish # Publica en npm (requiere npm login)Requisitos
- Node.js >= 14
- npm
Licencia
MIT
