mcp-drawdb

Interaja com diagramas de banco de dados drawdb no navegador. Abra https://drawdb.icen.ai/editor antes de usar.

Documentação

mcp-drawdb

Documentação em chinês

Servidor MCP para drawdb — permite que assistentes de IA (Claude Code, Cursor, etc.) leiam e modifiquem diretamente diagramas de banco de dados no seu navegador.

Como Funciona

Claude Code  ──stdio──►  npx mcp-drawdb  ──ws──►  Relay (embedded)  ◄──ws──  Browser (drawdb)
  • npx mcp-drawdb inicia um servidor de retransmissão WebSocket internamente (porta automática 23432–23442) e depois conecta como cliente. Se um relay já estiver em execução, ele o reutiliza.
  • drawdb no navegador verifica automaticamente as portas 23432–23442 para encontrar o relay, expõe o estado do diagrama às ferramentas
  • O relay roteia mensagens entre o Claude Code e o navegador

Nenhum processo de relay separado é necessário — tudo roda dentro da ponte MCP.

Início Rápido

1. Configure o Claude Code

Adicione ao seu claude_desktop_config.json ou .claude/settings.json:

{
  "mcpServers": {
    "drawdb": {
      "command": "npx",
      "args": ["mcp-drawdb"]
    }
  }
}

2. Abra drawdb.icen.ai

Abra drawdb.icen.ai no seu navegador. Você verá um ponto MCP verde no cabeçalho quando conectado.

Ponto cinza? O relay pode estar em uma porta diferente. O navegador verifica automaticamente as portas 23432–23442, então basta aguardar um momento. Você também pode clicar no ponto MCP para definir manualmente a URL do WebSocket.

3. Pronto

O Claude Code agora pode ler e modificar seus diagramas. Experimente:

"List all tables in the diagram"
"Add a users table with id, email, name"
"Create a relationship from users.id to posts.user_id"
"Export SQL for MySQL"

Ferramentas (14)

FerramentaDescrição
pingTestar conexão com o navegador
list_tablesListar todas as tabelas com campos
get_diagramVisão geral completa do diagrama: tabelas, campos, layout (x/y/w/h), relacionamentos, tipo de banco de dados
add_tableAdicionar uma tabela com campos, cor, comentário
update_tableRenomear tabela, adicionar/remover/alterar campos com controle total de propriedades
delete_tableExcluir uma tabela (em cascata para relacionamentos)
add_relationshipAdicionar FK com cardinalidade (1:1, 1:n, n:1, n:m) e regras de restrição
delete_relationshipExcluir um relacionamento
set_layoutReposicionar tabelas no canvas
set_databaseAlternar tipo de banco de dados (mysql, postgresql, sqlite, mariadb, transactsql, oraclesql, generic)
get_issuesValidar diagrama: nomes duplicados, PKs ausentes, incompatibilidades de tipo, etc.
export_sqlGerar SQL DDL para o banco de dados de destino
clear_diagramRemover todas as tabelas e relacionamentos
undoVer a última ação na pilha de desfazer

Variáveis de Ambiente

VariávelPadrãoDescrição
RELAY_URL(embutido)Conectar a um relay externo em vez de iniciar um
PORT23432Porta inicial para o relay (auto-incrementa até 23442)
HOST0.0.0.0Endereço de escuta do relay
CORS_ORIGIN*Origem CORS para o endpoint HTTP do relay

Propriedades de Campo

Ao usar add_table, update_table, cada campo suporta:

PropriedadeTipoDescrição
namestringNome da coluna
typestringTipo SQL (INT, VARCHAR, TEXT, DATETIME, ENUM, ...)
primarybooleanChave primária
uniquebooleanRestrição única
nullablebooleanPermitir NULL (false = NOT NULL)
incrementbooleanAuto incremento
unsignedbooleanSem sinal (tipos numéricos)
default_valuestringValor padrão
checkstringExpressão de restrição CHECK
commentstringComentário da coluna
sizestringTamanho/precisão do tipo (ex.: "255" para VARCHAR(255))
valuesstring[]Valores permitidos para ENUM/SET

Perguntas Frequentes

HTTPS e ws://localhost? Todos os principais navegadores isentam localhost de verificações de conteúdo misto. ws://localhost funciona a partir de https://drawdb.icen.ai sem wss://.

A porta 23432 está ocupada? O relay detecta automaticamente as portas 23432–23442. O navegador verifica todas as portas automaticamente, então encontrará o relay onde quer que ele esteja.

Relay Independente

Para configurações avançadas (Docker, servidor compartilhado), você pode executar o relay separadamente:

npx mcp-drawdb-relay

Depois configure a ponte com RELAY_URL:

{
  "mcpServers": {
    "drawdb": {
      "command": "npx",
      "args": ["mcp-drawdb"],
      "env": {
        "RELAY_URL": "ws://your-server:23432"
      }
    }
  }
}

Requisitos

  • Node.js >= 18
  • drawdb com integração MCP (cliente WebSocket no navegador)
  • Uma aba do navegador em execução com drawdb aberto

Licença

MIT