通过Web API与SonarQube Cloud、Server和Community版本交互,分析代码以识别质量和安全问题。
什么是MCP服务器?
| 属性 | 详情 |
|---|---|
| Docker镜像 | mcp/sonarqube |
| 作者 | SonarSource |
| 仓库 | [***] |
| 项目 | 详情 |
|---|---|
| Dockerfile | [***] |
| Docker镜像构建者 | Docker Inc. |
| Docker Scout健康评分 | !Docker Scout Health Score |
| 验证签名 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/sonarqube --key [***] |
| 许可证 | Other |
| 服务器提供的工具 | 简短描述 |
|---|---|
analyze_code_snippet | 使用SonarQube分析器分析文件或代码片段,识别代码质量和安全问题。 |
change_sonar_issue_status | 更改Sonar问题的状态。 |
create_webhook | 为SonarQube组织或项目创建新的Webhook。 |
get_component_measures | 获取组件(项目、目录、文件)的SonarQube度量值。 |
get_project_quality_gate_status | 获取SonarQube项目的质量门禁状态。 |
get_raw_source | 从SonarQube获取源代码的原始文本。 |
get_scm_info | 获取SonarQube源文件的SCM信息。 |
get_system_health | 获取SonarQube服务器实例的健康状态。 |
get_system_info | 获取SonarQube服务器系统配置的详细信息,包括JVM状态、数据库、搜索索引和设置。 |
get_system_logs | 获取纯文本格式的SonarQube服务器系统日志。 |
get_system_status | 获取SonarQube服务器的状态信息。 |
list_languages | 列出此SonarQube实例支持的所有编程语言。 |
list_portfolios | 列出SonarQube Cloud中可用的企业级组合,支持筛选和分页选项。 |
list_quality_gates | 列出我的SonarQube中的所有质量门禁。 |
list_rule_repositories | 列出SonarQube中可用的规则仓库。 |
list_webhooks | 列出SonarQube组织或项目的所有Webhook。 |
ping_system | ping SonarQube服务器系统以检查其是否正常运行。 |
search_dependency_risks | 搜索SonarQube项目的软件成分分析问题(依赖风险),以及在分析的项目、应用程序或组合中出现的版本。 |
search_metrics | 搜索SonarQube度量值。 |
search_my_sonarqube_projects | 查找SonarQube项目。 |
search_sonar_issues_in_projects | 在我的组织项目中搜索SonarQube问题。 |
show_rule | 显示SonarQube规则的详细信息。 |
analyze_code_snippet使用SonarQube分析器分析文件或代码片段,识别代码质量和安全问题。指定片段的语言可提高分析准确性。
| 参数 | 类型 | 描述 |
|---|---|---|
codeSnippet | string | 文件或代码片段内容 |
projectKey | string | SonarQube项目密钥 |
language | string optional | 代码片段的语言 |
change_sonar_issue_status更改Sonar问题的状态。此工具可用于将问题状态更改为"accept"、"falsepositive"或"reopen"(重新打开)。
例如请求:我想将密钥为"AX-HMISMFixnZED"的问题状态改为"accept"。
| 参数 | 类型 | 描述 |
|---|---|---|
key | string | 要更改状态的问题密钥 |
status | array | 问题的新状态 |
create_webhook为SonarQube组织或项目创建新的Webhook。需要对指定项目具有"管理"权限,或全局"管理"权限。
| 参数 | 类型 | 描述 |
|---|---|---|
name | string | Webhook在管理控制台中显示的名称(最多100个字符) |
url | string | 将接收Webhook负载的服务器端点(最多512个字符) |
projectKey | string optional | 将拥有Webhook的项目密钥(最多400个字符) |
secret | string optional | 若提供,将用作生成'X-Sonar-Webhook-HMAC-SHA256'头中HMAC十六进制摘要值的密钥(16-200个字符) |
get_component_measures获取组件(项目、目录、文件)的SonarQube度量值。
| 参数 | 类型 | 描述 |
|---|---|---|
branch | string optional | 要分析度量值的分支 |
component | string optional | 要获取度量值的组件密钥 |
metricKeys | array optional | 要检索的度量值密钥(例如nloc、complexity、violations、coverage) |
pullRequest | string optional | 要分析度量值的拉取请求标识符 |
get_project_quality_gate_status获取SonarQube项目的质量门禁状态。必须提供'analysisId'、'projectId'或'projectKey'中的一个。
| 参数 | 类型 | 描述 |
|---|---|---|
analysisId | string optional | 要获取状态的可选分析ID,例如'AU-TpxcA-iU5OvuD2FL1' |
branch | string optional | 要获取状态的可选分支密钥,例如'feature/my_branch' |
projectId | string optional | 要获取状态的可选项目ID,例如'AU-Tpxb--iU5OvuD2FLy'。不适用于分支或拉取请求。 |
projectKey | string optional | 要获取状态的可选项目密钥,例如'my_project' |
pullRequest | string optional | 要获取状态的可选拉取请求ID,例如'5461' |
get_raw_source从SonarQube获取源代码的原始文本。需要对文件具有"查看源代码"权限。
| 参数 | 类型 | 描述 |
|---|---|---|
key | string | 文件密钥(例如my_project:src/foo/Bar.php) |
branch | string optional | 分支密钥(例如feature/my_branch) |
pullRequest | string optional | 拉取请求ID |
get_scm_info获取SonarQube源文件的SCM信息。需要对文件所在项目具有"查看源代码"权限。
| 参数 | 类型 | 描述 |
|---|---|---|
key | string | 文件密钥(例如my_project:src/foo/Bar.php) |
commits_by_line | boolean optional | 若值为false,则按SCM提交分组行;否则显示每行的提交(true/false) |
from | number optional | 要返回的第一行。从1开始 |
to | number optional | 要返回的最后一行(含) |
get_system_health获取SonarQube服务器实例的健康状态。返回GREEN(完全可用)、YELLOW(可用但需注意)或RED(不可用)。
get_system_info获取SonarQube服务器系统配置的详细信息,包括JVM状态、数据库、搜索索引和设置。需要"管理"权限。
get_system_logs获取纯文本格式的SonarQube服务器系统日志。需要系统管理权限。
| 参数 | 类型 | 描述 |
|---|---|---|
name | string optional | 要获取的日志名称。可能值:access、app、ce、deprecation、es、web。默认:app |
get_system_status获取SonarQube服务器的状态信息。返回状态(STARTING、UP、DOWN、RESTARTING、DB_MIGRATION_NEEDED、DB_MIGRATION_RUNNING)、版本和ID。
list_languages列出此SonarQube实例支持的所有编程语言
| 参数 | 类型 | 描述 |
|---|---|---|
q | string optional | 用于匹配语言密钥/名称的可选模式 |
list_portfolios列出SonarQube Cloud中可用的企业级组合,支持筛选和分页选项。
| 参数 | 类型 | 描述 |
|---|---|---|
draft | boolean optional | 若为true,仅返回登录用户创建的草稿。当'favorite'为true时不能为true |
enterpriseId | string optional | 企业UUID。仅当提供'favorite'参数且值为true时可省略 |
favorite | boolean optional | 若省略'enterpriseId'参数,则必须为true。若为true,仅返回登录用户收藏的组合。当'draft'为true时不能为true |
pageIndex | number optional | 要获取的页码(默认:1) |
pageSize | number optional | 每页大小(默认:50) |
q | string optional | 用于按名称筛选组合的搜索查询 |
list_quality_gates列出我的SonarQube中的所有质量门禁。
list_rule_repositories列出SonarQube中可用的规则仓库。
| 参数 | 类型 | 描述 |
|---|---|---|
language | string optional | 用于筛选仓库的可选语言密钥(例如'java') |
q | string optional | 用于按名称或密钥筛选仓库的可选搜索查询 |
list_webhooks列出SonarQube组织或项目的所有Webhook。需要对指定项目具有"管理"权限,或全局"管理"权限。
| 参数 | 类型 | 描述 |
|---|---|---|
projectKey | string optional | 用于列出项目特定Webhook的可选项目密钥 |
ping_systemping SonarQube服务器系统以检查其是否正常运行。返回纯文本'pong'。
search_dependency_risks搜索SonarQube项目的软件成分分析问题(依赖风险),以及在分析的项目、应用程序或组合中出现的版本。
| 参数 | 类型 | 描述 |
|---|---|---|
projectKey | string | 项目密钥 |
branchKey | string optional | 分支密钥 |
pullRequestKey | string optional | 拉取请求密钥 |
search_metrics搜索SonarQube度量值
| 参数 | 类型 | 描述 |
|---|---|---|
p | number optional | 基于1的页码(默认:1) |
ps | number optional | 每页大小。必须大于0且小于等于500(默认:100) |
search_my_sonarqube_projects查找SonarQube项目。响应是分页的。
| 参数 | 类型 | 描述 |
|---|---|---|
page | string optional | 可选页码。默认为1。 |
search_sonar_issues_in_projects在我的组织项目中搜索SonarQube问题。
| 参数 | 类型 | 描述 |
|---|---|---|
p | number optional | 可选页码。默认为1。 |
projects | array optional | 可选的Sonar项目列表 |
ps | number optional | 可选每页大小。必须大于0且小于等于500。默认为100。 |
pullRequestId | string optional | 要查找的拉取请求标识符 |
severities | string optional | 可选的严重性筛选列表,用逗号分隔。可能值:INFO、LOW、MEDIUM、HIGH、BLOCKER |
show_rule显示SonarQube规则的详细信息。
| 参数 | 类型 | 描述 |
|---|---|---|
key | string | 规则密钥(例如javascript:EmptyBlock) |
json{ "mcpServers": { "sonarqube": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "SONARQUBE_URL", "-e", "SONARQUBE_ORG", "-e", "SONARQUBE_TOKEN", "mcp/sonarqube" ], "env": { "SONARQUBE_URL": "[***]", // SonarQube实例URL "SONARQUBE_ORG": "my-org", // SonarQube组织 "SONARQUBE_TOKEN": "YOUR_SONARQUBE_TOKEN" // SonarQube访问令牌 } } } }
为什么使用Docker运行MCP服务器更安全?

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429