Token导航 LogoToken导航TokenDH.com
MCP Sonarcloud logo
运维云端stdio官方级别未说明来源级核验

MCP Sonarcloud

MCP Server

一个用于与SonarCloud项目、问题、质量门和安全热点交互的MCP服务器实现。

工具数

15

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lukleh

提供方

lukleh

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx mcp-sonarcloud --write-sample-config

详细介绍

MCP SonarCloud服务器

![License: MIT](https://opensource.org/licenses/MIT) ![Python 3.11+](https://www.python.org/downloads/) ![MCP](https://modelcontextprotocol.io)

SonarCloud的模型上下文协议(MCP)服务器实现,提供与SonarCloud项目、问题、质量门和安全热点交互的工具。

默认布局: - 配置: ~/.config/lukleh/mcp-sonarcloud/config.toml - 凭据:通过MCP客户端或shell环境注入 - 国家: ~/.local/state/lukleh/mcp-sonarcloud/ - 隐藏物: ~/.cache/lukleh/mcp-sonarcloud/

特性

此MCP服务器提供了15个全面的工具,其中包含详细的参数文档和示例:

项目管理(3个工具)

  • search_my_sonarqube_项目:按页码列出您组织中的所有SonarCloud项目
  • show_组件:获取特定项目或组件的详细元数据
  • 组件树:遍历项目的文件/目录结构

问题(4个工具)

  • search_sonar_issues_in_项目:按拉取请求、严重性(信息、低、中、高、阻塞)等搜索过滤问题
  • list_issue_authors:发现对问题有贡献的SCM作者
  • get_issue_changelog:检索问题的更改历史记录
  • list_issue_tags:列出问题上使用的可用标签

质量门(5个工具)

  • 获取_项目_质量_日期_状态:获取项目、分支或pull请求的质量门状态(OK、ERROR、WARN、NONE)
  • 列表_质量_日期:列出贵组织的所有质量门
  • 显示_质量_日期:获取特定质量门的详细条件
  • 搜索_质量_网站:查找与质量门相关的项目
  • 获取_质量_日期_项目:为项目分配质量门

安全热点(3个工具)

  • 搜索热点:使用文件、分支或PR筛选器在项目中搜索安全热点
  • show_热点:获取特定热点的详细信息
  • 更改热点状态:更改热点的状态(TO_REVIEW或REVIEW,分辨率:已固定、安全、已确认)

所有工具都包括全面的参数描述、有效的值文档和最佳AI代理集成的使用示例。

先决条件

  • Python 3.11或更高版本
  • 紫外线 包管理器
  • 带有API令牌的SonarCloud帐户
  • Claude Code或Codex AI客户端

快速开始

1.获取SonarCloud代币

  1. 登录到 SonarCloud
  2. 点击您的头像→ 我的账户安全
  3. 在“生成令牌”下,输入名称(例如“MCP服务器”)
  4. 点击 生成
  5. 复制并保存令牌 -你再也看不到了!

2.查找您的组织密钥

  1. 在SonarCloud上转到您的组织
  2. 请查看URL: https://sonarcloud.io/organizations/YOUR-ORG-KEY
  3. YOUR-ORG-KEY 部分是您组织的关键

3.安装服务器

# Run the published package without cloning the repository
uvx mcp-sonarcloud --write-sample-config

# Or install it once and reuse the command directly
uv tool install mcp-sonarcloud
mcp-sonarcloud --write-sample-config

4.创建配置文件

上面的命令将starter配置写入 ~/.config/lukleh/mcp-sonarcloud/config.toml. 您可以随时确认已解析的运行时位置:

uvx mcp-sonarcloud --print-paths

编辑 ~/.config/lukleh/mcp-sonarcloud/config.toml:

base_url = "https://sonarcloud.io"
organization = "your-org-key"
timeout_sec = 30

5.设置令牌环境变量

SONARCLOUD_TOKEN 在用于启动服务器的环境中。用于本地 shell测试,您可以直接导出它:

export SONARCLOUD_TOKEN=your-token-here

6.配置您的AI客户端

克劳德代码:

claude mcp add sonarcloud \
  --scope {local, user, or project} \
  -e SONARCLOUD_TOKEN=your-token-here \
  -- uvx mcp-sonarcloud

食品法典:

codex mcp add sonarcloud \
  --env SONARCLOUD_TOKEN=your-token-here \
  -- uvx mcp-sonarcloud

重要:替换 your-token-here 使用您真正的SonarCloud代币。

7.重新启动和测试

  1. 重新启动AI客户端
  2. 试着问:“你能列出我的SonarCloud项目吗?”

配置

文件

  • config.toml

- base_url (可选):SonarCloud或SonarQube基本URL - organization (可选):SonarCloud组织键 - timeout_sec (可选):HTTP超时(秒)

环境超越

环境变量是秘密的来源,也覆盖文件值 当存在时:

  • SONARCLOUD_TOKEN
  • SONARCLOUD_ORGANIZATION
  • SONARCLOUD_URL
  • SONARCLOUD_TIMEOUT_SEC

命令行测试

您可以直接测试服务器:

# Show the resolved runtime paths
uvx mcp-sonarcloud --print-paths

# Write or refresh the default config file
uvx mcp-sonarcloud --write-sample-config
uvx mcp-sonarcloud --write-sample-config --overwrite

# Export the token for local testing
export SONARCLOUD_TOKEN=your-token-here

# Run the server with the default home-directory config
uvx mcp-sonarcloud

# Or point at a different config root
uvx mcp-sonarcloud --config-dir /path/to/config-dir

本地开发

如果您想处理存储库本身:

git clone https://github.com/lukleh/mcp-sonarcloud.git
cd mcp-sonarcloud
uv sync --extra dev
uv run pytest -q
uv run mcp-sonarcloud --print-paths

用法示例

自然语言查询

配置后,您可以询问您的AI客户端:

  1. 列出项目:“显示我的所有SonarCloud项目”
  2. 检查质量门:“PR 123上项目X的质量门状态如何?”
  3. 搜索热点:“查找项目X中的所有安全热点”
  4. 获取热点详细信息:“显示热点AY1234567890的详细信息”
  5. 更新热点:“将热点AY1234567890标记为已审核且安全”
  6. 搜索问题:“查找项目X的pull请求123中的所有拦截器问题”

工具示例(Python)

列出项目

# Get first page of projects
search_my_sonarqube_projects(page="1")

Pull请求中的搜索问题

# Search for issues in a specific pull request
search_sonar_issues_in_projects(
    projects=["my-project"],
    pullRequestId="123",
    ps=100
)

检查质量门状态

# Get quality gate status for a pull request
get_project_quality_gate_status(
    projectKey="my-project",
    pullRequest="123"
)

搜索安全热点

# Search hotspots in a project
search_hotspots(
    projectKey="my-project",
    pullRequest="123"
)

# Search hotspots in a specific file
search_hotspots(
    projectKey="my-project",
    files="src/main/java/com/example/MyClass.java",
    branch="main"
)

获取热点详细信息

# Get detailed information about a hotspot
show_hotspot(hotspot="AX1234567890")

更改热点状态

# Mark a hotspot as reviewed and safe
change_hotspot_status(
    hotspot="AX1234567890",
    status="REVIEWED",
    resolution="SAFE"
)

# Mark a hotspot for review
change_hotspot_status(
    hotspot="AX1234567890",
    status="TO_REVIEW"
)

有效状态值:

  • TO_REVIEW:标记以供审查
  • REVIEWED:标记为已审核(需要解决)

有效分辨率值(当状态=已审阅时):

  • FIXED:漏洞已修复
  • SAFE:代码是安全的,不是漏洞
  • ACKNOWLEDGED:风险已得到承认,但已被接受

故障排除

常见问题

“配置文件已存在”

  • --write-sample-config 除非您添加,否则不会替换现有文件 --overwrite
  • 使用 uvx mcp-sonarcloud --print-paths 确认哪个配置路径处于活动状态

“SONARCLOUD_TOKEN环境变量是必需的”

  • 仔细检查您的令牌是否在环境变量中设置正确
  • 验证令牌周围没有多余的空格或引号

“401未经授权”

  • 您的令牌可能无效或已过期
  • 从SonarCloud生成新令牌并更新配置

MCP服务器不可用

  • 验证服务器是否已添加: claude mcp listcodex mcp list
  • uvx mcp-sonarcloud --print-paths 在shell中确认程序包启动干净
  • 尝试删除并重新添加服务器
  • 检查您的AI客户端日志是否有错误

使用的API端点

此服务器使用以下SonarCloud API终结点:

组件/项目

  • GET /api/components/search -列出项目
  • GET /api/components/show -显示组件元数据
  • GET /api/components/tree -遍历组件层次结构

问题

  • GET /api/issues/search -搜索问题
  • GET /api/issues/authors -列出问题作者
  • GET /api/issues/changelog -获取问题更改历史记录
  • GET /api/issues/tags -列出问题标签

质量门

  • GET /api/qualitygates/project_status -获取质量门状态
  • GET /api/qualitygates/list -列出质量门
  • GET /api/qualitygates/show -显示质量门详细信息
  • GET /api/qualitygates/search -按质量门搜索项目
  • GET /api/qualitygates/get_by_project -获得项目质量门

安全热点

  • GET /api/hotspots/search -搜索安全热点
  • GET /api/hotspots/show -显示热点详细信息
  • POST /api/hotspots/change_status -更改热点状态

有关API的完整文档,请参阅 SONARCLOUD_API_SUPPORT.md.

贡献

欢迎投稿!请随时提交问题或拉取请求。

释放

维护人员发布说明上线 发布.md.

许可证

MIT许可证-有关详细信息,请参阅许可证文件

目录标签

目录标签

PythonClaude云端部署代码质量管理本地部署安全热点检测项目分析工具CI/CD集成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP