Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mcp-drawdb

中文文档

MCP server for drawdb — lets AI assistants (Claude Code, Cursor, etc.) directly read and modify database diagrams in your browser.

How It Works

Claude Code  ──stdio──►  npx mcp-drawdb  ──ws──►  Relay (embedded)  ◄──ws──  Browser (drawdb)
  • npx mcp-drawdb starts a WebSocket relay server internally (auto port 23432–23442), then connects as a client. If a relay is already running, it reuses it.
  • drawdb in the browser auto-scans ports 23432–23442 to find the relay, exposes diagram state to tools
  • The relay routes messages between Claude Code and the browser

No separate relay process needed — everything runs inside the MCP bridge.

Quick Start

1. Configure Claude Code

Add to your claude_desktop_config.json or .claude/settings.json:

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

2. Open drawdb.icen.ai

Open drawdb.icen.ai in your browser. You'll see a green MCP dot in the header when connected.

Gray dot? The relay may be on a different port. The browser auto-scans 23432–23442, so just wait a moment. You can also click the MCP dot to manually set the WebSocket URL.

3. Done

Claude Code can now read and modify your diagrams. Try:

"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"

Tools (14)

Tool Description
ping Test connection to the browser
list_tables List all tables with fields
get_diagram Full diagram overview: tables, fields, layout (x/y/w/h), relationships, database type
add_table Add a table with fields, color, comment
update_table Rename table, add/drop/alter fields with full property control
delete_table Delete a table (cascades to relationships)
add_relationship Add FK with cardinality (1:1, 1:n, n:1, n:m) and constraint rules
delete_relationship Delete a relationship
set_layout Reposition tables on canvas
set_database Switch database type (mysql, postgresql, sqlite, mariadb, transactsql, oraclesql, generic)
get_issues Validate diagram: duplicate names, missing PKs, type mismatches, etc.
export_sql Generate DDL SQL for the target database
clear_diagram Remove all tables and relationships
undo View last action on the undo stack

Environment Variables

Variable Default Description
RELAY_URL (embedded) Connect to an external relay instead of starting one
PORT 23432 Starting port for the relay (auto-increments up to 23442)
HOST 0.0.0.0 Relay listen address
CORS_ORIGIN * CORS origin for the relay HTTP endpoint

Field Properties

When using add_table, update_table, each field supports:

Property Type Description
name string Column name
type string SQL type (INT, VARCHAR, TEXT, DATETIME, ENUM, ...)
primary boolean Primary key
unique boolean Unique constraint
nullable boolean Allow NULL (false = NOT NULL)
increment boolean Auto increment
unsigned boolean Unsigned (numeric types)
default_value string Default value
check string CHECK constraint expression
comment string Column comment
size string Type size/precision (e.g. "255" for VARCHAR(255))
values string[] Allowed values for ENUM/SET

FAQ

HTTPS and ws://localhost? All major browsers exempt localhost from mixed content checks. ws://localhost works from https://drawdb.icen.ai without wss://.

Port 23432 is occupied? The relay auto-detects ports 23432–23442. The browser scans all ports automatically, so it will find the relay wherever it is.

Standalone Relay

For advanced setups (Docker, shared server), you can run the relay separately:

npx mcp-drawdb-relay

Then configure the bridge with RELAY_URL:

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

Requirements

  • Node.js >= 18
  • drawdb with MCP integration (browser-side WebSocket client)
  • A running browser tab with drawdb open

License

MIT

About

MCP server for drawdb — lets AI assistants (Claude Code, Cursor, etc.) directly read and modify database diagrams in your browser.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages