UML-MCP-Server

Genera varios diagramas UML a partir de lenguaje natural o código PlantUML. Devuelve código PlantUML, URLs de imágenes y guarda diagramas localmente.

Documentación

UML-MCP-Server

Inglés | Chino

smithery badge

UML-MCP Server es una herramienta de generación de diagramas UML basada en MCP (Model Context Protocol), que puede ayudar a los usuarios a generar varios tipos de diagramas UML mediante descripción en lenguaje natural o escribiendo directamente código PlantUML.

Características funcionales

  • Admite múltiples tipos de diagramas UML: diagrama de clases, diagrama de secuencia, diagrama de actividades, diagrama de casos de uso, diagrama de estados, diagrama de componentes, diagrama de despliegue, diagrama de objetos
  • Los diagramas UML se pueden generar mediante descripción en lenguaje natural
  • Puede usar directamente código PlantUML para generar diagramas UML
  • Devuelve código PlantUML y enlaces URL accesibles para facilitar el intercambio y la visualización
  • Guarda simultáneamente el diagrama UML generado localmente y proporciona la ruta del archivo local
  • Admite una ruta de guardado personalizada y especifica el directorio de salida para las imágenes UML
  • Como servidor MCP, puede integrarse con clientes que admitan MCP, como Claude
  • Un sistema de registro completo que registra el estado de funcionamiento del servidor y los registros de operaciones

Instalación

Instalación mediante Smithery

Para instalar UML Diagram Generation Tool para Claude Desktop automáticamente a través de Smithery:

npx -y @smithery/cli install @Swayingleaves/uml-mcp-server --client claude

Instalación manual

  1. Clonar el repositorio:
git clone https://github.com/yourusername/UML-MCP-Server.git
cd UML-MCP-Server
  1. Crear y activar un entorno virtual:
python -m venv uml-mcp-venv
source uml-mcp-venv/bin/activate  # Linux/Mac
# Or
uml-mcp-venv\Scripts\activate  # Windows
  1. Instalar dependencias:
pip install -r requirements.txt

Método de uso

Uso como biblioteca de Python

from fix_plantuml import generate_uml

# Create UML code
uml_code = """
@startuml
Title: Simple Class Diagram

class User {
-String name
-String email
+login()
+logout()
}

class Order {
-int id
-Date date
+process()
}

User "1" -- "many" Order: places
@enduml
"""

# Generate URLs, code, and local paths for UML diagrams
result = generate_uml(uml_code)

# Output result
print("PlantUML code: ")
print(result["code"])
print("\nPlantUML URL:")
print(result["url"])
print("\nLocal file path: ")
print(result["local_path"])

Configurar MCP en Cursor

Cursor admite servidores MCP (Model Context Protocol), lo que le permite generar diagramas UML directamente usando UML-MCP Server en Cursor. Los pasos de configuración son los siguientes:

  1. Asegúrese de que esté instalada la última versión de Cursor IDE (que admite la funcionalidad MCP).

  2. Abra el archivo de configuración de Cursor:

  • En macOS: ~/Library/Application Support/Cursor/config.json
  • En Windows: %APPDATA%\Cursor\config.json
  • En Linux: ~/.config/Cursor/config.json
  1. Agregue o modifique la sección 'mcpServer' en el archivo de configuración:
{
    "mcpServers": {
        "UML-MCP-Server": {
            "command": "uv",
            "args": [
                "--directory",
                "/Users/yourpath/UML-MCP-Server",
                "run",
                "uml_mcp_server.py"
            ],
            "output_dir": "/Users/yourpath/uml-output"
        }
    }
}

Descripción de la configuración:

  • UML-MCP-Server: El nombre del servidor MCP se puede modificar según sea necesario
  • Comando: Use UV como comando de ejecución
  • args:
    • directory: Especifique la ruta absoluta del directorio del proyecto
    • run: Ejecute el comando
    • uml_mcp_server.py: Archivo principal del programa
  • output_dir: Especifique el directorio de salida para las imágenes UML

