| name | sonarqube-mcp |
| description | 连接 SonarQube MCP Server 并检索质量问题/度量。用户请求 Sonar 分析、MCP 测试或质量报告时调用。 |
SonarQube MCP 集成与使用
前提准备
- 需要一个可访问的 SonarQube 服务器(社区版/企业版均可),并创建项目与令牌
- 代码仓库必须先被 Sonar 扫描分析,MCP 才能检索到问题与度量
- Windows 安装 SonarScanner(或使用 Docker 版 Scanner)
启动 MCP Server
- 推荐使用 Docker 运行 SonarQube MCP Server
- PowerShell 示例(将 URL 与 Token 替换为你的实际值):
docker run --rm -p 3000:3000 `
-e SONAR_HOST_URL="http://localhost:9000" `
-e SONAR_TOKEN="YOUR_SONAR_TOKEN" `
ghcr.io/sonarsource/sonarqube-mcp-server:1.6.0
- 说明
- 端口 3000 为 MCP Server 监听端口
- 首次运行会测试与 SonarQube 的连通性与权限
扫描本仓库(一次性初始化)
- 在仓库根目录创建 sonar-project.properties(示例):
sonar.projectKey=trae-humaneval
sonar.projectName=Trae HumanEval
sonar.sources=.
sonar.sourceEncoding=UTF-8
sonar.language=py
- 使用 SonarScanner 运行扫描(PowerShell 示例):
sonar-scanner `
-Dsonar.projectKey=trae-humaneval `
-Dsonar.sources=. `
-Dsonar.host.url=http://localhost:9000 `
-Dsonar.login=YOUR_SONAR_TOKEN
- 扫描成功后,SonarQube 中将出现该项目的度量与问题,MCP Server 即可检索
在 TRAE 中何时调用本技能
- 当用户请求:
- “用 Sonar/ MCP 检查代码质量/安全问题/重复度”
- “输出详细质量报告或按严重级别排序的缺陷列表”
- “筛选某题目录的所有候选并给出统计”
技能执行指引(模型行为)
- 连接到已运行的 MCP Server(默认 http://localhost:3000)
- 典型操作序列:
- 设置目标项目(如 trae-humaneval)
- 拉取问题(支持按 severity=BLOCKER/CRITICAL/MAJOR/…、按规则、按文件过滤)
- 获取度量(重复率、认知复杂度、代码行数、注释密度等)
- 返回结构化报告:按安全热点/可靠性/可维护性分组,附带文件与行号
- 若项目尚未扫描:
- 自动提示执行 “扫描本仓库” 步骤;完成后再重试检索
输出规范(报告)
- 必须包含:
- 关键指标:缺陷数量、按严重性分布、重复率、复杂度等
- 问题清单:文件路径、规则键、严重性、简述、建议修复
- 统计汇总:每题目录(HumanEval_xx)的问题计数与热点文件
- 可选:
- 趋势对比(多次扫描时)
- 规则命中 Top-N 与文件命中 Top-N
常见问题
- 连接失败:检查 SONAR_HOST_URL 与 SONAR_TOKEN;确认防火墙与端口
- 无数据:确保已完成 SonarScanner 扫描并在 SonarQube 中可见该项目
- 权限不足:使用具备“浏览项目”权限的令牌;私有项目需相应访问权限
示例提示语
- “连接到本地 MCP Server 并对项目 trae-humaneval 拉取 CRITICAL 以上问题,按文件分组输出”
- “统计 HumanEval_0 目录所有候选的重复与复杂度度量,列出问题 Top-10 文件”