SonarQube MCP Server 是一个模型上下文协议(MCP)服务器,它能够无缝集成到 SonarQube Server 或 Cloud 中,用于代码质量和安全性分析。它还支持在代理上下文中直接分析代码片段。
最简单的方法是依赖我们托管在 mcp/sonarqube 的 Docker 镜像。如果您想本地构建,请阅读以下内容。
<details><summary>Claude Code</summary>
claude mcp add sonarqube --env SONARQUBE_TOKEN=<token> --env SONARQUBE_ORG=<org> -- docker run -i --name sonarqube-mcp-server --rm -e SONARQUBE_TOKEN -e SONARQUBE_ORG mcp/sonarqube
claude mcp add sonarqube --env SONARQUBE_TOKEN=<token> --env SONARQUBE_URL=<url> -- docker run -i --name sonarqube-mcp-server --rm -e SONARQUBE_TOKEN -e SONARQUBE_URL mcp/sonarqube
<summary>Codex CLI</summary>
在 ~/.codex/config.toml 中添加以下配置:
[mcp_servers.sonarqube]
command = "docker"
args = ["run", "--name", "sonarqube-mcp-server", "--rm", "-i", "-e", "SONARQUBE_TOKEN", "-e", "SONARQUBE_ORG", "mcp/sonarqube"]
env = { "SONARQUBE_TOKEN" = "<YOUR_USER_TOKEN>", "SONARQUBE_ORG" = "<YOUR_ORG>" }
[mcp_servers.sonarqube]
command = "docker"
args = ["run", "--name", "sonarqube-mcp-server", "--rm", "-i", "-e", "SONARQUBE_TOKEN", "-e", "SONARQUBE_URL", "mcp/sonarqube"]
env = { "SONARQUBE_TOKEN" = "<YOUR_TOKEN>", "SONARQUBE_URL" = "<YOUR_SERVER_URL>" }
</details>
<details>
<summary>Cursor</summary>
<summary>Gemini CLI</summary>
您可以使用以下命令安装我们的 MCP 服务器扩展:
gemini extensions install https://github.com/SonarSource/sonarqube-mcp-server
在启动 Gemini 之前,您需要设置所需的环境变量:
SONARQUBE_TOKEN="<token>"
SONARQUBE_ORG="<org>" // 对于 SonarQube Cloud,否则为空
SONARQUBE_URL="<url>" // 对于 SonarQube Server,否则为空
一旦安装完成,扩展将被安装在 <home>/.gemini/extensions/sonarqube-mcp-server/gemini-extension.json 下。
<summary>GitHub Copilot CLI</summary>
在启动 Copilot CLI 后,运行以下命令以添加 SonarQube MCP 服务器:
/mcp add
您需要提供有关 MCP 服务器的不同信息,可以使用 Tab 键在字段之间导航。
服务器名称:sonarqube
服务器类型:本地(按 1)
命令:docker
参数:run, --name, sonarqube-mcp-server, --rm, -i, -e, SONARQUBE_TOKEN, -e, SONARQUBE_ORG, mcp/sonarqube
环境变量:SONARQUBE_TOKEN=<YOUR_TOKEN>,SONARQUBE_ORG=<YOUR_ORG>
工具:*
服务器名称:sonarqube
服务器类型:本地(按 1)
命令:docker
参数:run, --name, sonarqube-mcp-server, --rm, -i, -e, SONARQUBE_TOKEN, -e, SONARQUBE_ORG, mcp/sonarqube
环境变量:SONARQUBE_TOKEN=<YOUR_USER_TOKEN>,SONARQUBE_URL=<YOUR_SERVER_URL>
工具:*
配置文件位于 ~/.copilot/mcp-config.json。
<summary>GitHub Copilot 编码代理</summary>
GitHub Copilot 编码代理可以直接在您的 CI/CD 中利用 SonarQube MCP 服务器。
要将密钥添加到您的 Copilot 环境中,请遵循 Copilot 文档。只有前缀为 COPILOT_MCP_ 的密钥才会对您的 MCP 配置可用。
在您的 GitHub 存储库中,导航至 设置 -> 代码与自动化 -> Copilot -> 编码代理,并在 MCP 配置部分添加以下配置:
{
"mcpServers": {
"sonarqube": {
"type": "local",
"command": "docker",
"args": [
"run",
"--name",
"sonarqube-mcp-server",
"--rm",
"-i",
"-e",
"SONARQUBE_TOKEN=$SONAR_TOKEN",
"-e",
"SONARQUBE_ORG=$SONAR_ORG",
"mcp/sonarqube"
],
"env": {
"SONAR_TOKEN": "COPILOT_MCP_SONARQUBE_TOKEN",
"SONAR_ORG": "COPILOT_MCP_SONARQUBE_ORG"
},
"tools": ["*"]
}
}
}
{
"mcpServers": {
"sonarqube": {
"type": "local",
"command": "docker",
"args": [
"run",
"--name",
"sonarqube-mcp-server",
"--rm",
"-i",
"-e",
"SONARQUBE_TOKEN=$SONAR_TOKEN",
"-e",
"SONARQUBE_URL=$SONAR_URL",
"mcp/sonarqube"
],
"env": {
"SONAR_TOKEN": "COPILOT_MCP_SONARQUBE_USER_TOKEN",
"SONAR_URL": "COPILOT_MCP_SONARQUBE_URL"
},
"tools": ["*"]
}
}
}
</details>
<details>
<summary>Kiro</summary>
在您的工作区目录下创建一个 .kiro/settings/mcp.json 文件(如果已存在则编辑),并添加以下配置:
{
"mcpServers": {
"sonarqube": {
"command": "docker",
"args": [
"run",
"-i",
"--name",
"sonarqube-mcp-server",
"--rm",
"-e",
"SONARQUBE_TOKEN",
"-e",
"SONARQUBE_ORG",
"mcp/sonarqube"
],
"env": {
"SONARQUBE_TOKEN": "<YOUR_TOKEN>",
"SONARQUBE_ORG": "<YOUR_ORG>"
},
"disabled": false,
"autoApprove": []
}
}
}
{
"mcpServers": {
"sonarqube": {
"command": "docker",
"args": [
"run",
"-i",
"--name",
"sonarqube-mcp-server",
"--rm",
"-e",
"SONARQUBE_TOKEN",
"-e",
"SONARQUBE_URL",
"mcp/sonarqube"
],
"env": {
"SONARQUBE_TOKEN": "<YOUR_USER_TOKEN>",
"SONARQUBE_URL": "<YOUR_SERVER_URL>"
},
"disabled": false,
"autoApprove": []
}
}
}
</details>
<details>
<summary>VS Code</summary>
您可以使用以下按钮简化 VS Code 内的安装过程。
</details> <details><summary>Windsurf</summary>
SonarQube MCP Server 可作为 Windsurf 插件获得。请遵循以下说明:
插件 按钮。sonarqube。安装。<summary>Zed</summary>
在 Zed 中导航到 扩展 视图,并搜索 SonarQube MCP Server。 在安装扩展时,系统会提示您提供必要的环境变量:
{
"sonarqube_token": "YOUR_SONARQUBE_TOKEN",
"sonarqube_org": "SONARQUBE_ORGANIZATION_KEY",
"docker_path": "DOCKER_PATH"
}
{
"sonarqube_token": "YOUR_SONARQUBE_USER_TOKEN",
"sonarqube_url": "YOUR_SONARQUBE_SERVER_URL",
"docker_path": "DOCKER_PATH"
}
docker_path 是指向 Docker 可执行文件的路径。例如:
Linux/macOS: /usr/bin/docker 或 /usr/local/bin/docker
Windows: C:\Program Files\Docker\Docker\resources\bin\docker.exe
您可以通过将以下代码段复制到 MCP 服务器配置文件中来手动安装 SonarQube MCP 服务器:
{
"sonarqube": {
"command": "docker",
"args": [
"run",
"-i",
"--name",
"sonarqube-mcp-server",
"--rm",
"-e",
"SONARQUBE_TOKEN",
"-e",
"SONARQUBE_ORG",
"mcp/sonarqube"