Drizzle MCP Server
Provides database operations and schema management using Drizzle ORM, including migration generation, migration execution, schema introspection, and raw SQL query execution.
Planned support for MySQL databases (not yet implemented).
Supports PostgreSQL databases via pg or postgres drivers, enabling raw queries, schema introspection, and migration operations.
Supports SQLite databases via the better-sqlite3 driver, enabling raw queries, schema introspection, and migration operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Drizzle MCP ServerShow me the database schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Drizzle MCP Server
A Model Context Protocol (MCP) server that provides access to Drizzle ORM database operations and drizzle-kit CLI tools.
Features
Database Schema Management: Generate and run migrations using drizzle-kit
Query Execution: Execute raw SQL queries with parameter support
Schema Introspection: Explore database tables and schema information
Database Resources: Browse tables and schema through MCP resources
Cross-Project Compatibility: Works with any existing Drizzle project
Multi-Database Support: SQLite and PostgreSQL with automatic driver detection
Environment Variable Support: Automatic .env file loading for database credentials
Flexible Installation: Install globally, run with npx/bunx, or use as a linked package
Related MCP server: Database Bridge MCP Server
Installation
Option 1: Install globally from GitHub
npm install -g github:defrex/drizzle-mcpOption 2: Run directly with npx/bunx (no installation required)
npx github:defrex/drizzle-mcp --help
bunx github:defrex/drizzle-mcp --helpOption 3: Link for development (if working on the package)
# In the drizzle-mcp directory
bun link
# In your project directory
bun link drizzle-mcpUsage
Basic Usage
Run the server with your Drizzle config file:
drizzle-mcp ./drizzle.config.tsOr use the config option:
drizzle-mcp --config ./drizzle.config.tsClaude Desktop Integration
Add to your Claude Desktop configuration:
{
"mcpServers": {
"drizzle": {
"command": "npx",
"args": ["github:defrex/drizzle-mcp", "./drizzle.config.ts"]
}
}
}Or with bunx:
{
"mcpServers": {
"drizzle": {
"command": "bunx",
"args": ["github:defrex/drizzle-mcp", "./drizzle.config.ts"]
}
}
}Command Line Options
drizzle-mcp [options] [config]
Arguments:
config Path to drizzle config file
Options:
-V, --version output the version number
-c, --config <path> Path to drizzle config file
-d, --cwd <path> Working directory (default: current directory)
-v, --verbose Enable verbose logging
-h, --help display help for commandConfiguration
The server automatically detects your Drizzle configuration from:
Command line argument:
drizzle-mcp ./my-config.tsCurrent directory:
drizzle.config.ts,drizzle.config.js, ordrizzle.config.mjs
Your Drizzle config should be a standard drizzle-kit configuration file.
Environment Variables
The server automatically loads environment variables from .env.local and .env files in your project directory. This is useful for database credentials:
# .env.local
DATABASE_URL=postgresql://username:password@localhost:5432/databaseThe server will detect and use DATABASE_URL from your environment variables, so you can use it in your drizzle config:
export default defineConfig({
dialect: 'postgresql',
dbCredentials: {
url: process.env.DATABASE_URL!,
},
// ...
});Available Tools
drizzle_generate_migration - Generate new migration files
drizzle_run_migrations - Apply pending migrations
drizzle_introspect_schema - Introspect existing database schema
execute_query - Execute raw SQL queries
initialize_database - Initialize database connection
Available Resources
database://tables - List all database tables
database://schema - Complete database schema information
Note: Resources are database-agnostic and work with both SQLite and PostgreSQL
Requirements
Node.js 18 or higher
An existing Drizzle project with:
drizzle-orm>= 0.40.0drizzle-kit>= 0.30.0For SQLite:
better-sqlite3>= 9.0.0For PostgreSQL:
pg>= 8.0.0 ORpostgres>= 3.4.0
Note: The server automatically detects which database driver you have installed and uses the appropriate one.
Example Configuration
SQLite Configuration
import { defineConfig } from "drizzle-kit";
export default defineConfig({
out: "./migrations",
schema: "./src/schema.ts",
dialect: "sqlite",
dbCredentials: {
url: "./database.db",
},
});PostgreSQL Configuration
import { defineConfig } from "drizzle-kit";
export default defineConfig({
out: "./migrations",
schema: "./src/schema.ts",
dialect: "postgresql",
dbCredentials: {
url: process.env.DATABASE_URL!,
// Or use individual credentials:
// host: "localhost",
// port: 5432,
// user: "username",
// password: "password",
// database: "database",
},
});Note: The server supports both pg (node-postgres) and postgres (postgres-js) drivers. It will automatically detect which one you have installed and use the appropriate one.
Supported Databases
Currently supports:
SQLite - Via
better-sqlite3PostgreSQL - Via
pg(node-postgres) orpostgres(postgres-js)
The server automatically detects which database drivers you have installed and uses the appropriate ones. For PostgreSQL, it will try postgres first, then fall back to pg.
Support for MySQL is planned for future releases.
Development
The server is built with:
Node.js - JavaScript runtime
TypeScript - Type-safe development
Drizzle ORM - Database ORM and query builder
Commander.js - CLI argument parsing
MCP SDK - Model Context Protocol implementation
dotenv - Environment variable loading
Building from Source
git clone https://github.com/defrex/drizzle-mcp.git
cd drizzle-mcp
bun install
bun run buildKey Features
Automatic Module Resolution: Resolves database drivers and drizzle-orm from your project's dependencies
Environment Variable Loading: Automatically loads
.env.localand.envfiles from your projectCross-Platform: Works with npm, bun, and various package managers
Comprehensive Error Handling: Detailed error messages with context for easier debugging
Security: Input validation and sanitization for all user inputs
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/defrex/drizzle-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server