UML-MCP-Server

Gera vários diagramas UML a partir de linguagem natural ou código PlantUML. Retorna código PlantUML, URLs de imagens e sal

Documentação

UML-MCP-Server

English | 中文

smithery badge

O UML-MCP Server é uma ferramenta de geração de diagramas UML baseada em MCP (Model Context Protocol), que pode ajudar os usuários a gerar vários tipos de diagramas UML por meio de descrição em linguagem natural ou escrevendo diretamente código PlantUML.

Recursos Funcionais

  • Suporta vários tipos de diagramas UML: diagrama de classes, diagrama de sequência, diagrama de atividades, diagrama de casos de uso, diagrama de estados, diagrama de componentes, diagrama de implantação, diagrama de objetos
  • Diagramas UML podem ser gerados por meio de descrição em linguagem natural
  • Você pode usar diretamente código PlantUML para gerar diagramas UML
  • Retorna código PlantUML e links de URL acessíveis para facilitar o compartilhamento e a visualização
  • Salva simultaneamente o diagrama UML gerado localmente e fornece o caminho do arquivo local
  • Suporta caminho de salvamento personalizado e especifica o diretório de saída para imagens UML
  • Como servidor MCP, pode ser integrado a clientes que suportam MCP, como Claude
  • Um sistema abrangente de registro que registra o status operacional do servidor e os logs de operação

Instalação

Instalando via Smithery

Para instalar a Ferramenta de Geração de Diagramas UML para Claude Desktop automaticamente via Smithery:

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

Instalação Manual

  1. Clone o repositório:
git clone https://github.com/yourusername/UML-MCP-Server.git
cd UML-MCP-Server
  1. Crie e ative um ambiente virtual:
python -m venv uml-mcp-venv
source uml-mcp-venv/bin/activate  # Linux/Mac
# Or
uml-mcp-venv\Scripts\activate  # Windows
  1. Instale as dependências:
pip install -r requirements.txt

Método de Uso

Usado como Biblioteca 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 no Cursor

O Cursor suporta servidores MCP (Model Context Protocol), permitindo que você gere diretamente diagramas UML usando o UML-MCP Server no Cursor. As etapas de configuração são as seguintes:

  1. Certifique-se de que a versão mais recente do IDE Cursor (que suporta funcionalidade MCP) esteja instalada.

  2. Abra o arquivo de configuração do Cursor:

  • No macOS: ~/Library/Application Support/Cursor/config.json
  • No Windows: %APPDATA%\Cursor\config.json
  • No Linux: ~/.config/Cursor/config.json
  1. Adicione ou modifique a seção 'mcpServer' no arquivo de configuração:
{
    "mcpServers": {
        "UML-MCP-Server": {
            "command": "uv",
            "args": [
                "--directory",
                "/Users/yourpath/UML-MCP-Server",
                "run",
                "uml_mcp_server.py"
            ],
            "output_dir": "/Users/yourpath/uml-output"
        }
    }
}

Descrição da Configuração:

  • UML-MCP-Server: O nome do servidor MCP pode ser modificado conforme necessário
  • Comando: Use UV como comando de execução
  • args:
    • directory: Especifique o caminho absoluto do diretório do projeto
    • run: Execute o comando
    • uml_mcp_server.py: Arquivo do programa principal
  • output_dir: Especifique o diretório de saída para imagens UML

Por favor, modifique o seguinte caminho de acordo com sua situação real:

  • Substitua '/Users/Yourpath/UML-MCP Server' pelo caminho real do seu projeto UML-MCP Server
  • Substitua '/Users/Yourpath/uml-output' pelo caminho do diretório onde você deseja salvar a imagem UML
  1. Salve o arquivo de configuração e reinicie o Cursor.

  2. Use o UML-MCP Server no Cursor:

  • Abra uma nova janela de chat
  • Na barra de ferramentas na parte inferior da interface de chat, você verá o ícone da ferramenta "UML-MCP Server"
  • Clicar neste ícone abrirá o menu de opções das ferramentas UML
  • Selecione o tipo de diagrama UML que você precisa (como "Gerar Diagrama de Classes", "Gerar Diagrama de Sequência", etc.)

Usando Ferramentas UML no Cursor

No Cursor, você pode inserir:

Por exemplo:

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"

Os Resultados Retornados pelas Ferramentas UML

Independentemente de como as ferramentas UML são usadas, o Cursor chamará o UML-MCP-Server e retornará o seguinte:

  1. Código PlantUML - Você pode copiar este código para usar em outras ferramentas PlantUML
  2. URL PlantUML - Você pode abrir esta URL em um navegador para visualizar o diagrama UML gerado
  3. Caminho do arquivo local - A imagem UML gerada é salva neste caminho local

Por exemplo:

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

Você pode visualizar o diagrama UML gerado das seguintes maneiras:

  • Clique no link de URL retornado para visualizar no navegador
  • Abra o caminho do arquivo local no navegador de arquivos para visualizar a imagem salva
  • No Cursor, você pode usar a sintaxe Markdown para exibir imagens diretamente na janela de chat

Solução de Problemas

Se você encontrar problemas ao usar o UML-MCP Server, você pode tentar as seguintes etapas:

  1. Verifique os arquivos de log: Visualize os arquivos de log no diretório 'logs' para obter detalhes do erro
  2. Verifique a instalação das dependências: Certifique-se de que todas as dependências estejam instaladas corretamente
  3. Verifique a conexão de rede: Certifique-se de que o servidor PlantUML (www.plantuml.com) possa ser acessado
  4. Verifique as permissões do diretório de saída: Certifique-se de que o programa tenha permissão para gravar no diretório 'output'

Problemas comuns e soluções:

  • Não é possível gerar diagrama UML: Verifique as mensagens de erro no log, que podem ser devido a problemas de rede ou indisponibilidade temporária do servidor PlantUML
  • Imagem não salva localmente: Verifique se o diretório 'output' existe e tem permissão de gravação
  • O servidor MCP não pode iniciar: Verifique o arquivo de log para garantir que não haja conflitos de porta ou outros erros do programa

Contribuição

Bem-vindo a contribuir com código, relatar problemas ou fornecer sugestões de melhoria! Participe do desenvolvimento do projeto através de Issues ou Pull Requests no GitHub.

Licença

Este projeto adota a licença MIT. Consulte o documento LICENSE para obter detalhes.