Draw Architecture
Genera diagramas de arquitectura de sistema draw.io a partir de descripciones de texto utilizando el modelo grande ZhipuAI.
Documentación
Servidor MCP de Draw Architecture
Un servidor MCP profesional para dibujar diagramas de arquitectura, integrado con el modelo de IA de Zhipu AI, capaz de generar automáticamente diagramas de arquitectura de sistemas en formato draw.io a partir de descripciones de texto.
Características
- 🤖 Generación impulsada por IA: Integra el modelo gratuito de Zhipu AI para comprender inteligentemente los requisitos de arquitectura
- 🎨 Generación inteligente de diagramas: Genera automáticamente diagramas de arquitectura de sistemas profesionales a partir de descripciones de texto
- 📊 Compatibilidad con Draw.io: Genera archivos estándar en formato .drawio, importables directamente en draw.io para edición
- 🏗️ Múltiples patrones de arquitectura: Admite microservicios, arquitectura en capas, arquitectura basada en eventos y otros patrones
- 🎯 Prompts profesionales: Incluye plantillas de prompts profesionales para diseño de arquitectura
- 🔧 Protocolo MCP: Basado en el Model Context Protocol, integrable con asistentes de IA compatibles con MCP
- 💰 Uso gratuito: Utiliza la cuota gratuita de Zhipu AI, sin necesidad de pagar para experimentar
Instalación y configuración
1. Requisitos del entorno
- Python 3.8+
- Cliente de IA compatible con MCP (como Claude Desktop, Cline, etc.)
2. Instalar dependencias
# 克隆或下载项目
cd draw_architecture_mcp
# 安装依赖
pip install -r requirements.txt
3. Configurar la clave API de Zhipu AI
Obtener la clave API
- Visita Plataforma abierta de Zhipu AI
- Regístrate e inicia sesión
- Obtén la clave API en la consola (los nuevos usuarios tienen cuota gratuita)
Configurar la variable de entorno
# 复制环境变量模板
cp .env.example .env
# 编辑 .env 文件,填入你的API Key
echo "ZHIPUAI_API_KEY=your_actual_api_key_here" > .env
4. Configurar el cliente MCP
Configuración de Claude Desktop
Edita el archivo de configuración de Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Añade la siguiente configuración:
{
"mcpServers": {
"draw-architecture": {
"command": "python3",
"args": ["/path/to/draw_architecture_mcp/mcp_server.py"],
"env": {
"PYTHONPATH": "/path/to/draw_architecture_mcp",
"ZHIPUAI_API_KEY": "your_api_key_here"
}
}
}
}
Configuración de Cline
Añade el servidor MCP en la configuración de Cline:
{
"mcpServers": {
"draw-architecture": {
"command": "python3",
"args": ["/path/to/draw_architecture_mcp/mcp_server.py"],
"env": {
"ZHIPUAI_API_KEY": "your_api_key_here"
}
}
}
}
4. Verificar la instalación
Reinicia el cliente de IA y pregunta si puede usar la función de generación de diagramas de arquitectura. Si la configuración es correcta, el asistente de IA debería poder acceder a las siguientes herramientas:
generate_architecture_diagram: Generar diagramas de arquitecturaget_architecture_prompt: Obtener plantillas de promptsvalidate_drawio_file: Validar formato de archivos
Métodos de uso
Uso básico
En un cliente de IA compatible con MCP, puedes usarlo de la siguiente manera:
请帮我绘制一个电商系统的架构图,包括:
- 前端:Web应用、移动App
- 后端:用户服务、商品服务、订单服务
- 数据库:MySQL、Redis
- 消息队列:Kafka
Uso avanzado
绘制一个微服务架构的在线教育平台:
前端层:
- React Web应用
- Flutter移动应用
- 管理后台
网关层:
- API网关(Kong)
- 负载均衡(Nginx)
业务服务层:
- 用户认证服务
- 课程管理服务
- 视频播放服务
- 支付服务
- 消息通知服务
数据层:
- MySQL(用户数据、课程数据)
- MongoDB(视频元数据)
- Redis(缓存、会话)
- Elasticsearch(搜索)
基础设施:
- Docker容器化
- Kubernetes编排
- 监控(Prometheus + Grafana)
- 日志(ELK Stack)
Arquitectura técnica
Integración del modelo de IA
- Zhipu AI GLM-4-Flash: Modelo de lenguaje grande gratuito, optimizado para la generación de diagramas de arquitectura
- Plantillas de prompts profesionales: Incluye plantillas completas de guía para diseño de arquitectura
- Mecanismo de respaldo inteligente: Retrocede automáticamente al motor de reglas cuando falla la llamada a la IA
Flujo de generación
- Análisis de requisitos: Analiza la descripción de arquitectura del usuario
- Integración de plantillas: Combina los requisitos del usuario con las plantillas de prompts profesionales
- Generación con IA: Llama a Zhipu AI para generar el código XML completo de draw.io
- Validación de formato: Asegura que el XML generado cumpla con los estándares de draw.io
- Guardado de archivos: Guarda como archivo en formato .drawio
Patrones de arquitectura compatibles
- Arquitectura en capas (Layered Architecture)
- Arquitectura de microservicios (Microservices)
- Arquitectura basada en eventos (Event-Driven)
- Arquitectura hexagonal (Hexagonal)
- Arquitectura CQRS
- Malla de servicios (Service Mesh)
El asistente de IA usará la herramienta generate_architecture_diagram para generar el archivo draw.io correspondiente.
Referencia de API
Lista de herramientas
generate_architecture_diagram
Genera diagramas de arquitectura en formato draw.io.
Parámetros:
description(string, obligatorio): Descripción de la arquitecturadiagram_name(string, opcional): Nombre del diagrama, por defecto "Diagrama de arquitectura del sistema"output_file(string, opcional): Ruta del archivo de salida
Ejemplo:
{
"description": "微服务架构,包含用户服务、订单服务、支付服务",
"diagram_name": "电商系统架构",
"output_file": "./ecommerce_architecture.drawio"
}
Lista de recursos
prompt://draw-architecture
Proporciona la plantilla completa de prompts para dibujar diagramas de arquitectura en draw.io.
Estructura del proyecto
draw_architecture_mcp/
├── mcp_server.py # MCP 服务器主文件
├── draw_architecture_prompt.md # 提示词模板
├── requirements.txt # Python 依赖
├── mcp_config.json # MCP 配置示例
├── README.md # 项目文档
└── examples/ # 示例文件
├── sample_architecture.drawio
└── usage_examples.md
Guía de desarrollo
Desarrollo local
# 安装开发依赖
pip install -r requirements.txt
# 运行测试
pytest tests/
# 代码格式化
black mcp_server.py
# 类型检查
mypy mcp_server.py
Funciones ampliadas
- Añadir nuevos tipos de diagramas: Añade nuevas plantillas en la función
generate_drawio_xml - Mejorar la validación: Añade más comprobaciones en la herramienta
validate_drawio_file - Soporte para más formatos: Añade funciones para exportar a PNG, SVG, etc.
Preguntas frecuentes
P: ¿El archivo generado no se puede abrir en draw.io?
R: Usa la herramienta validate_drawio_file para verificar el formato del archivo. Los problemas comunes incluyen:
- Falta la declaración XML
- Etiquetas HTML no escapadas correctamente
- Estructura XML incompleta
P: ¿Cómo personalizar el estilo de los diagramas de arquitectura?
R: Modifica la función generate_drawio_xml en mcp_server.py para ajustar parámetros de estilo como colores, fuentes, diseño, etc.
P: ¿Qué clientes de IA son compatibles?
R: Todos los clientes que implementen el protocolo MCP, incluyendo:
- Claude Desktop
- Cline (extensión de VS Code)
- Otras herramientas de IA compatibles con MCP
Guía de contribución
- Haz un fork del proyecto
- Crea una rama de funcionalidad (
git checkout -b feature/amazing-feature) - Realiza los cambios (
git commit -m 'Add amazing feature') - Haz push a la rama (
git push origin feature/amazing-feature) - Crea un Pull Request
Licencia
Licencia MIT - Consulta el archivo LICENSE para más detalles
Registro de cambios
v1.0.0 (2025-06-14)
- Publicación de la versión inicial
- Soporte para generación básica de diagramas de arquitectura
- Función de validación de archivos
- Implementación completa del protocolo MCP
Contacto
- Página del proyecto: Repositorio de GitHub
- Reporte de problemas: Issues
- Sugerencias de funciones: Discussions