UML-MCP Server

by Swayingleaves
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Generates UML diagrams of multiple types including class, sequence, activity, use case, state, component, deployment, and object diagrams from natural language or PlantUML code

Servidor UML-MCP

Inglés | Chino

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 a través de la descripción en lenguaje natural o escribiendo directamente el 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 implementación, diagrama de objetos.
  • Los diagramas UML se pueden generar a través de la descripción en lenguaje natural
  • Puede utilizar directamente el código PlantUML para generar diagramas UML
  • Devuelve el código PlantUML y enlaces URL accesibles para compartir y ver fácilmente
  • Guarde simultáneamente el diagrama UML generado localmente y proporcione 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 admiten MCP, como Claude
  • Un sistema de registro integral que registra el estado operativo del servidor y los registros de operaciones.

Instalación

Instalación mediante herrería

Para instalar automáticamente la herramienta de generación de diagramas UML para Claude Desktop a través de Smithery :

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

Instalación manual

  1. Repositorio de clones:
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

Utilizado 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 es compatible con servidores MCP (Protocolo de Contexto de Modelo), lo que permite generar diagramas UML directamente mediante el servidor UML-MCP. 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: utilice UV como comando de ejecución
  • args :
    • directorio: especifica la ruta absoluta del directorio del proyecto
    • run : ejecuta el comando
    • uml_mcp_server.py: Archivo principal del programa
  • output_dir : especifica el directorio de salida para las imágenes UML

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

  • 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 el cursor.
  2. Utilice el servidor UML-MCP en el cursor:
  • Abrir una nueva ventana de chat
  • En la barra de herramientas en la parte inferior de la interfaz de chat, verá el ícono de la herramienta "Servidor UML-MCP"
  • Al hacer clic en este icono aparecerá el menú de opciones de las herramientas UML
  • Seleccione el tipo de diagrama UML que necesita (como "Generar diagrama de clases", "Generar diagrama de secuencia", etc.)

Uso de herramientas UML en Cursor

En el Cursor, puedes 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/edy/vs-code/bjwa-task-project/uml-output"

Los 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 del archivo local en el explorador de archivos para ver la imagen guardada
  • En Cursor, puedes usar la sintaxis Markdown para mostrar imágenes directamente en la ventana de chat

Solución de problemas

Si encuentra problemas al utilizar el servidor UML-MCP, puede intentar los siguientes pasos:

  1. Comprobar archivos de registro : vea los archivos de registro en el directorio 'registros' para obtener detalles del error
  2. Verificar la instalación de dependencias : asegúrese de que todas las dependencias estén instaladas correctamente
  3. Verifique la conexión de red : asegúrese de que se pueda acceder al servidor PlantUML ( www.plantuml.com )
  4. Verificar los permisos del directorio de salida : asegúrese de que el programa tenga permiso para escribir en el directorio de "salida"

Problemas comunes y soluciones:

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

Contribución

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

Licencia

Este proyecto adopta la licencia MIT. Para más detalles, consulte el documento de LICENCIA.

-
security - not tested
F
license - not found
-
quality - not tested

Una herramienta que genera varios diagramas UML a través de descripciones en lenguaje natural o código PlantUML, funcionando como un servidor MCP que puede integrarse con clientes como Claude.

  1. Functional Features
    1. Installation
      1. Installing via Smithery
      2. Manual Installation
    2. Usage Method
      1. Used as a Python Library
      2. Configure MCP in Cursor
      3. Using UML Tools in Cursor
      4. The Results Returned by UML Tools
    3. Troubleshooting
      1. Contribution
        1. License
          ID: o123cncgxb