PlantUML-MCP-Server

Servidor MCP que proporciona capacidades de generación de diagramas PlantUML

Documentación

Servidor MCP de PlantUML

smithery badge

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

  1. generate_plantuml_diagram - Genera diagramas y obtén URLs incrustables (SVG/PNG), opcionalmente guarda localmente
  2. encode_plantuml - Codifica código PlantUML para compartir mediante URL
  3. decode_plantuml - Decodifica PlantUML desde cadenas codificadas

Prompts Disponibles

  1. 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 !include y 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

C4 Container Diagram - PlantUML MCP Server

Diagrama de secuencia para plantuml-mcp-server

> add sequence diagram in readme in architecture section

PlantUML MCP Server Architecture

Diagrama de Flujo del Código de Autorización OAuth2

> show me basic oauth2 flow png, open it in browser

OAuth2 Authorization Code Flow


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

VariableDescripciónPredeterminado
PLANTUML_SERVER_URLURL del servidor PlantUMLhttps://www.plantuml.com/plantuml
PLANTUML_ALLOWED_DIRSDirectorios adicionales para output_path (separados por dos puntos, o * para cualquiera)Solo CWD

Licencia

Licencia MIT - consulta el archivo LICENSE para más detalles.