MCP-сервер · Разработка и DevOps
SonarQube MCP Server
Официальный MCP-сервер SonarSource, который подключает агента к SonarQube Server или Cloud: проблемы, Security Hotspots, Quality Gates, покрытие тестами и анализ кода. Нужен командам, где качество кода уже контролирует SonarQube.
Сверено 21 октября 2026 г.
Что умеет сервер
SonarQube MCP Server выпускает сама SonarSource. Он связывает AI-агента с SonarQube Server или SonarQube Cloud и позволяет работать с качеством и безопасностью кода обычными фразами, а также анализировать фрагмент кода прямо в контексте агента. Инструменты разбиты на наборы: поиск и смена статуса проблем (issues), просмотр и ревью Security Hotspots, статус Quality Gates, правила, дублирование кода, метрики и показатели, покрытие тестами (какие файлы хуже всего покрыты и какие именно строки не покрыты), риски зависимостей, проекты, портфели и вебхуки. Для SonarQube Server отдельно есть системные инструменты.
По умолчанию включены основные наборы: анализ, проблемы, проекты, Quality Gates, правила, дублирование, показатели, Security Hotspots, риски зависимостей и покрытие. Лишнее отключают переменной SONARQUBE_TOOLSETS, чтобы не раздувать контекст модели.
Когда использовать
Сервер удобен, когда в команде уже работает SonarQube: попросить агента вывести открытые проблемы по ветке или pull request, пройтись по Security Hotspots, выяснить, почему не пройден Quality Gate, найти файлы с низким покрытием и дописать тесты. Режим интеграции с SonarQube for IDE позволяет анализировать файлы локально через SonarQube for IDE.
Ограничения и безопасность
Для SonarQube Server нужна версия 2025.1 или новее (для Community Build 25.1 и новее), иначе сервер при запуске завершится с ошибкой, и токен обязательно типа USER: проектные и глобальные токены не подойдут. Инструменты рисков зависимостей работают только на SonarQube Server 2025.4 Enterprise и выше с включённым Advanced Security. Наборы Vortex доступны только по stdio и требуют, чтобы организации была выдана соответствующая возможность.
Токен SonarQube нельзя записывать в историю оболочки и коммитить в репозиторий: README советует брать его из переменных окружения. Режим SONARQUBE_READ_ONLY=true отключает все операции записи, например смену статуса проблем. Сервер собирает анонимную статистику использования и отправляет её в SonarSource (без исходного кода и IP-адреса), её отключает TELEMETRY_DISABLED=true. Лицензия: SONAR Source-Available License v1.0, то есть это не открытая лицензия, а использование SonarQube через MCP регулируется условиями SonarQube Cloud или SonarQube Server.
Установка
Claude Code
Для SonarQube Cloud:
claude mcp add sonarqube \
--env SONARQUBE_TOKEN=$SONAR_TOKEN \
--env SONARQUBE_ORG=$SONAR_ORG \
-- docker run --init --pull=always -i --rm -e SONARQUBE_TOKEN -e SONARQUBE_ORG sonarsource/sonarqube-mcpДля SonarQube Cloud US добавьте --env SONARQUBE_URL=https://sonarqube.us. Для SonarQube Server:
claude mcp add sonarqube \
--env SONARQUBE_TOKEN=$SONAR_USER_TOKEN \
--env SONARQUBE_URL=$SONAR_URL \
-- docker run --init --pull=always -i --rm -e SONARQUBE_TOKEN -e SONARQUBE_URL sonarsource/sonarqube-mcpCodex CLI
Добавьте в ~/.codex/config.toml (SonarQube Cloud):
[mcp_servers.sonarqube]
command = "docker"
args = ["run", "--init", "--pull=always", "--rm", "-i", "-e", "SONARQUBE_TOKEN", "-e", "SONARQUBE_ORG", "sonarsource/sonarqube-mcp"]
env = { "SONARQUBE_TOKEN" = "<YOUR_USER_TOKEN>", "SONARQUBE_ORG" = "<YOUR_ORG>" }Для SonarQube Server:
[mcp_servers.sonarqube]
command = "docker"
args = ["run", "--init", "--pull=always", "--rm", "-i", "-e", "SONARQUBE_TOKEN", "-e", "SONARQUBE_URL", "sonarsource/sonarqube-mcp"]
env = { "SONARQUBE_TOKEN" = "<YOUR_TOKEN>", "SONARQUBE_URL" = "<YOUR_SERVER_URL>" }Gemini CLI
Расширение перенесено в репозиторий sonarqube-agent-plugins:
gemini extensions install https://github.com/SonarSource/sonarqube-agent-pluginsПеред запуском Gemini задайте переменные окружения: для SonarQube Cloud SONARQUBE_TOKEN и SONARQUBE_ORG (для Cloud US ещё SONARQUBE_URL), для SonarQube Server SONARQUBE_TOKEN (токен типа USER) и SONARQUBE_URL.
GitHub Copilot CLI
После запуска Copilot CLI выполните команду и заполните поля:
/mcp addServer Name: sonarqube
Server Type: Local (Press 1)
Command: docker
Arguments: run, --init, --pull=always, --rm, -i, -e, SONARQUBE_TOKEN, -e, SONARQUBE_ORG, sonarsource/sonarqube-mcp
Environment Variables: SONARQUBE_TOKEN=<YOUR_TOKEN>,SONARQUBE_ORG=<YOUR_ORG>
Tools: *Cursor, VS Code, Windsurf
Для Cursor и VS Code в README есть кнопки установки для SonarQube Cloud и SonarQube Server. В Windsurf откройте Settings, Cascade, MCP Servers, затем Open MCP Marketplace, найдите sonarqube и выберите SonarQube MCP Server, нажмите Install и укажите токен пользователя. Для Cloud можно добавить ключ организации, для Server или Community Build адрес SonarQube.
Ручная настройка
Если клиента нет в списке, вставьте блок в файл конфигурации MCP-серверов. Для SonarQube Cloud:
{
"sonarqube": {
"command": "docker",
"args": [
"run",
"--init",
"--pull=always",
"-i",
"--rm",
"-e",
"SONARQUBE_TOKEN",
"-e",
"SONARQUBE_ORG",
"sonarsource/sonarqube-mcp"
],
"env": {
"SONARQUBE_TOKEN": "<token>",
"SONARQUBE_ORG": "<org>"
}
}
}Для SonarQube Server:
{
"sonarqube": {
"command": "docker",
"args": [
"run",
"--init",
"--pull=always",
"-i",
"--rm",
"-e",
"SONARQUBE_TOKEN",
"-e",
"SONARQUBE_URL",
"sonarsource/sonarqube-mcp"
],
"env": {
"SONARQUBE_TOKEN": "<token>",
"SONARQUBE_URL": "<url>"
}
}
}Режим только для чтения
docker run --init --pull=always -i --rm \
-e SONARQUBE_TOKEN="<token>" \
-e SONARQUBE_ORG="<org>" \
-e SONARQUBE_READ_ONLY="true" \
sonarsource/sonarqube-mcpСовместимые клиенты
- Claude Code
- Codex CLI
- Cursor
- Gemini CLI
- GitHub Copilot CLI
- GitHub Copilot
- Kiro
- VS Code
- Windsurf
- Zed
- Antigravity