
migrationpilot
mickelsamuelMIT
3 звёзд
MigrationPilot — статический анализатор SQL-миграций PostgreSQL. Он проверяет код миграции до того, как тот попадёт в базу данных. Использует настоящий парсер PostgreSQL (libpg-query), поэтому точно определяет все блокировки, которые возникнут при выполнении. Разработчики применяют MigrationPilot, чтобы находить опасные операции: создание индексов без CONCURRENTLY, добавление ограничений без проверки существующих данных, выполнение DDL без установки lock_timeout. Сервер выдаёт оценку риска по шкале до 100, подсвечивает критичные нарушения и предлагает безопасные альтернативы. При этом не требуется подключение к базе — анализ выполняется на основе SQL-скрипта. Достаточно запустить одну команду — и вы получите отчёт с деталями по каждому из 83 правил. Инструмент также умеет автоматически исправлять часть проблем флагом --fix.
Установка
npx -y migrationpilotХарактеристики
Общее
- СтатусСообщество
- Разработчикmickelsamuel
- ЛицензияMIT
Технологии
- ЯзыкиTypeScript
- Транспортstdio
Описание
Возможности
- Парсит SQL с помощью реального парсера PostgreSQL для точного анализа блокировок
- Проверяет миграции по 83 правилам безопасности, сгруппированным по степени риска
- Вычисляет общий риск в баллах от 0 до 100 и присваивает цветовую метку (зелёный/жёлтый/красный)
- Указывает на каждую проблему с кодом правила, описанием и строкой в файле
- Предлагает безопасную альтернативу для каждого нарушения
- Автоматически исправляет часть нарушений при запуске с флагом --fix
- Работает как CLI для одного файла, для директории с шаблоном и через stdin (поток из фреймворков вроде Django, Prisma, Knex)
- Интегрируется в CI/CD через GitHub Action: проверяет каждый PR, оставляет комментарий с результатами и может генерировать SARIF для GitHub Code Scanning
- Используется как Node.js библиотека в собственных скриптах
- Не требует подключения к базе данных и не вносит изменений — только анализ
Как подключить
1. Установите пакет через npx (скачивание и запуск без глобальной установки): npx -y migrationpilot
2. Настройте MCP-сервер в вашем клиенте. Для Claude Desktop добавьте в файл конфигурации (claude_desktop_config.json) этот объект в раздел mcpServers: {"mcpServers":{"migrationpilot":{"command":"npx","args":["-y","migrationpilot"]}}}
3. После сохранения перезапустите Claude Desktop, чтобы сервер стал доступен.
Примеры запросов
- «Проанализируй файл 002_add_index.sql на риск блокировок и покажи отчёт со всеми нарушениями»
- «Автоматически исправь все тривиальные проблемы в migration.sql, остальные подсвети»
- «Проверь все файлы миграций из папки migrations/ с шаблоном *.sql, дай сводку по уровню риска»
- «Вот SQL миграции: CREATE INDEX CONCURRENTLY... Проверь его на соответствие правилам и скажи, можно ли его выполнять в продакшене»
Технические детали
- Язык: TypeScript
- Транспорт: stdio
- Лицензия: MIT
- Совместимые клиенты: Claude Desktop, любой MCP-клиент с поддержкой stdio
- Категория: PostgreSQL