PlantUML-MCP-Server
Servidor MCP que proporciona capacidades de generación de diagramas PlantUML
Documentación
Servidor MCP de PlantUML
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona capacidades de generación de diagramas PlantUML para Claude Desktop y Claude Code.
Herramientas Disponibles
generate_plantuml_diagram- Genera diagramas y obtén URLs incrustables (SVG/PNG), opcionalmente guarda localmenteencode_plantuml- Codifica código PlantUML para compartir mediante URLdecode_plantuml- Decodifica PlantUML desde cadenas codificadas
Prompts Disponibles
plantuml_error_handling- Directrices para manejar errores de sintaxis de PlantUML e implementar flujos de corrección automática
Este prompt proporciona a las instancias de Claude instrucciones completas sobre cómo:
- Detectar errores de sintaxis de PlantUML usando la validación nativa del servidor
- Implementar flujos de trabajo inteligentes de corrección automática para problemas de sintaxis comunes
- Analizar respuestas de error estructuradas y aplicar correcciones apropiadas
- Manejar fallos de validación con elegancia mediante lógica de reintentos
El prompt permite a Claude detectar y corregir automáticamente errores comunes de PlantUML como etiquetas faltantes, sintaxis de flechas inválida, errores tipográficos en palabras clave y comillas faltantes, haciendo que la generación de diagramas PlantUML sea más confiable y fácil de usar.
Configuración Rápida
Para Claude Code
# Using default PlantUML server
claude mcp add plantuml --scope user --env PLANTUML_SERVER_URL=https://www.plantuml.com/plantuml -- npx plantuml-mcp-server
Para Claude Desktop
Agrega esto a tu configuración MCP de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en macOS):
{
"mcpServers": {
"plantuml": {
"command": "npx",
"args": ["plantuml-mcp-server"],
"env": {
"PLANTUML_SERVER_URL": "https://www.plantuml.com/plantuml"
}
}
}
}
Para usar tu propio servidor PlantUML, cambia la variable de entorno PLANTUML_SERVER_URL.
Luego reinicia Claude Desktop/Code para activar el servidor MCP.
Lo Que Puedes Hacer
Después de la configuración, puedes pedirle a Claude que:
- Genere diagramas PlantUML y obtenga URLs SVG/PNG incrustables
- Cree diagramas de secuencia, diagramas de clases, diagramas de arquitectura
- Use características avanzadas de PlantUML como directivas
!includey bibliotecas externas - Codifique/decodifique PlantUML para compartir mediante URL
- Guarde diagramas localmente con restricciones seguras de rutas
Guardar Diagramas Localmente
La herramienta generate_plantuml_diagram admite guardar diagramas en archivos locales mediante el parámetro output_path.
Seguridad: Por defecto, los archivos solo se pueden guardar dentro del directorio de trabajo actual. Solo se permiten las extensiones .svg y .png.
Para permitir directorios adicionales, establece la variable de entorno PLANTUML_ALLOWED_DIRS:
# Allow specific directories (colon-separated)
PLANTUML_ALLOWED_DIRS=/home/user/diagrams:/tmp/output
# Allow any directory (use with caution)
PLANTUML_ALLOWED_DIRS=*
Ejemplos
Diagrama C4 para plantuml-mcp-server
> add c4 diagram for this project in readme 'C4 diagram for plantuml-mcp-server' section
Diagrama de secuencia para plantuml-mcp-server
> add sequence diagram in readme in architecture section
Diagrama de Flujo del Código de Autorización OAuth2
> show me basic oauth2 flow png, open it in browser
Configuración de Desarrollo
Requisitos Previos
- Node.js 18+
- npm
Instalación Local
# Clone and setup
git clone https://github.com/mzagar/plantuml-mcp-server.git
cd plantuml-mcp-server
make setup
Comandos de Desarrollo
# Show all available commands
make help
# Build and run all tests
make clean build test-all
Variables de Entorno
| Variable | Descripción | Predeterminado |
|---|---|---|
PLANTUML_SERVER_URL | URL del servidor PlantUML | https://www.plantuml.com/plantuml |
PLANTUML_ALLOWED_DIRS | Directorios adicionales para output_path (separados por dos puntos, o * para cualquiera) | Solo CWD |
Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles.