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

  1. Acesse a Plataforma Aberta da Zhipu AI
  2. Registre uma conta e faça login
  3. 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 arquitetura
  • get_architecture_prompt: Obtém modelos de prompts
  • validate_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

  1. Análise de requisitos: Analisa a descrição da arquitetura do usuário
  2. Integração de modelos: Combina as necessidades do usuário com os modelos de prompts profissionais
  3. Geração por IA: Chama a Zhipu AI para gerar o código XML completo do draw.io
  4. Validação de formato: Garante que o XML gerado esteja em conformidade com os padrões do draw.io
  5. 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 arquitetura
  • diagram_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

  1. Adicionar novos tipos de diagrama: Adicione novos modelos na função generate_drawio_xml
  2. Aprimorar a validação: Adicione mais verificações na ferramenta validate_drawio_file
  3. 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

  1. Faça um fork do projeto
  2. Crie um branch de funcionalidade (git checkout -b feature/amazing-feature)
  3. Faça commit das alterações (git commit -m 'Add amazing feature')
  4. Envie para o branch (git push origin feature/amazing-feature)
  5. 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