ai-quality-gate — MCP-сервер для Claude Code: ESLint-гейт
Проверяет код, который написал ИИ, через ESLint и Prettier, сам правит что может и отдаёт агенту список оставшихся ошибок.
claude mcp add --env PROJECT_ROOT=<PROJECT_ROOT> --env SONAR_HOST_URL=<SONAR_HOST_URL> --env SONAR_TOKEN=<SONAR_TOKEN> --env SONAR_PROJECT_KEY=<SONAR_PROJECT_KEY> --env ENABLE_I18N_RULES=<ENABLE_I18N_RULES> --transport stdio ai-quality-gate -- npx -y ai-quality-gateЧто делает ai-quality-gate
Агент пишет код и вызывает инструмент quality_fix. Сервер прогоняет файлы через ESLint с набором из 627 правил и через Prettier, после чего исправляет то, что чинится автоматически, а остальное возвращает модели текстом. Первая фаза укладывается примерно в 2–8 секунд и запускается всегда. Вторая — SonarQube — ждёт до 30–60 секунд и включается только при наличии сервера. Поэтому цикл «написал → проверил → поправил» не растягивается на минуты.
Форматирование берётся из конфига проекта, а правила ESLint задаёт сам сервер. Это значит, что отступы останутся вашими, а планка качества — общей для всех, кто подключил гейт. Чтобы проверка стала обязательной, в редакторе добавляется правило: после каждой правки кода агент обязан вызвать quality_fix перед словом «готово». Без такого правила сервер просто ждёт вызова.
Нужен Node.js 20.10+ или 21.1+ в PATH. Корень проекта определяется сам: сервер идёт вверх от рабочей директории до package.json или tsconfig.json, а PROJECT_ROOT задают вручную, если раскладка нестандартная. Для второй фазы понадобятся запущенный SonarQube, sonar-scanner и три переменные — SONAR_HOST_URL, SONAR_TOKEN, SONAR_PROJECT_KEY. Без них гейт работает в урезанном виде, и это нормальный режим.
Какие задачи решает
- прогнать свежий код агента через ESLint до коммита
- убрать неиспользуемые импорты автоматически
- привести отступы к конфигу проекта через Prettier
- вернуть модели список ошибок, которые она должна доделать
- добавить проверку SonarQube к тому же вызову
Примеры запросов агенту
- Вызови
quality_fixпосле правок и покажи, что осталось. - Прогони изменённые файлы через гейт и исправь замечания.
- Проверь код перед тем, как сказать, что задача готова.
Как установить ai-quality-gate
Командой платформы
claude mcp add --env PROJECT_ROOT=<PROJECT_ROOT> --env SONAR_HOST_URL=<SONAR_HOST_URL> --env SONAR_TOKEN=<SONAR_TOKEN> --env SONAR_PROJECT_KEY=<SONAR_PROJECT_KEY> --env ENABLE_I18N_RULES=<ENABLE_I18N_RULES> --transport stdio ai-quality-gate -- npx -y ai-quality-gateВместо <…> подставьте свои значения
Командой платформы
codex mcp add ai-quality-gate --env PROJECT_ROOT=<PROJECT_ROOT> --env SONAR_HOST_URL=<SONAR_HOST_URL> --env SONAR_TOKEN=<SONAR_TOKEN> --env SONAR_PROJECT_KEY=<SONAR_PROJECT_KEY> --env ENABLE_I18N_RULES=<ENABLE_I18N_RULES> -- npx -y ai-quality-gateВместо <…> подставьте свои значения
Файл настроек
{
"mcpServers": {
"ai-quality-gate": {
"command": "npx",
"args": [
"-y",
"ai-quality-gate"
],
"env": {
"PROJECT_ROOT": "<PROJECT_ROOT>",
"SONAR_HOST_URL": "<SONAR_HOST_URL>",
"SONAR_TOKEN": "<SONAR_TOKEN>",
"SONAR_PROJECT_KEY": "<SONAR_PROJECT_KEY>",
"ENABLE_I18N_RULES": "<ENABLE_I18N_RULES>"
}
}
}
}Вместо <…> подставьте свои значения
Файл настроек
{
"servers": {
"ai-quality-gate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ai-quality-gate"
],
"env": {
"PROJECT_ROOT": "<PROJECT_ROOT>",
"SONAR_HOST_URL": "<SONAR_HOST_URL>",
"SONAR_TOKEN": "<SONAR_TOKEN>",
"SONAR_PROJECT_KEY": "<SONAR_PROJECT_KEY>",
"ENABLE_I18N_RULES": "<ENABLE_I18N_RULES>"
}
}
}
}Вместо <…> подставьте свои значения
Командой платформы
gemini mcp add -e PROJECT_ROOT=<PROJECT_ROOT> -e SONAR_HOST_URL=<SONAR_HOST_URL> -e SONAR_TOKEN=<SONAR_TOKEN> -e SONAR_PROJECT_KEY=<SONAR_PROJECT_KEY> -e ENABLE_I18N_RULES=<ENABLE_I18N_RULES> ai-quality-gate npx -y ai-quality-gateВместо <…> подставьте свои значения
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о ai-quality-gate
Как установить ai-quality-gate в Claude Code?
Добавьте сервер командой claude mcp add ai-quality-gate -e SONAR_TOKEN=<SONAR_TOKEN> -- npx -y ai-quality-gate. Если нужны переменные проекта и SonarQube, используйте второй вариант с --env PROJECT_ROOT=<PROJECT_ROOT>, SONAR_HOST_URL, SONAR_TOKEN, SONAR_PROJECT_KEY, ENABLE_I18N_RULES и --transport stdio.
Что делает ai-quality-gate?
Даёт агенту инструмент quality_fix: тот проверяет код через ESLint и Prettier, правит автоматические ошибки и сообщает оставшиеся. Опционально подключается SonarQube.
Нужен ли SonarQube для работы?
Нет. Первая фаза на ESLint и Prettier запускается всегда, а SonarQube — вторая фаза, ей нужны sonar-scanner и переменные SONAR_HOST_URL, SONAR_TOKEN, SONAR_PROJECT_KEY.