← 返回目录
S

SonarQube MCP Server

官方
将 SonarQube 代码质量与安全分析能力无缝集成到 AI 助手中。
分类
开发工具 第 38 / 438
Stars
★ 659 非常热门
传输方式
stdio(本地进程) · Streamable HTTP
运行环境
Docker
凭据
需要 API Key / 凭据
许可证
其他 / 未声明
最近提交
工具数
24
66FMRS · C

SonarQube MCP Server 是官方维护的服务器,提供丰富的代码质量与安全工具,支持多种客户端和传输模式,但需要有效的 SonarQube 凭证,并注意安全配置。

最强项 · 文档质量 17/20 最弱项 · 可靠性 10/20

可靠性
10/20
安全与权限
15/20
维护活跃度
10/20
文档质量
17/20
安装易用性
14/20
查看各项评分依据
可靠性 10/20
manifest 符合 2025-12-11 schema,README 对 stdio/Streamable HTTP/HTTPS 三种传输模式、健康检查端点与完整工具面(分析、问题、热点、质量门禁等)的描述一致且细致,正常初始化与工具列表握手在纸面上合理可信。但本次为静态评审,材料中不包含任何源代码、已提交的测试或 CI 工作流文件(README 中的构建徽章属不可信证据),因此无法验证服务器真实可启动、工具声明与行为一致,错误处理与边界情况完全未知。按静态校准规则,缺少可验证执行证据时可靠性不超过 12 分,且在不确定时向下取整,故给予 10 分。
安全与权限 15/20
未触发任何红线:所有安装示例均使用占位符(如 <YOUR_TOKEN>),未出现真实令牌;manifest 将 SONARQUBE_TOKEN 标记为 isSecret;README 专门设有安全最佳实践章节,明确警告不要硬编码令牌、应使用环境变量。最小权限设计清晰:SONARQUBE_READ_ONLY 只读模式、SONARQUBE_TOOLSETS 工具集裁剪、HTTP 模式下按请求 header 收窄权限且只能缩小不能扩大,HTTP 传输默认仅绑定 127.0.0.1;同时提供了 TLS/HTTPS、自定义 CA、代理与 mTLS 配置。扣分点:写操作工具(如 change_sonar_issue_status、change_security_hotspot_status)未文档化任何客户端确认流程;HTTPS 默认密钥库口令为弱默认值 'sonarlint';manifest 将 SONARQUBE_ORG 与 SONARQUBE_URL(组织标识与 URL,并非凭据)过度标记为 secret;可选的调试日志会写入文件与 STDERR,存在泄露敏感信息的可能。总体凭据处理与数据边界良好,但确认机制与部分默认值不完整,故为 15 分。
维护活跃度 10/20
仓库未归档,manifest 带有具体版本 1.24.0,README 提供 Docker 自动更新标签与可固定版本标签(如 1.19.0.2785)的更新路径,SonarSource 作为官方所有者身份明确,17 个未关闭 issue 表明问题追踪持续运转。但存在明显治理缺口:许可证为 NOASSERTION,所提供的证据中未识别出任何许可证;材料中亦未见专门的安全漏洞响应渠道(如 SECURITY.md、安全公告或联系方式)。README 中的构建徽章与质量门禁徽章属于不可信证据,不能据此加分。版本路径清晰但许可与安全响应缺失,对应『活跃但治理/版本化存在缺口』的 10 分锚点,故给予 10 分。
文档质量 17/20
文档分层且异常完整:覆盖 11 个以上客户端的安装说明(Antigravity、Claude Code、Codex、Cursor、Gemini、Copilot CLI/Agent、Kiro、VS Code、Windsurf、Zed)、手动 Docker/JAR 配置片段、完整的环境变量表(含必填/选填与类型)、逐工具参数与限制说明(如 pageSize 上限 500、重复文件最多 10,000 个)、专门讨论上下文窗口成本的工作区挂载章节、传输模式对比表、/health 与 /info 服务端点文档、自定义证书/代理/mTLS 指南,以及 SONARQUBE_TOKEN header 的弃用说明。扣分点:缺少专门的故障排查/FAQ 章节(仅有调试日志开关);材料中未见独立文档站点或 API 参考链接;README 末尾工具列表被截断。整体接近『分层文档、示例充分、限制透明』的满分锚点,但以上小缺口使其为 17 分。
安装易用性 14/20
从运行环境到可用连接的步骤短且具体:拉取官方 OCI 镜像(sonarsource/sonarqube-mcp)、设置两三个环境变量、粘贴现成配置块即可完成;几乎每个主流客户端都有可直接复制的配置示例(Docker run 参数与 env 区块),并提供官方配置生成器链接。通过 Docker 实现跨平台覆盖,并注明 Podman/nerdctl 等兼容运行时,还提供了容器内运行于 Linux 时连接 IDE 的 --network=host 提示。扣分点:按静态校准规则,材料中没有已提交的测试或 CI 工作流文件可验证执行,因此 setup 上限为 15 分;容器优先,非容器 JAR 方式虽有提及但材料中未完整展开;令牌的获取与填充仍是手动步骤。综合给 14 分。

