
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
通过Web API与SonarQube Cloud、Server和Community版本交互,分析代码以识别质量和安全问题。
什么是MCP服务器?
| 属性 | 详情 |
|---|---|
| Docker镜像 | https://hub.docker.com/repository/docker/mcp/sonarqube |
| 作者 | https://github.com/SonarSource |
| 仓库 | https://github.com/SonarSource/sonarqube-mcp-server |
| 项目 | 详情 |
|---|---|
| Dockerfile | https://github.com/SonarSource/sonarqube-mcp-server/blob/master/Dockerfile |
| Docker镜像构建者 | Docker Inc. |
| Docker Scout健康评分 | !Docker Scout Health Score |
| 验证签名 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/sonarqube --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| 许可证 | 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规则的详细信息。 |
Tool: analyze_code_snippet
使用SonarQube分析器分析文件或代码片段,识别代码质量和安全问题。指定片段的语言可提高分析准确性。
| 参数 | 类型 | 描述 |
|---|---|---|
codeSnippet | string | 文件或代码片段内容 |
projectKey | string | SonarQube项目密钥 |
language | string optional | 代码片段的语言 |
Tool: change_sonar_issue_status
更改Sonar问题的状态。此工具可用于将问题状态更改为"accept"、"falsepositive"或"reopen"(重新打开)。
例如请求:我想将密钥为"AX-HMISMFixnZED"的问题状态改为"accept"。
| 参数 | 类型 | 描述 |
|---|---|---|
key | string | 要更改状态的问题密钥 |
status | array | 问题的新状态 |
Tool: 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个字符) |
Tool: get_component_measures
获取组件(项目、目录、文件)的SonarQube度量值。
| 参数 | 类型 | 描述 |
|---|---|---|
branch | string optional | 要分析度量值的分支 |
component | string optional | 要获取度量值的组件密钥 |
metricKeys | array optional | 要检索的度量值密钥(例如nloc、complexity、violations、coverage) |
pullRequest | string optional | 要分析度量值的拉取请求标识符 |
Tool: 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' |
Tool: get_raw_source
从SonarQube获取源代码的原始文本。需要对文件具有"查看源代码"权限。
| 参数 | 类型 | 描述 |
|---|---|---|
key | string | 文件密钥(例如my_project:src/foo/Bar.php) |
branch | string optional | 分支密钥(例如feature/my_branch) |
pullRequest | string optional | 拉取请求ID |
Tool: 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 | 要返回的最后一行(含) |
Tool: get_system_health
获取SonarQube服务器实例的健康状态。返回GREEN(完全可用)、YELLOW(可用但需注意)或RED(不可用)。
Tool: get_system_info
获取SonarQube服务器系统配置的详细信息,包括JVM状态、数据库、搜索索引和设置。需要"管理"权限。
Tool: get_system_logs
获取纯文本格式的SonarQube服务器系统日志。需要系统管理权限。
| 参数 | 类型 | 描述 |
|---|---|---|
name | string optional | 要获取的日志名称。可能值:access、app、ce、deprecation、es、web。默认:app |
Tool: get_system_status
获取SonarQube服务器的状态信息。返回状态(STARTING、UP、DOWN、RESTARTING、DB_MIGRATION_NEEDED、DB_MIGRATION_RUNNING)、版本和ID。
Tool: list_languages
列出此SonarQube实例支持的所有编程语言
| 参数 | 类型 | 描述 |
|---|---|---|
q | string optional | 用于匹配语言密钥/名称的可选模式 |
Tool: 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 | 用于按名称筛选组合的搜索查询 |
Tool: list_quality_gates
列出我的SonarQube中的所有质量门禁。
Tool: list_rule_repositories
列出SonarQube中可用的规则仓库。
| 参数 | 类型 | 描述 |
|---|---|---|
language | string optional | 用于筛选仓库的可选语言密钥(例如'java') |
q | string optional | 用于按名称或密钥筛选仓库的可选搜索查询 |
Tool: list_webhooks
列出SonarQube组织或项目的所有Webhook。需要对指定项目具有"管理"权限,或全局"管理"权限。
| 参数 | 类型 | 描述 |
|---|---|---|
projectKey | string optional | 用于列出项目特定Webhook的可选项目密钥 |
Tool: ping_system
ping SonarQube服务器系统以检查其是否正常运行。返回纯文本'pong'。
Tool: search_dependency_risks
搜索SonarQube项目的软件成分分析问题(依赖风险),以及在分析的项目、应用程序或组合中出现的版本。
| 参数 | 类型 | 描述 |
|---|---|---|
projectKey | string | 项目密钥 |
branchKey | string optional | 分支密钥 |
pullRequestKey | string optional | 拉取请求密钥 |
Tool: search_metrics
搜索SonarQube度量值
| 参数 | 类型 | 描述 |
|---|---|---|
p | number optional | 基于1的页码(默认:1) |
ps | number optional | 每页大小。必须大于0且小于等于500(默认:100) |
Tool: search_my_sonarqube_projects
查找SonarQube项目。响应是分页的。
| 参数 | 类型 | 描述 |
|---|---|---|
page | string optional | 可选页码。默认为1。 |
Tool: 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 |
Tool: 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": "https://my-sonarqube.com", // SonarQube实例URL "SONARQUBE_ORG": "my-org", // SonarQube组织 "SONARQUBE_TOKEN": "YOUR_SONARQUBE_TOKEN" // SonarQube访问令牌 } } } }
为什么使用Docker运行MCP服务器更安全?
以下是 mcp/sonarqube 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




来自真实用户的反馈,见证轩辕镜像的优质服务