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
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
- Clonar el repositorio:
git clone https://github.com/yourusername/UML-MCP-Server.git
cd UML-MCP-Server
- 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
- 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:
-
Asegúrese de que esté instalada la última versión de Cursor IDE (que admite la funcionalidad MCP).
-
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
- 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
-
Guarde el archivo de configuración y reinicie Cursor.
-
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:
- Código PlantUML - Puede copiar este código para usarlo en otras herramientas PlantUML
- URL de PlantUML - Puede abrir esta URL en un navegador para ver el diagrama UML generado
- 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:
- Revise los archivos de registro: Vea los archivos de registro en el directorio 'logs' para obtener detalles de errores
- Verifique la instalación de dependencias: Asegúrese de que todas las dependencias estén instaladas correctamente
- Compruebe la conexión de red: Asegúrese de que se pueda acceder al servidor PlantUML (www.plantuml.com)
- 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.