静态评测 · 未实际运行收录于 2026-08-07

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络

适合谁

  • 使用 SonarQube 的团队
  • 希望在 AI 工作流中集成静态分析的开发者
  • 需要自动化代码审查和合规检查的组织

不适合谁

  • 没有 SonarQube 账户或令牌的用户
  • 不需要代码质量分析的个人项目
  • 希望在没有外部依赖的情况下使用 MCP 的用户

所需权限

  • 需要 SonarQube 用户令牌以访问 API
  • 可能需要组织密钥或服务器 URL
  • 在容器中运行时需要网络访问 SonarQube 实例
  • 可选工作区挂载以读取文件

风险与副作用

  • 令牌泄露风险:确保令牌安全存储,避免硬编码
  • 数据隐私:代码分析可能涉及敏感代码,需确保连接安全
  • 资源消耗:大量分析可能消耗计算资源
  • 容器安全:使用官方镜像以避免恶意代码

安装接入

准备工作

运行环境:Docker

SONARQUBE_TOKEN 必填密钥 SonarQube 用户令牌,在 SonarQube 账户的 Tokens 页面生成;连接 Server 时必须是 USER 类型令牌。
SONARQUBE_ORG 可选密钥 SonarQube Cloud 组织密钥,可在 sonarcloud.io/account/organizations 查询;设置后即连接 Cloud。
SONARQUBE_URL 可选密钥 SonarQube Server 的地址(或 Cloud US 用 https://sonarqube.us);未设置 SONARQUBE_ORG 时必填。
SONARQUBE_HTTPS_KEYSTORE_PASSWORD 可选密钥 HTTPS keystore 的密码,属敏感信息。
其他可选配置项(14 个)
STORAGE_PATH 可选 服务器存储日志等文件的可写目录绝对路径;容器镜像已自动提供。
SONARQUBE_PROJECT_KEY 可选 可选的默认项目键,设置后相关工具无需再传 projectKey。
SONARQUBE_IDE_PORT 可选 连接 SonarQube for IDE 的端口(64120-64130)。
SONARQUBE_DEBUG_ENABLED 可选 设为 true 启用调试日志,便于排查连接问题。
SONARQUBE_LOG_TO_FILE_DISABLED 可选 设为 true 关闭磁盘日志写入,适合容器化环境。
SONARQUBE_TOOLSETS 可选 逗号分隔的工具集列表,只启用指定工具集以减少上下文占用。
SONARQUBE_READ_ONLY 可选 设为 true 禁用所有写操作(如更改 issue 状态)。
SONARQUBE_TRANSPORT 可选 设为 http 或 https 启用 Streamable HTTP 传输,默认 stdio。
SONARQUBE_HTTP_PORT 可选 HTTP(S) 模式的监听端口,默认 8080。
SONARQUBE_HTTP_HOST 可选 HTTP(S) 模式绑定的主机,默认 127.0.0.1。
SONARQUBE_HTTP_ALLOWED_ORIGINS 可选 逗号分隔的允许 CORS 的浏览器来源。
SONARQUBE_MCP_IN_CONTAINER 可选 在 Podman/Kubernetes 等非官方镜像环境运行时设为 true。
SONARQUBE_HTTPS_KEYSTORE_PATH 可选 HTTPS 模式的 keystore 文件路径(.p12 或 .jks)。
SONARQUBE_HTTPS_KEYSTORE_TYPE 可选 Keystore 类型(PKCS12 或 JKS),默认 PKCS12。
  1. 确保已安装 Docker(或兼容 OCI 的运行时)。
  2. 创建 SonarQube 用户令牌。
  3. 使用配置生成器或手动编辑 MCP 配置文件。
  4. 对于 SonarQube Cloud,设置 SONARQUBE_TOKEN 和 SONARQUBE_ORG;对于 SonarQube Server,设置 SONARQUBE_TOKEN 和 SONARQUBE_URL。
  5. 重启 AI 客户端并验证连接。
claude_desktop_config.json
{
  "mcpServers": {
    "sonarqube": {
      "command": "docker",
      "args": [
        "run",
        "--init",
        "--pull=always",
        "-i",
        "--rm",
        "-e",
        "SONARQUBE_TOKEN",
        "-e",
        "SONARQUBE_ORG",
        "sonarsource/sonarqube-mcp"
      ],
      "env": {
        "SONARQUBE_TOKEN": "<your-token>",
        "SONARQUBE_ORG": "<your-org>"
      }
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "sonarqube": {
      "command": "docker",
      "args": [
        "run",
        "--init",
        "--pull=always",
        "-i",
        "--rm",
        "-e",
        "SONARQUBE_TOKEN",
        "-e",
        "SONARQUBE_ORG",
        "sonarsource/sonarqube-mcp"
      ],
      "env": {
        "SONARQUBE_TOKEN": "<your-token>",
        "SONARQUBE_ORG": "<your-org>"
      }
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add sonarqube -e 'SONARQUBE_TOKEN=<your-token>' -e 'SONARQUBE_ORG=<your-org>' -- docker run --init --pull=always -i --rm -e SONARQUBE_TOKEN -e SONARQUBE_ORG sonarsource/sonarqube-mcp

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

启动客户端后在工具列表中确认出现 sonarqube 的工具(如 search_my_sonarqube_projects),或直接让它列出我的 SonarQube 项目以验证连接。

常见排障

  1. 检查环境变量是否正确设置且令牌有效
  2. 确认网络连接可以访问 SonarQube 实例
  3. 查看日志(SONARQUBE_DEBUG_ENABLED=true)以获取调试信息
  4. 确保使用最新版本的镜像(--pull=always)
  5. 对于 Streamable HTTP 模式,检查 Authorization 头

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 分析 src/main/java/MyClass.java 的代码质量并指出主要问题
  • 列出我组织里覆盖率最低的十个文件
  • 帮我查看项目 my_project 的 Quality Gate 状态
  • 把这个 issue 标记为误报

工具能力 24

analyze_code_snippet 只读
分析文件内容以识别代码质量和安全问题,可过滤到特定代码片段。
analyze_file_list 只读
使用 SonarQube for IDE 分析文件列表。
toggle_automatic_analysis 写入
启用或禁用 SonarQube for IDE 的自动分析。
run_advanced_code_analysis 只读
在 SonarQube Cloud 上对单个文件运行高级代码分析。
search_files_by_coverage 只读
按覆盖率搜索项目中的文件,帮助识别需要改进测试覆盖率的文件。
get_file_coverage_details 只读
获取特定文件的逐行覆盖率信息。
search_dependency_risks 只读
搜索项目的软件组成分析问题(依赖风险)。
list_enterprises 只读
列出你有权访问的 SonarQube Cloud 企业。
展开其余 16 个工具
change_sonar_issue_status 写入
更改 SonarQube 问题的状态(接受、误报或重新打开)。
search_sonar_issues_in_projects 只读
搜索组织项目中的 SonarQube 问题。
search_security_hotspots 只读
搜索项目中的安全热点。
show_security_hotspot 只读
显示安全热点的详细信息。
change_security_hotspot_status 写入
通过更改状态来审查安全热点。
list_languages 只读
列出 SonarQube 实例支持的所有编程语言。
get_component_measures 只读
获取组件(项目、目录、文件)的 SonarQube 度量。
search_metrics 只读
搜索 SonarQube 指标。
list_portfolios 只读
列出可用的企业组合。
search_my_sonarqube_projects 只读
查找 SonarQube 项目,结果分页。
list_branches 只读
列出项目的已分析分支。
list_pull_requests 只读
列出项目的所有拉取请求。
get_project_quality_gate_status 只读
获取项目的质量门禁状态。
list_quality_gates 只读
列出所有质量门禁。
show_rule 只读
显示 SonarQube 规则的详细信息。
search_duplicated_files 只读
搜索项目中有代码重复的文件。

使用场景

在 IDE 中直接获取代码质量分析结果
搜索和过滤项目中的问题与安全热点
检查质量门禁状态和覆盖率报告
分析代码片段以获取即时反馈
在 CI/CD 工作流中集成代码质量检查

支持客户端

Claude Desktop
Claude Code
VS Code
Cursor
Zed
Windsurf
Gemini CLI
GitHub Copilot CLI
GitHub Copilot coding agent
Antigravity
Kiro
Codex

依据项目文档列出,未经本站实测。

详细介绍

SonarQube MCP Server 是一个官方 MCP 服务器,使 AI 代理能够直接访问 SonarQube Server 或 Cloud 中的代码质量与安全数据。它支持在代理上下文中直接分析代码片段,并提供搜索问题、安全热点、质量门禁、覆盖率、依赖风险等丰富的工具集。该服务器支持 Stdio 和 Streamable HTTP 传输模式,并提供多种配置选项,如选择性工具集启用、只读模式、工作区挂载以减少上下文占用。它适用于所有主流的 AI 编码助手,如 Claude、VS Code、Cursor 等。

同类可选方案

Context7 80 · B

Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档

★ 62.9k · 工具数 2 与当前对比 →

源版本 f579f7658136 数据同步于 2026-10-11 查看 FMRS 评分方法