Skip to main content
Glama
akmalkhaniub

Drizzle Sentinel MCP

by akmalkhaniub

🛡️ Drizzle Sentinel MCP

TypeScript MCP-сервер производственного уровня для инспекции схем Drizzle ORM, проверки безопасности миграций и обнаружения расхождений схем.

TypeScript Turborepo Drizzle ORM MCP v1 Vitest


🌟 Обзор и назначение

Автономные агенты программирования (Claude Code, Cursor, Codex) часто галлюцинируют или генерируют небезопасные миграции базы данных — например, добавляют колонки NOT NULL без значений по умолчанию, удаляют активные колонки или забывают про индексы на внешних ключах.

Drizzle Sentinel MCP создан для современных TypeScript-стеков (Turborepo + Drizzle ORM + Express / Next.js). Он встраивает управление базой данных с замкнутым циклом непосредственно в агентные процессы разработки через официальный Model Context Protocol.


Related MCP server: Drizzle MCP Server

🏗️ Системная архитектура

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

  1. inspect_drizzle_schema: Глубоко анализирует TypeScript-схемы Drizzle, сопоставляет таблицы и отношения, выявляет внешние ключи без покрытия индексами.

  2. lint_drizzle_migration: Оценивает SQL-выражения миграций на соответствие правилам безопасности продакшена:

    • NO_RAW_DROP_TABLE: Блокирует разрушительное удаление таблиц.

    • NO_RAW_DROP_COLUMN: Обеспечивает выполнение миграций по схеме expand-contract.

    • REQUIRE_DEFAULT_ON_NOT_NULL: Предотвращает сбои миграций и блокировки таблиц на существующих таблицах.

    • NO_UNINDEXED_FOREIGN_KEYS: Предупреждает об отсутствии покрытия внешних ключей индексами.

  3. detect_schema_drift: Сравнивает объявленную TypeScript-схему с актуальными таблицами базы данных, выявляет отсутствующие колонки/таблицы и формирует не нарушающий работу SQL для устранения расхождений без простоев.

  4. explain_query_plan: Обеспечивает строгую read-only песочницу выполнения и отмечает признаки проблем производительности (MISSING_LIMIT, WILDCARD_PROJECTION, SORT_MEMORY_RISK).


📁 Структура репозитория

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

🚀 Быстрый старт и настройка

1. Установка зависимостей и сборка

npm install
npm run build

2. Запуск тестов

npm test

3. Регистрация в конфигурации MCP для Claude Code / Cursor

Добавьте сервер в ваш claude_desktop_config.json или .cursor/mcp.json:

{
  "mcpServers": {
    "drizzle-sentinel": {
      "command": "node",
      "args": ["<path-to-repo>/packages/mcp-server/dist/index.js"]
    }
  }
}

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides database schema management, query execution, and schema introspection through Drizzle ORM and drizzle-kit CLI tools, supporting SQLite and PostgreSQL.
    5
    16
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Gives AI coding assistants, IDEs, and CI full PostgreSQL schema intelligence from an offline snapshot, enabling linting, query validation, migration safety analysis, and foreign key graph exploration without ever exposing database credentials.
    36
    BSD 2-Clause "Simplified"
  • A
    license
    Not graded
    quality
    A
    maintenance
    Exposes read-only tools that let AI assistants detect schema drift, analyze lock impact, verify data with checksums, and plan safe PostgreSQL migrations that are validated by deterministic checks and shadow runs.
    24 npm
    Apache 2.0