返回市场
SonarQube-MCP-服务器

SonarQube-MCP-服务器

作者:SonarSource179 星标更新:2025-11-23

项目介绍

SonarQube MCP 服务器

构建状态 质量门状态

SonarQube MCP 服务器是一个模型上下文协议(MCP)服务器,它能够无缝集成到 SonarQube 服务器或云中,用于代码质量和安全性分析。它还支持在代理上下文中直接分析代码片段。

快速设置

最简单的方法是依赖我们托管在 mcp/sonarqube 的 Docker 镜像。如果您想本地构建,请阅读以下内容。

<details>

<summary>Claude 代码</summary>

  • 连接到 SonarQube 云:

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

  • 连接到 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

</details> <details>

<summary>Codex CLI</summary>

~/.codex/config.toml 中添加以下配置:

  • 连接到 SonarQube 云:
[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>" }
  • 连接到 SonarQube 服务器:
[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>

  • 连接到 SonarQube 云:

安装 SonarQube 云

  • 连接到 SonarQube 服务器:

安装 SonarQube 服务器

</details> <details>

<summary>Gemini CLI</summary>

您可以使用以下命令安装我们的 MCP 服务器扩展:

gemini extensions install https://github.com/SonarSource/sonarqube-mcp-server

您需要在启动 Gemini 之前设置所需的环境变量:

SONARQUBE_TOKEN="<token>"
SONARQUBE_ORG="<org>" // 对于 SonarQube 云,否则为空
SONARQUBE_URL="<url>" // 对于 SonarQube 服务器,否则为空

一旦安装完成,扩展将被安装在 <home>/.gemini/extensions/sonarqube-mcp-server/gemini-extension.json 下。

</details> <details>

<summary>GitHub Copilot CLI</summary>

在启动 Copilot CLI 后,运行以下命令以添加 SonarQube MCP 服务器:

/mcp add

您需要提供关于 MCP 服务器的不同信息,可以使用 Tab 键在字段之间导航。

  • 连接到 SonarQube 云:
服务器名称: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 服务器:
服务器名称: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

</details> <details>

<summary>GitHub Copilot 编码代理</summary>

GitHub Copilot 编码代理可以直接在您的 CI/CD 中利用 SonarQube MCP 服务器。

要将密钥添加到您的 Copilot 环境,请遵循 Copilot 文档。只有名称以 COPILOT_MCP_ 开头的密钥才能用于您的 MCP 配置。

在您的 GitHub 存储库中,导航至 设置 -> 代码与自动化 -> Copilot -> 编码代理,并在 MCP 配置部分添加以下配置:

  • 连接到 SonarQube 云:
{
  "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": ["*"]
    }
  }
}
  • 连接到 SonarQube 服务器:
{
  "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 文件(如果已存在则编辑),添加以下配置:

  • 连接到 SonarQube 云:
{
  "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": []
    }
  }
}
  • 连接到 SonarQube 服务器:
{
  "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 中使用以下按钮简化安装过程。

安装 SonarQube 云

安装 SonarQube 服务器

</details> <details>

<summary>Windsurf</summary>

SonarQube MCP 服务器作为 Windsurf 插件提供。请按照以下步骤操作:

  1. 在级联视图右上角点击 插件 按钮。
  2. 在插件商店中搜索 sonarqube
  3. 点击 安装
  4. 添加所需的 SonarQube 令牌。如果要连接到 SonarQube 云,请添加组织键;如果要连接到 SonarQube 服务器或社区构建,请添加 SonarQube URL。
</details> <details>

<summary>Zed</summary>

在 Zed 中导航到 扩展 视图并搜索 SonarQube MCP 服务器。 在安装扩展时,系统会提示您提供必要的环境变量:

  • 使用 SonarQube 云时:
{
  "sonarqube_token": "YOUR_SONARQUBE_TOKEN",
  "sonarqube_org": "SONARQUBE_ORGANIZATION_KEY",
  "docker_path": "DOCKER_PATH"
}
  • 使用 SonarQube 服务器时:
{
  "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

</details>

手动安装

您可以通过将以下代码段复制到 MCP 服务器配置文件中手动安装 SonarQube MCP 服务器:

  • 连接到 SonarQube 云:
{
  "sonarqube": {
    "command": "docker",
    "args": [
      "run",
      "-i",
      "--name",
      "sonarqube-mcp-server",
      "--rm",
      "-e",
      "SONARQUBE_TOKEN",
      "-e",
      "SONARQUBE_ORG",
      "mcp/sonarqube"