PlantUML-MCP-Server

Servidor MCP que fornece capacidades de geração de diagramas PlantUML

Documentação

Servidor MCP PlantUML

smithery badge

Um servidor Model Context Protocol (MCP) que fornece recursos de geração de diagramas PlantUML para Claude Desktop e Claude Code.

Ferramentas Disponíveis

  1. generate_plantuml_diagram - Gera diagramas e obtém URLs incorporáveis (SVG/PNG), com opção de salvar localmente
  2. encode_plantuml - Codifica código PlantUML para compartilhamento via URL
  3. decode_plantuml - Decodifica PlantUML a partir de strings codificadas

Prompts Disponíveis

  1. 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 !include e 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

C4 Container Diagram - PlantUML MCP Server

Diagrama de sequência para plantuml-mcp-server

> add sequence diagram in readme in architecture section

PlantUML MCP Server Architecture

Diagrama de Fluxo do Código de Autorização OAuth2

> show me basic oauth2 flow png, open it in browser

OAuth2 Authorization Code Flow


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ávelDescriçãoPadrão
PLANTUML_SERVER_URLURL do servidor PlantUMLhttps://www.plantuml.com/plantuml
PLANTUML_ALLOWED_DIRSDiretó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.