Drizzle Sentinel MCP
Provides safety inspection, migration linting, and schema drift detection for Drizzle ORM schemas and migrations, plus read-only query plan analysis.
Supports comparing declared TypeScript schemas against live MySQL database tables and generating non-breaking remediation SQL for zero-downtime migrations.
Supports comparing declared TypeScript schemas against live PostgreSQL database tables and generating non-breaking remediation SQL for zero-downtime migrations.
Supports comparing declared TypeScript schemas against live SQLite database tables and generating non-breaking remediation SQL for zero-downtime migrations.
Click on "Deploy 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 Sentinel MCPlint my latest migration for unsafe changes"
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 Sentinel MCP
Production-Grade TypeScript MCP Server for Drizzle ORM Schema Inspection, Migration Safety Linting, and Schema Drift Detection.
š Overview & Purpose
Autonomous coding agents (Claude Code, Cursor, Codex) frequently hallucinate or generate unsafe database migrations ā such as adding NOT NULL columns without default values, dropping active columns, or forgetting indexes on foreign keys.
Drizzle Sentinel MCP is built for modern TypeScript engineering stacks (Turborepo + Drizzle ORM + Express / Next.js). It injects closed-loop database governance directly into agentic development workflows via the official Model Context Protocol.
Related MCP server: MCP Migration Advisor
šļø System Architecture
graph TD
Agent[Agentic IDE / Claude Code / Cursor] -->|MCP Protocol / stdio| Sentinel[š”ļø Drizzle Sentinel MCP Server]
subgraph Tools [MCP Governance Toolsuite]
Sentinel --> T1[š inspect_drizzle_schema]
Sentinel --> T2[šØ lint_drizzle_migration]
Sentinel --> T3[𩺠detect_schema_drift]
Sentinel --> T4[ā” explain_query_plan]
end
T1 --> Parser[Drizzle Schema AST Parser]
T2 --> Engine[Rules Engine: NO_DROP, DEFAULT_ON_NOT_NULL, UNINDEXED_FK]
T3 --> Drift[Drift Doctor & Safe Patch Generator]
T4 --> Sandbox[Read-Only Query Sandbox & Smell Detector]
Parser --> AppCode[TypeScript Drizzle Schemas]
Engine --> Migrations[Drizzle Migration .sql Files]
Drift --> Database[(PostgreSQL / SQLite / MySQL)]š ļø MCP Tools Provided
inspect_drizzle_schema: Deeply analyzes TypeScript Drizzle schemas, mapping tables, relations, and identifying foreign keys lacking index coverage.lint_drizzle_migration: Evaluates SQL migration statements against production safety rules:NO_RAW_DROP_TABLE: Blocks destructive table drops.NO_RAW_DROP_COLUMN: Enforces expand-contract migrations.REQUIRE_DEFAULT_ON_NOT_NULL: Prevents migration failures & table locks on existing tables.NO_UNINDEXED_FOREIGN_KEYS: Warns on missing FK index coverage.
detect_schema_drift: Compares declared TypeScript schema with live database tables, pinpointing missing columns/tables and emitting non-breaking zero-downtime remediation SQL.explain_query_plan: Enforces a strict read-only execution sandbox and flags performance smells (MISSING_LIMIT,WILDCARD_PROJECTION,SORT_MEMORY_RISK).
š Repository Structure
drizzle-sentinel-mcp/
āāā packages/
ā āāā mcp-server/ # TypeScript MCP server implementation
ā ā āāā src/tools/ # Tool handlers (inspect, lint, drift, sandbox)
ā ā āāā src/services/ # AST & schema parsers
ā ā āāā src/index.ts # Stdio server entrypoint
ā āāā rules-engine/ # AST & regex defensive migration rules
āāā apps/
ā āāā demo-service/ # Express + Drizzle ORM reference application
āāā tests/ # Vitest comprehensive unit & integration test suite
āāā turbo.json # Turborepo task pipeline
āāā CLAUDE.md # Agentic guidelines & operating rules
āāā README.mdš Quickstart & Setup
1. Install Dependencies & Build
npm install
npm run build2. Run Test Suite
npm test3. Register with Claude Code / Cursor MCP Config
Add the server to your claude_desktop_config.json or .cursor/mcp.json:
{
"mcpServers": {
"drizzle-sentinel": {
"command": "node",
"args": ["<path-to-repo>/packages/mcp-server/dist/index.js"]
}
}
}This server cannot be deployed
Maintenance
Related MCP Connectors
Deterministic safety, correctness & cost gate that vets Postgres SQL before your AI agent runs it.
Your Supabase account in natural language: run SQL, apply migrations, manage tables, storage, edge f
Generate, fix, explain and run read-only SQL on PostgreSQL, MySQL and SQL Server
API governance for AI agents. Detects breaking changes, scores blast radius, blocks unsafe calls.
Related MCP Servers
- FlicenseBqualityDmaintenanceValidates schema files against customizable lint rules using Claude or Gemini AI, supporting JSON and SQL schemas with rules for naming, structure, and migration safety.1-
- AlicenseAqualityDmaintenanceAnalyzes database migrations for risks like lock contention and data loss before they run. Supports Flyway and Liquibase formats, providing risk scores and rollback generation.618MIT
- FlicenseBqualityFmaintenanceProvides database schema management, query execution, and schema introspection through Drizzle ORM and drizzle-kit CLI tools, supporting SQLite and PostgreSQL.515-
- FlicenseNot gradedqualityBmaintenanceEnables AI tools to understand a database, inspect schema, and run safe SELECT queries with SQL guardrails, plus optional codebase reading.-