Modifique la siguiente ruta según su situación real:

  • Reemplace '/Users/Yourpath/UML-MCP Server' con la ruta real de su proyecto UML-MCP Server
  • Reemplace '/Users/Yourpath/uml-output' con la ruta del directorio donde desea guardar la imagen UML
  1. Guarde el archivo de configuración y reinicie Cursor.

  2. Use UML-MCP Server en Cursor:

  • Abra una nueva ventana de chat
  • En la barra de herramientas en la parte inferior de la interfaz de chat, verá el icono de la herramienta 'UML-MCP Server'
  • Al hacer clic en este icono, aparecerá el menú de opciones para las herramientas UML
  • Seleccione el tipo de diagrama UML que necesite (como 'Generar diagrama de clases', 'Generar diagrama de secuencia', etc.)

Uso de herramientas UML en Cursor

En Cursor, puede ingresar:

Por ejemplo:

1. Understand the certification process of the project
2. Generate UML code for the authentication process and generate a flowchart through UML-MCP Server
3. Attention: "output_dir": "/Users/my-project/uml-output"

Resultados devueltos por las herramientas UML

Independientemente de cómo se utilicen las herramientas UML, Cursor llamará a UML-MCP-Server y devolverá lo siguiente:

  1. Código PlantUML - Puede copiar este código para usarlo en otras herramientas PlantUML
  2. URL de PlantUML - Puede abrir esta URL en un navegador para ver el diagrama UML generado
  3. Ruta de archivo local - La imagen UML generada se guarda en esta ruta local

Por ejemplo:

Class diagram generated:

PlantUML code:
@startuml
Title: User and Order System
class User {
-String name
-String email
+login()
+logout()
}
class Order {
-int id
-Date date
+process()
}
User "1" -- "many" Order: places
@enduml

PlantUML URL:
http://www.plantuml.com/plantuml/png/~1UDgCqB5Bn0G1k1zYWM_EfPYQYY0Qd9oQc9oQaPcKYYcKc9gMYaiKc9gK...

Local file path:
/Users/username/projects/UML-MCP-Server/output/class_diagram_12345.png

Puede ver el diagrama UML generado de las siguientes maneras:

  • Haga clic en el enlace URL devuelto para verlo en el navegador
  • Abra la ruta de archivo local en el explorador de archivos para ver la imagen guardada
  • En Cursor, puede usar la sintaxis de Markdown para mostrar imágenes directamente en la ventana de chat

Solución de problemas

Si encuentra problemas al usar UML-MCP Server, puede probar los siguientes pasos:

  1. Revise los archivos de registro: Vea los archivos de registro en el directorio 'logs' para obtener detalles de errores
  2. Verifique la instalación de dependencias: Asegúrese de que todas las dependencias estén instaladas correctamente
  3. Compruebe la conexión de red: Asegúrese de que se pueda acceder al servidor PlantUML (www.plantuml.com)
  4. Compruebe los permisos del directorio de salida: Asegúrese de que el programa tenga permiso para escribir en el directorio 'output'

Problemas comunes y soluciones:

  • No se puede generar el diagrama UML: Revise los mensajes de error en el registro, que pueden deberse a problemas de red o a la indisponibilidad temporal del servidor PlantUML
  • Imagen no guardada localmente: Compruebe si el directorio 'output' existe y tiene permiso de escritura
  • El servidor MCP no puede iniciarse: Revise el archivo de registro para asegurarse de que no haya conflictos de puertos u otros errores del programa

Contribución

¡Bienvenido a contribuir con código, reportar problemas o proporcionar sugerencias de mejora! Participe en el desarrollo del proyecto a través de GitHub Issues o Pull Requests.

Licencia

Este proyecto adopta la licencia MIT. Consulte el documento LICENSE para obtener más detalles.