Draw Architecture
Gere diagramas de arquitetura de sistema draw.io a partir de descrições textuais usando o modelo grande ZhipuAI.
Documentação
Servidor MCP Draw Architecture
Um servidor MCP profissional para desenho de diagramas de arquitetura, integrado ao grande modelo de IA da Zhipu AI, capaz de gerar automaticamente diagramas de arquitetura de sistema no formato draw.io a partir de descrições em texto.
Recursos
- 🤖 Geração orientada por IA: Integra o modelo gratuito de grande porte da Zhipu AI, compreendendo inteligentemente as necessidades de arquitetura
- 🎨 Geração inteligente de diagramas de arquitetura: Gera automaticamente diagramas profissionais de arquitetura de sistema a partir de descrições em texto
- 📊 Compatível com Draw.io: Gera arquivos padrão no formato .drawio, que podem ser importados diretamente no draw.io para edição
- 🏗️ Múltiplos padrões de arquitetura: Suporta microsserviços, arquitetura em camadas, orientada a eventos e outros padrões
- 🎯 Prompts profissionais: Inclui modelos de prompts profissionais para design de arquitetura
- 🔧 Protocolo MCP: Baseado no Model Context Protocol, pode ser integrado a assistentes de IA que suportam MCP
- 💰 Uso gratuito: Utiliza a cota gratuita da Zhipu AI, permitindo experimentar sem pagar
Instalação e Configuração
1. Requisitos de Ambiente
- Python 3.8+
- Clientes de IA que suportam MCP (como Claude Desktop, Cline, etc.)
2. Instalação de Dependências
# 克隆或下载项目
cd draw_architecture_mcp
# 安装依赖
pip install -r requirements.txt
3. Configuração da Chave de API da Zhipu AI
Obtendo a Chave de API
- Acesse a Plataforma Aberta da Zhipu AI
- Registre uma conta e faça login
- Obtenha a chave de API no console (novos usuários têm cota gratuita)
Configurando Variáveis de Ambiente
# 复制环境变量模板
cp .env.example .env
# 编辑 .env 文件,填入你的API Key
echo "ZHIPUAI_API_KEY=your_actual_api_key_here" > .env
4. Configuração do Cliente MCP
Configuração do Claude Desktop
Edite o arquivo de configuração do Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Adicione a seguinte configuração:
{
"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"
}
}
}
}
Configuração do Cline
Adicione o servidor MCP nas configurações do Cline:
{
"mcpServers": {
"draw-architecture": {
"command": "python3",
"args": ["/path/to/draw_architecture_mcp/mcp_server.py"],
"env": {
"ZHIPUAI_API_KEY": "your_api_key_here"
}
}
}
}
4. Verificação da Instalação
Reinicie o cliente de IA e pergunte na conversa se o recurso de geração de diagramas de arquitetura está disponível. Se a configuração estiver correta, o assistente de IA deve conseguir acessar as seguintes ferramentas:
generate_architecture_diagram: Gera diagramas de arquiteturaget_architecture_prompt: Obtém modelos de promptsvalidate_drawio_file: Valida o formato do arquivo
Como Usar
Uso Básico
Em clientes de IA que suportam MCP, você pode usar da seguinte forma:
请帮我绘制一个电商系统的架构图,包括:
- 前端:Web应用、移动App
- 后端:用户服务、商品服务、订单服务
- 数据库:MySQL、Redis
- 消息队列:Kafka
Uso Avançado
绘制一个微服务架构的在线教育平台:
前端层:
- React Web应用
- Flutter移动应用
- 管理后台
网关层:
- API网关(Kong)
- 负载均衡(Nginx)
业务服务层:
- 用户认证服务
- 课程管理服务
- 视频播放服务
- 支付服务
- 消息通知服务
数据层:
- MySQL(用户数据、课程数据)
- MongoDB(视频元数据)
- Redis(缓存、会话)
- Elasticsearch(搜索)
基础设施:
- Docker容器化
- Kubernetes编排
- 监控(Prometheus + Grafana)
- 日志(ELK Stack)
Arquitetura Técnica
Integração com Modelos de IA
- Zhipu AI GLM-4-Flash: Modelo de linguagem grande gratuito, otimizado especificamente para geração de diagramas de arquitetura
- Modelos de prompts profissionais: Inclui modelos completos de orientação para design de arquitetura
- Mecanismo de fallback inteligente: Reverte automaticamente para o mecanismo de regras quando a chamada de IA falha
Fluxo de Geração
- Análise de requisitos: Analisa a descrição da arquitetura do usuário
- Integração de modelos: Combina as necessidades do usuário com os modelos de prompts profissionais
- Geração por IA: Chama a Zhipu AI para gerar o código XML completo do draw.io
- Validação de formato: Garante que o XML gerado esteja em conformidade com os padrões do draw.io
- Salvamento do arquivo: Salva como arquivo no formato .drawio
Padrões de Arquitetura Suportados
- Arquitetura em camadas (Layered Architecture)
- Arquitetura de microsserviços (Microservices)
- Arquitetura orientada a eventos (Event-Driven)
- Arquitetura hexagonal (Hexagonal)
- Arquitetura CQRS
- Service Mesh (Service Mesh)
O assistente de IA usará a ferramenta generate_architecture_diagram para gerar o arquivo draw.io correspondente.
Referência da API
Lista de Ferramentas
generate_architecture_diagram
Gera diagramas de arquitetura no formato draw.io.
Parâmetros:
description(string, obrigatório): Descrição da arquiteturadiagram_name(string, opcional): Nome do diagrama, padrão é "Diagrama de Arquitetura do Sistema"output_file(string, opcional): Caminho do arquivo de saída
Exemplo:
{
"description": "微服务架构,包含用户服务、订单服务、支付服务",
"diagram_name": "电商系统架构",
"output_file": "./ecommerce_architecture.drawio"
}
Lista de Recursos
prompt://draw-architecture
Fornece modelos completos de prompts para desenho de diagramas de arquitetura no draw.io.
Estrutura do Projeto
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
Guia de Desenvolvimento
Desenvolvimento Local
# 安装开发依赖
pip install -r requirements.txt
# 运行测试
pytest tests/
# 代码格式化
black mcp_server.py
# 类型检查
mypy mcp_server.py
Recursos de Extensão
- Adicionar novos tipos de diagrama: Adicione novos modelos na função
generate_drawio_xml - Aprimorar a validação: Adicione mais verificações na ferramenta
validate_drawio_file - Suportar mais formatos: Adicione funcionalidade para exportar em formatos como PNG, SVG, etc.
Perguntas Frequentes
P: O arquivo gerado não pode ser aberto no draw.io?
R: Use a ferramenta validate_drawio_file para verificar o formato do arquivo. Problemas comuns incluem:
- Declaração XML ausente
- Tags HTML não escapadas corretamente
- Estrutura XML incompleta
P: Como personalizar o estilo do diagrama de arquitetura?
R: Modifique a função generate_drawio_xml em mcp_server.py para ajustar parâmetros de estilo como cores, fontes, layout, etc.
P: Quais clientes de IA são suportados?
R: Suporta todos os clientes que implementam o protocolo MCP, incluindo:
- Claude Desktop
- Cline (extensão do VS Code)
- Outras ferramentas de IA que suportam MCP
Guia de Contribuição
- Faça um fork do projeto
- Crie um branch de funcionalidade (
git checkout -b feature/amazing-feature) - Faça commit das alterações (
git commit -m 'Add amazing feature') - Envie para o branch (
git push origin feature/amazing-feature) - Crie um Pull Request
Licença
Licença MIT - Consulte o arquivo LICENSE para mais detalhes
Registro de Alterações
v1.0.0 (2025-06-14)
- Lançamento da versão inicial
- Suporte à geração básica de diagramas de arquitetura
- Fornece funcionalidade de validação de arquivos
- Implementação completa do protocolo MCP
Contato
- Página do projeto: Repositório GitHub
- Relatar problemas: Issues
- Sugestões de recursos: Discussions