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
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
- Clone o repositório:
git clone https://github.com/yourusername/UML-MCP-Server.git
cd UML-MCP-Server
- 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
- 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:
-
Certifique-se de que a versão mais recente do IDE Cursor (que suporta funcionalidade MCP) esteja instalada.
-
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
- 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
-
Salve o arquivo de configuração e reinicie o Cursor.
-
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:
- Código PlantUML - Você pode copiar este código para usar em outras ferramentas PlantUML
- URL PlantUML - Você pode abrir esta URL em um navegador para visualizar o diagrama UML gerado
- 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:
- Verifique os arquivos de log: Visualize os arquivos de log no diretório 'logs' para obter detalhes do erro
- Verifique a instalação das dependências: Certifique-se de que todas as dependências estejam instaladas corretamente
- Verifique a conexão de rede: Certifique-se de que o servidor PlantUML (www.plantuml.com) possa ser acessado
- 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.