README.md

May 27, 2026 Β· View on GitHub

Dory Logo

Dory

Dory is an AI-native Data Workspace for modern databases.

The AI-powered Data Studio you've been waiting for.

It combines intelligent SQL editing, context-aware AI assistance, conversational database exploration, and deep operational integration across modern databases into a single unified studio β€” helping you explore, monitor, and manage your data with the power of AI.

πŸš€ Try Live Demo Β  β€’ Β  🍺 Install via Homebrew Β  β€’ Β  🍎 Download for macOS Β  β€’ Β  Download for Windows Β  β€’ Β  πŸ“¦ Quick Start Β  β€’ Β  🏠 Self-Hosting Β  β€’ Β  🀝 Contributing Β  β€’ Β  ⭐ Star

No signup required. Click "Enter as Demo" to start instantly.

πŸ‘‡ Live Playground: https://app.getdory.dev

Dory Preview

πŸš€ Quick Start

Install on macOS with Homebrew

brew install dorylab/dory/dory

Run with Docker

Make sure Docker is installed, then run:

docker run -d --name dory \
  -p 3000:3000 \
  -e DS_SECRET_KEY="$(openssl rand -base64 32 | tr -d '\n')" \
  -e BETTER_AUTH_SECRET="$(openssl rand -hex 32)" \
  -e BETTER_AUTH_URL="http://localhost:3000" \
  -e DORY_AI_PROVIDER=openai \
  -e DORY_AI_MODEL=gpt-4o-mini \
  -e DORY_AI_API_KEY=your_api_key_here \
  -e DORY_AI_URL=https://api.openai.com/v1 \
  -e NEXT_PUBLIC_REQUIRE_EMAIL_VERIFICATION=false \
  -e DORY_INIT_USER_EMAIL=admin@getdory.dev \
  -e DORY_INIT_USER_PASSWORD=admin \
  dorylab/dory:latest

Then:

Username: admin@getdory.dev

Password: admin

The initial administrator account is controlled by DORY_INIT_USER_EMAIL and DORY_INIT_USER_PASSWORD in .env.

To enable email verification, set RESEND_API_KEY to a valid resend key and EMAIL_FROM to a validated email.

Self-host with Docker Compose

For long-running self-hosted deployments, Docker Compose runs Dory with a dedicated PostgreSQL database and persistent volumes.

cp docker-compose.env.example .env
# Edit .env and replace all placeholder secrets/passwords.
docker compose up -d

For comprehensive self-hosting documentation, environment variables, and deployment guides, see the Self-Hosting Documentation.

✨ Key Features

🧠 SQL Copilot

An AI assistant grounded in real database schema and current query context.

  • Ask β€” Generate SQL from natural language
  • Action β€” Fix or rewrite the current SQL
  • Context β€” Explain query logic and field semantics

AI that understands your database β€” not just text completion.


⌨️ Schema-Aware Autocomplete

  • SQL completion based on real database schema
  • Suggests tables, columns, functions, and aliases
  • Supports multi-table joins and subqueries

image

✍️ Intelligent SQL Editor

  • Multi-tab SQL workspace with support for multiple result sets
  • Save and organize frequently used queries
  • AI-powered SQL Copilot for writing, explaining, and optimizing queries
  • Instant query visualization with built-in charts

image

πŸ’¬ Database Chatbot

  • Built-in conversational AI assistant
  • Automatically understands connected database schema
  • Ask questions directly about tables and SQL
  • Quickly locate field meanings and query ideas

πŸ”— Agent Access via MCP

  • Desktop MCP endpoint for local agent clients
  • No manual token copy/paste in the desktop app
  • Supports schema discovery, saved queries, read-only SQL, table previews, monitoring summaries, and analysis tools

πŸ“ˆ ClickHouse Monitoring (Deep Integration)

A native observability interface designed specifically for ClickHouse.

  • Real-time metrics:
    • Total queries
    • Slow queries
    • Error queries
    • Active users
  • Query latency trends (P50 / P95)
  • Query throughput trends (QPM)
  • Multi-dimensional filtering:
    • User
    • Database
    • Query type
    • Time range

Dory Preview

πŸ” ClickHouse Privileges (Deep Integration)

Native ClickHouse user and role management UI.

  • Create, edit, and delete database users
  • Create roles and configure grant relationships
  • Configure:
    • Login username and password
    • Allowed host addresses
    • Granted roles and default roles
  • Supports cluster-level privilege operations (On Cluster)
  • No need to manually write GRANT / CREATE USER SQL

πŸ”Œ Database Support

DatabaseStatus
ClickHouseβœ… Deeply integrated
PostgreSQLβœ… Supported
Neonβœ… Supported
MySQLβœ… Supported
MariaDBβœ… Supported
SQLiteβœ… Supported
DuckDBβœ… Supported
SQL Serverβœ… Supported
Oracleβœ… Supported
Snowflake🚧 Planned

🧠 Supported AI Providers

Dory is built with a pluggable AI provider architecture. You can freely switch between different model vendors by changing environment variables β€” no code changes required.

Currently supported providers:

ProviderEnv DORY_AI_PROVIDERDescription
OpenAIopenaiDefault provider. Uses official OpenAI API.
OpenAI-Compatibleopenai-compatibleAny service exposing an OpenAI-compatible API.
AnthropicanthropicClaude models via Anthropic official API.
GooglegoogleGemini models via Google Generative AI API.
Qwen (Alibaba)qwenQwen models via DashScope OpenAI-compatible endpoint.
xAIxaiGrok models via xAI API.

πŸ”— Desktop MCP

The Dory desktop app includes local MCP (Model Context Protocol) support, so agent clients can use your Dory connections without manually copying API tokens.

To enable it:

  1. Open the Dory desktop app.
  2. Go to Settings β†’ Agent Access.
  3. Turn on Enable.
  4. Add the displayed local endpoint to your MCP client.

By default, desktop MCP runs at:

http://127.0.0.1:3318/api/mcp

For Codex CLI:

codex mcp add dory --url http://127.0.0.1:3318/api/mcp
codex mcp list

For Claude Code:

claude mcp add --transport http dory http://127.0.0.1:3318/api/mcp
claude mcp list

Dory manages the desktop MCP grant automatically. The local MCP endpoint can list connections, inspect schemas, read saved queries, preview tables, run read-only SQL, and build analysis context for connected databases.


πŸ—ΊοΈ Roadmap

See the latest roadmap here:

Dory Roadmap


βš™οΈ Tech Stack

  • Next.js + React + Tailwind
  • Drizzle ORM
  • Multi-model AI SDK integration
  • PGLite
  • Resend
  • Shadcn UI
  • Monaco Editor

🎯 Who is it for?

  • Data engineers
  • Data analysts
  • Database platform teams
  • ClickHouse operations teams

Your data stays yours. Except for AI requests sent through Cloudflare Gateway, everything β€” connections, tabs, and saved queries β€” is stored locally on your device.

πŸ“„ License

Apache-2.0