Drift — MCP-сервер для анализа кодовой базы
Drift — это самый полный MCP-сервер для анализа кодовой базы. Он сканирует ваш проект, изучает ваши паттерны и даёт AI-агентам глубокое понимание конвенций кода. 27 CLI-команд, 23 инструмента MCP, поддержка 6 языков.
Репозиторий: driftdetect (npm). Лицензия: MIT.
Зачем нужен Drift?
| Проблема |
Решение Drift |
| AI генерирует общий код, не подходящий под ваш стиль |
Изучает паттерны из вашей кодовой базы, а не жёсткие правила |
| «К каким данным может обратиться этот код?» |
Анализ достижимости графа вызовов (6 языков) |
| «Что сломается, если я изменю это?» |
Анализ влияния с расчётом радиуса поражения |
| «Какие тесты мне запустить?» |
Топология тестов с расчётом минимального набора |
| Ручной security-ревью |
Автоматическое отслеживание чувствительных данных (PII, учётные данные, финансы) |
Быстрый старт
# Установка
npm install -g driftdetect
# Инициализация и сканирование
cd your-project
drift init
drift scan
# Посмотреть, что узнал Drift
drift status
Использование с AI-агентами (MCP)
Добавьте в конфигурацию MCP (Claude Desktop, Cursor, Windsurf и др.):
{
"mcpServers": {
"drift": {
"command": "npx",
"args": ["-y", "driftdetect-mcp"]
}
}
}
После этого запросите у AI: «Добавь новый API-эндпоинт для пользовательских предпочтений». Drift сообщит агенту: в проекте используются @Controller с префиксом /api/v1, ошибки возвращаются в формате { error, code }, эндпоинты пользователей требуют @RequireAuth(), и укажет 3 похожих эндпоинта для примера.
Поддерживаемые языки
| Язык |
Парсинг |
Граф вызовов |
Доступ к данным |
Фреймворки |
| TypeScript/JavaScript |
✅ Tree-sitter |
✅ |
✅ |
React, Next.js, Express, Prisma, TypeORM |
| Python |
✅ Tree-sitter |
✅ |
✅ |
Django, FastAPI, Flask, SQLAlchemy |
| Java |
✅ Tree-sitter |
✅ |
✅ |
Spring Boot, JPA/Hibernate |
| C# |
✅ Tree-sitter |
✅ |
✅ |
ASP.NET Core, Entity Framework |
| PHP |
✅ Tree-sitter |
✅ |
✅ |
Laravel, Eloquent |
Что делает Drift уникальным
Обучение на основе кодовой базы
Большинство линтеров используют жёсткие правила. Drift учится на вашем коде: сканирует код, вы подтверждаете найденные паттерны, и он обнаруживает нарушения ваших конвенций.
Анализ графа вызовов
Статический анализ для ответов на вопросы:
drift callgraph reach src/api/users.ts:42 — какие данные доступны в строке 42?
drift callgraph inverse users.password_hash — кто может получить доступ к паролям?
Границы безопасности
Отслеживание чувствительных данных: автоматическое обнаружение PII, учётных данных, финансовой информации; флаги соответствия GDPR/HIPAA/PCI-DSS; понимание, какие эндпоинты работают с какими данными.
Топология тестов
Умный анализ тестов:
drift test-topology affected src/auth/login.ts — минимальный набор тестов для запуска
drift test-topology uncovered --min-risk high — непокрытый код с высоким риском
Связанность модулей
Метрики здоровья зависимостей:
drift coupling cycles — нахождение циклических зависимостей
drift coupling hotspots — модули с высокой связанностью
drift coupling unused-exports — мёртвые экспорты
Анализ обработки ошибок
drift error-handling gaps — необработанные ошибки
drift error-handling unhandled — проглоченные исключения
Инструменты MCP (всего 23)
| Слой |
Инструменты |
Назначение |
| Оркестрация |
drift_context |
Контекст с учётом намерений (начинайте отсюда) |
| Обзор |
drift_status, drift_capabilities, drift_projects |
Быстрый обзор |
| Исследование |
drift_patterns_list, drift_security_summary, drift_contracts_list, drift_trends |
Просмотр паттернов |
| Детали |
drift_pattern_get, drift_code_examples, drift_file_patterns, drift_impact_analysis, drift_reachability, drift_wrappers, drift_dna_profile |
Глубокое погружение |
| Анализ |
drift_test_topology, drift_coupling, drift_error_handling |
Качество кода |
| Генерация |
drift_suggest_changes, drift_validate_change, drift_explain |
Помощь AI |
Команды CLI (всего 27)
Основные: init, scan, check, status, approve, ignore, report
Навигация: where, files, export
Мониторинг: watch, dashboard, trends
Анализ: boundaries, callgraph, test-topology, coupling, error-handling, wrappers, dna
Управление: projects, skills, parser, migrate-storage
Категории паттернов (всего 14)
api · auth · security · errors · logging · data-access · config · testing · performance · components · styling · structural · types · accessibility
Визуализация «Галактика»
3D-визуализация паттернов доступа к данным: таблицы как планеты, API как космические станции, потоки данных как гиперпространственные линии. Запустить: drift dashboard → вкладка Galaxy.
CI-интеграция
drift check --ci --fail-on warning # Останов при нарушениях
drift check --format github # Аннотации GitHub Actions
drift check --format gitlab # Формат GitLab CI
Форматы экспорта
drift export --format json # Полный манифест
drift export --format ai-context # Для LLM
drift export --format markdown # Документация
drift export --format summary # Для чтения
Ссылки
Лицензия
MIT © Geoffrey Fernald
Комментарии
Комментариев пока нет. Будьте первым.