本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
通过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) |
{ "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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429