Astah MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Astah MCP Create a UML class diagram for a library management system"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Astah MCP
Servidor MCP local e genérico para transformar pedidos e enunciados de exercícios de modelagem em projetos nativos do Astah (.asta).
O usuário conversa normalmente com o agente do cliente MCP: pode descrever o modelo desejado, colar o enunciado ou anexar um PDF se o cliente conseguir lê-lo. O agente interpreta o conteúdo e chama o servidor com uma especificação estruturada; o usuário não precisa escrever JSON nem informar coordenadas.
O projeto foi construído sobre a API oficial do Astah. Ele implementa todos os tipos de diagrama que a instalação Astah UML permite criar nativamente por API e rejeita explicitamente tipos indisponíveis, evitando apresentar um diagrama aproximado como se fosse o tipo solicitado.
Fluxo de uso
O usuário informa o que quer modelar ou fornece o enunciado do exercício.
O agente identifica elementos, propriedades, relações, multiplicidades e o tipo de diagrama adequado.
O MCP valida a especificação e cria o projeto nativo no Astah.
O servidor calcula um layout compacto quando não recebe posições explícitas.
O Astah exporta os diagramas para PNGs temporários.
O agente inspeciona as imagens e confirma que não há cortes ou sobreposições.
A pasta temporária é apagada; somente o
.astafinal permanece no caminho escolhido.
Por padrão, o MCP cria apenas um diagrama e comprime o conteúdo nele. Mais de um diagrama só é aceito quando o pedido ou o enunciado exige explicitamente várias visões.
Related MCP server: staruml-controller-erd-mcp
Diagramas suportados
Esta versão cria nativamente:
diagrama de classes, incluindo classes abstratas, interfaces, enumerações e objetos;
diagrama de casos de uso;
diagrama de máquina de estados;
diagrama de atividades;
diagrama de sequência;
diagrama de estrutura composta;
mapa mental.
Também são suportados os principais elementos e relações próprios de cada tipo, como atributos, operações, literais, associações, agregações, composições, generalizações, realizações, dependências, atores, include, extend, transições, fluxos, mensagens, retornos, portas e conectores.
Limites da API
Na edição Astah UML usada pelo servidor, a API não cria nativamente diagramas de comunicação, componentes, implantação, fluxograma, fluxo de dados, entidade-relacionamento, requisitos ou CRUD. Alguns elementos isolados, como Component e Node, existem na API de modelo, mas isso não habilita a criação do respectivo diagrama nativo.
Quando um desses tipos for solicitado, o MCP retorna uma explicação clara da limitação. Ele não troca silenciosamente o tipo pedido por outro. A matriz oficial de suporte pode variar entre produtos e versões do Astah: Astah API Support.
Layout automático
O servidor:
calcula a menor largura segura considerando nomes, atributos, operações e parâmetros;
respeita o tamanho mínimo obrigatório de cada apresentação nativa do Astah;
alinha elementos equivalentes em uma grade compacta e simétrica;
centraliza superclasses acima das subclasses;
organiza atividades e estados em fluxo vertical;
distribui linhas de vida uniformemente;
prioriza relações retas e usa segmentos ortogonais quando é necessário desviar;
reserva corredores para rótulos, multiplicidades, portas e conectores;
não divide um diagrama apenas para obter mais espaço;
aceita posições explícitas quando o agente identifica que o enunciado exige um arranjo específico.
As regras completas estão em docs/LAYOUT_GUIDE.md.
Requisitos
Windows;
Astah UML instalado;
Node.js 18 ou superior;
JDK com
javaejavacnoPATH.
Não há dependências npm externas. O servidor usa módulos nativos do Node.js e os arquivos JAR instalados com o Astah.
Por padrão, o Astah é procurado em C:\Program Files\astah-UML. Para usar outra instalação, defina ASTAH_HOME e reabra o cliente MCP:
[Environment]::SetEnvironmentVariable(
"ASTAH_HOME",
"D:\Aplicativos\astah-UML",
"User"
)Instalação
Clone o repositório:
git clone https://github.com/g0mz/astah-mcp.git
cd astah-mcpConfira o ambiente:
node --version
java -version
javac -version
node astah-mcp-server.jsO último comando inicia o servidor via stdio e fica aguardando um cliente MCP. Use Ctrl+C para encerrá-lo.
Configuração do cliente MCP
Adicione o servidor à configuração do cliente, substituindo o caminho pelo local do clone:
{
"mcpServers": {
"astah": {
"command": "node",
"args": [
"C:\\caminho\\para\\astah-mcp\\astah-mcp-server.js"
]
}
}
}Antigravity IDE
Abra o painel do agente e selecione ... → MCP Servers → Manage MCP Servers → View raw config. Adicione o objeto acima ao arquivo global ~/.gemini/config/mcp_config.json ou ao arquivo local .agents/mcp_config.json do projeto. Reinicie ou recarregue os servidores MCP.
Outros clientes
Claude Desktop, VS Code com GitHub Copilot, Cline, Goose e outros clientes compatíveis com MCP podem usar a mesma configuração stdio: comando node e caminho absoluto de astah-mcp-server.js.
O cliente precisa ter um agente/modelo capaz de interpretar o enunciado e usar ferramentas MCP. Para enunciados em PDF, ele também precisa conseguir ler o anexo.
Como pedir um modelo
Depois de configurar o servidor, escreva ao agente em linguagem natural. Exemplos:
Crie no Astah um diagrama de classes para este enunciado e salve em
C:\Projetos\biblioteca.asta. Inclua atributos, operações, relações e multiplicidades.Leia o PDF anexado, resolva o exercício no Astah e crie somente o diagrama pedido.
Mantenha tudo compacto, reto e sem cortar textos.Modele o ciclo de vida de um pedido com uma máquina de estados e salve em
C:\Projetos\estados-pedido.asta.Se o arquivo de saída já existir, o MCP não o substitui por padrão. O agente só deve enviar overwrite: true quando o usuário autorizar a substituição explicitamente.
Ferramentas MCP
create_astah_model
Ferramenta principal. Recebe do agente a interpretação estruturada do enunciado, cria um ou mais diagramas nativos e retorna as imagens temporárias para revisão visual.
Ela aceita:
caminho absoluto do
.asta;contexto original do exercício;
tipo, nome, elementos, membros e relações de cada diagrama;
coordenadas opcionais — quando omitidas, o layout é automático;
autorização explícita para múltiplos diagramas e para sobrescrita.
O esquema completo é fornecido ao cliente automaticamente por tools/list; normalmente ninguém precisa montá-lo manualmente.
get_astah_capabilities
Lista os tipos, elementos e relações criáveis na instalação atual e explica os tipos indisponíveis.
verify_astah_visual_layout
Exporta e revisa um projeto .asta existente sem modificá-lo. Os PNGs e o relatório são temporários e apagados após serem carregados na resposta MCP.
get_astah_layout_guidelines
Retorna as regras visuais usadas pelo gerador e pela inspeção final.
validate_astah_environment
Confirma a presença do Astah, da API, do Java, do exportador e dos geradores, sem alterar projetos.
Compatibilidade
create_meteorological_station_model continua disponível somente para clientes antigos que já dependiam dessa ferramenta. Novos exercícios devem usar create_astah_model.
Testes
Teste genérico mínimo:
node tests\smoke-client.mjs "C:\Temp\astah-mcp-smoke.asta"Teste explícito de todos os sete tipos criáveis:
node tests\all-diagrams-client.mjs "C:\Temp\astah-mcp-all.asta"Use caminhos novos ou remova os projetos de teste antes de repetir, pois a proteção contra sobrescrita também vale nos testes.
Estrutura
astah-mcp/
├── astah-mcp-server.js
├── java/
│ ├── UniversalAstahModel.java
│ └── MeteorologicalStationModel.java
├── tests/
│ ├── smoke-client.mjs
│ └── all-diagrams-client.mjs
├── docs/
│ └── LAYOUT_GUIDE.md
├── package.json
└── README.mdSegurança e arquivos temporários
O servidor inicia processos locais do Node.js, Java e Astah. Instale somente uma cópia confiável. Projetos existentes são protegidos contra substituição acidental. Especificações intermediárias, PNGs e relatórios de revisão são criados na pasta temporária do sistema e removidos automaticamente; o .asta solicitado é o único artefato permanente.
Available Tools
6 toolscreate_astah_modelA
Ferramenta principal e genérica. Depois de interpretar o pedido ou enunciado escrito pelo usuário, converta-o para esta especificação e crie diagramas nativos no Astah. Crie somente um diagrama por padrão; use vários apenas quando o usuário ou o enunciado os pedir explicitamente. O servidor calcula um layout compacto, alinhado e simétrico quando x/y não forem informados, exporta PNGs temporários para inspeção visual e preserva somente o .asta final.
Inputs: diagrams (required), outputPath (required), overwrite, exerciseContext, +1 more.
create_meteorological_station_modelB
Cria um novo projeto Astah, exporta os diagramas para uma pasta temporária e retorna as imagens para a inspeção visual final de sobreposições. A pasta temporária é removida em seguida.
Inputs: outputPath (required), overwrite, layoutProfile.
get_astah_capabilitiesA
Lista exatamente os tipos de diagramas, elementos e relações que este servidor consegue criar nativamente na API instalada, além das limitações conhecidas.
Inputs: no named parameters.
get_astah_layout_guidelinesA
Retorna as regras de legibilidade e disposição aplicadas pelo servidor.
Inputs: no named parameters.
validate_astah_environmentA
Valida a instalação, API, exportador e compilação do gerador Astah sem alterar projetos.
Inputs: no named parameters.
verify_astah_visual_layoutA
Exporta diagramas de um projeto Astah existente em uma pasta temporária, executa checagens automáticas, retorna as imagens para comparação visual obrigatória e remove os arquivos temporários em seguida.
Inputs: projectPath (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Most tools are clearly distinct, but 'create_astah_model' and 'create_meteorological_station_model' overlap in purpose; the latter appears to be a specialized version of the former, yet the descriptions don't clarify when to use one over the other. The remaining tools (verify, get, validate) are unambiguous.
All tools follow a consistent verb_noun pattern in snake_case (create_*, verify_*, get_*, validate_*). The naming is uniform and predictable, making it easy to infer tool behavior from the name alone.
With 6 tools, the server is well-scoped for its purpose of creating, verifying, and validating Astah models. Each tool has a clear role, and the count is neither too thin nor excessively large.
The server covers the core lifecycle: creating models (generic and specific), validating layout, and checking environment. Minor gaps exist, such as no explicit update/delete tools, but the generic creation tool likely handles most needs, and the verification workflow is well-supported.
Maintenance
Related MCP Connectors
Collaborative whiteboard MCP server — create objects, connectors, C4 diagrams, and manage boards
Remote MCP server for deterministic educational practice-assessment score conversions.
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
Repository knowledge graph MCP server for codebase understanding and debugging.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server that enables LLMs to create and edit draw.io diagrams using high-level intent commands, with automatic layout and styling.45 npm4MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for AI assistants to programmatically create and manage Entity-Relationship Diagrams in StarUML, including full CRUD operations and PostgreSQL DDL generation.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that enables AI assistants to programmatically create and manage use case diagrams (actors, use cases, subjects, relationships) in StarUML via a REST API.1MIT
- AlicenseBqualityCmaintenanceMCP server that enables AI assistants to create, parse, render, and validate Draw.io diagrams programmatically.1436 PyPI2MIT