PlantUML-MCP-Server
Servidor MCP que fornece capacidades de geração de diagramas PlantUML
Documentação
Servidor MCP PlantUML
Um servidor Model Context Protocol (MCP) que fornece recursos de geração de diagramas PlantUML para Claude Desktop e Claude Code.
Ferramentas Disponíveis
generate_plantuml_diagram- Gera diagramas e obtém URLs incorporáveis (SVG/PNG), com opção de salvar localmenteencode_plantuml- Codifica código PlantUML para compartilhamento via URLdecode_plantuml- Decodifica PlantUML a partir de strings codificadas
Prompts Disponíveis
plantuml_error_handling- Diretrizes para lidar com erros de sintaxe PlantUML e implementar fluxos de correção automática
Este prompt fornece às instâncias Claude instruções abrangentes sobre como:
- Detectar erros de sintaxe PlantUML usando validação nativa do servidor
- Implementar fluxos inteligentes de correção automática para problemas comuns de sintaxe
- Analisar respostas de erro estruturadas e aplicar correções apropriadas
- Lidar com falhas de validação de forma graciosa com lógica de repetição
O prompt permite que o Claude detecte e corrija automaticamente erros comuns de PlantUML, como tags ausentes, sintaxe inválida de setas, erros de digitação em palavras-chave e aspas ausentes, tornando a geração de diagramas PlantUML mais confiável e amigável.
Configuração Rápida
Para Claude Code
# Using default PlantUML server
claude mcp add plantuml --scope user --env PLANTUML_SERVER_URL=https://www.plantuml.com/plantuml -- npx plantuml-mcp-server
Para Claude Desktop
Adicione isto à sua configuração MCP do Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json no macOS):
{
"mcpServers": {
"plantuml": {
"command": "npx",
"args": ["plantuml-mcp-server"],
"env": {
"PLANTUML_SERVER_URL": "https://www.plantuml.com/plantuml"
}
}
}
}
Para usar seu próprio servidor PlantUML, altere a variável de ambiente PLANTUML_SERVER_URL.
Em seguida, reinicie o Claude Desktop/Code para ativar o servidor MCP.
O Que Você Pode Fazer
Após a configuração, você pode pedir ao Claude para:
- Gerar diagramas PlantUML e obter URLs SVG/PNG incorporáveis
- Criar diagramas de sequência, diagramas de classes, diagramas de arquitetura
- Usar recursos avançados do PlantUML como diretivas
!includee bibliotecas externas - Codificar/decodificar PlantUML para compartilhamento via URL
- Salvar diagramas localmente com restrições seguras de caminho
Salvando Diagramas Localmente
A ferramenta generate_plantuml_diagram suporta salvar diagramas em arquivos locais através do parâmetro output_path.
Segurança: Por padrão, os arquivos só podem ser salvos dentro do diretório de trabalho atual. Apenas as extensões .svg e .png são permitidas.
Para permitir diretórios adicionais, defina a variável de ambiente PLANTUML_ALLOWED_DIRS:
# Allow specific directories (colon-separated)
PLANTUML_ALLOWED_DIRS=/home/user/diagrams:/tmp/output
# Allow any directory (use with caution)
PLANTUML_ALLOWED_DIRS=*
Exemplos
Diagrama C4 para plantuml-mcp-server
> add c4 diagram for this project in readme 'C4 diagram for plantuml-mcp-server' section
Diagrama de sequência para plantuml-mcp-server
> add sequence diagram in readme in architecture section
Diagrama de Fluxo do Código de Autorização OAuth2
> show me basic oauth2 flow png, open it in browser
Configuração de Desenvolvimento
Pré-requisitos
- Node.js 18+
- npm
Instalação Local
# Clone and setup
git clone https://github.com/mzagar/plantuml-mcp-server.git
cd plantuml-mcp-server
make setup
Comandos de Desenvolvimento
# Show all available commands
make help
# Build and run all tests
make clean build test-all
Variáveis de Ambiente
| Variável | Descrição | Padrão |
|---|---|---|
PLANTUML_SERVER_URL | URL do servidor PlantUML | https://www.plantuml.com/plantuml |
PLANTUML_ALLOWED_DIRS | Diretórios adicionais para output_path (separados por dois-pontos, ou * para qualquer) | Somente diretório atual |
Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.