← 返回目录
S

SonarQube MCP Server

官方
将 SonarQube 代码质量与安全分析能力无缝集成到 AI 助手中。
GitHub 源仓库 ↗
★ 632 Stars 分类 · 开发工具 非常热门 源版本 cebc2f6c6845
66FMRS · C
可靠性
10/20
安全与权限
15/20
维护活跃度
10/20
文档质量
17/20
安装易用性
14/20

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

查看 FMRS 评分方法 →

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

工具能力

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 企业。
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
搜索项目中有代码重复的文件。

安装接入

  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>"
      }
    }
  }
}

选型与风险

适合谁

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

不适合谁

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

所需权限

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

风险与副作用

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

常见排障

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

使用场景

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

支持客户端

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