This fork of DrawDB extends the original with AI assistant integration via Model Context Protocol (MCP). AI assistants like Claude can now create, modify, and manage database diagrams programmatically through a WebSocket API.
Watch how to design database schemas using natural language with Claude AI.
Architecture:
- apps/gui: Original React-based DrawDB frontend
- apps/backend: NestJS MCP server that enables AI assistants to control the diagram editor
- Built with Turborepo and pnpm workspaces
The easiest way to get started is using Docker:
docker run \
--name drawdb-mcp \
-p 8080:80 \
-p 3000:3000 \
--restart unless-stopped \
ghcr.io/anatoly314/drawdb-mcp:latestThen:
- Open GUI: http://localhost:8080
- Connect Claude Code to the MCP server:
claude mcp add --transport http drawdb-mcp http://127.0.0.1:3000Now Claude can create and modify database diagrams for you!
See GHCR_DEPLOYMENT.md for available tags and advanced usage.
- Node.js 20+
- pnpm 8.15.0+ (install via
npm install -g pnpm)
Start both GUI and backend:
git clone https://github.com/anatoly314/drawdb-mcp
cd drawdb-mcp
pnpm install
pnpm devStart GUI only:
pnpm gui:dev
# Access at http://localhost:5173Start backend only:
pnpm backend:dev
# WebSocket at ws://localhost:3000/remote-controlBuild both applications:
pnpm install
pnpm buildBuild specific app:
pnpm build --filter=gui
pnpm build --filter=backendWhen running locally, connect Claude Code:
claude mcp add --transport http drawdb-mcp http://127.0.0.1:3000The frontend automatically connects to the backend via WebSocket for real-time updates.
See DOCKER_BUILD.md for detailed build instructions.
Build with Docker Compose:
docker-compose up --build
# Access at http://localhost:8080Or build directly:
docker build -t drawdb-mcp:local .
docker run -p 8080:80 -p 3000:3000 drawdb-mcp:localThe Docker image includes both frontend and backend. WebSocket is proxied through Nginx.
When updating to a new version (whether via Docker or local development), you must perform a hard refresh in your browser to clear the cached frontend JavaScript:
- Windows/Linux:
Ctrl + Shift + RorCtrl + F5 - macOS:
Cmd + Shift + R
Without a hard refresh, the browser may continue using the old cached frontend code even though the backend has been updated, which can cause errors or unexpected behavior.
The MCP server provides tools for exporting and importing database diagrams in multiple formats:
Export Formats:
- SQL DDL: Export database-specific SQL statements (PostgreSQL, MySQL, SQLite, MariaDB, MSSQL, Oracle)
- DBML: Export to Database Markup Language (human-readable, database-agnostic format)
- JSON: Export complete diagram state for backup/restore
Import Formats:
- DBML: Import database schemas from DBML format
- JSON: Import complete diagram state
Available MCP Tools:
export_sql- Export diagram as SQL DDL for current database typeexport_dbml- Export diagram as DBMLimport_dbml- Import database schema from DBMLexport_diagram- Export complete diagram as JSONimport_diagram- Import complete diagram from JSON
See CLAUDE.md for complete list of available MCP tools and their usage.
