mcp/sonarqube通过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服务器更安全?




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务