article
README
🚀 SonarCloud MCP Server
SonarCloud MCP Server 是一个 MCP 服务器,它提供了用于获取与拉取请求(PR)相关的 SonarCloud 问题的工具。通过该工具,你可以方便地获取特定 PR 的问题信息,助力代码质量的提升。
🚀 快速开始
使用 SonarCloud MCP Server 前,你需要先了解其基本功能和使用方式。它能帮助你从 SonarCloud 中获取特定拉取请求的问题,并进行筛选和处理。
✨ 主要特性
- 为特定的拉取请求从 SonarCloud 获取问题。
- 可按组织、项目和 PR 编号进行筛选。
- 支持通过 API 令牌进行身份验证。
- 返回包含严重性、类型和位置信息的格式化问题数据。
📦 安装指南
前提条件:生成 SonarCloud API 令牌
请按照 SonarCloud 文档 中的说明生成 SonarCloud API 令牌。
选项 1:Docker(推荐)
# 构建 Docker 镜像
npm run docker:build
# 或者直接构建
docker build -t sonarcloud-mcp .
选项 2:本地安装
npm ci
npm run build
💻 使用示例
Docker 使用方法
通过 Docker 运行:
docker run -i --rm \
-e SONARCLOUD_TOKEN=your_token_here \
-e SONARCLOUD_ORGANISATION=your_organisation_here \
-e SONARCLOUD_PROJECT_KEY=your_project_key_here \
sonarcloud-mcp
本地使用方法
导出所需的环境变量并运行服务器:
export SONARCLOUD_TOKEN=your_token_here
export SONARCLOUD_ORGANISATION=your_organisation_here
export SONARCLOUD_PROJECT_KEY=your_project_key_here
npm start
环境变量说明
SONARCLOUD_TOKEN:你的 SonarCloud API 令牌(必需)。SONARCLOUD_ORGANISATION:你的 SonarCloud 组织密钥(可选,可以作为参数传递)。SONARCLOUD_PROJECT_KEY:你的 SonarCloud 项目密钥(可选,可以作为参数传递)。
📚 详细文档
Claude Desktop / Claude Code 集成
Docker 配置(推荐)
在你的 claude_desktop_config.json 或 claude.json 中添加以下内容:
{
"mcpServers": {
"sonarcloud": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SONARCLOUD_TOKEN",
"-e",
"SONARCLOUD_ORGANISATION",
"-e",
"SONARCLOUD_PROJECT_KEY",
"sonarcloud-mcp"
],
"env": {
"SONARCLOUD_TOKEN": "<your token here>",
"SONARCLOUD_ORGANISATION": "<your organisation here>",
"SONARCLOUD_PROJECT_KEY": "<your project key here>"
}
}
}
}
本地配置
在你的 claude_desktop_config.json 或 claude.json 中添加以下内容:
{
"mcpServers": {
"sonarcloud-mcp": {
"command": "node",
"args": [
"/path/to/sonarcloud_mcp/dist/index.js"
],
"env": {
"SONARCLOUD_TOKEN": "<your token here>",
"SONARCLOUD_ORGANISATION": "<your organisation here>",
"SONARCLOUD_PROJECT_KEY": "<your project key here>"
}
}
}
}
可用工具
fetch_sonarcloud_issues:为特定的拉取请求获取 SonarCloud 问题。
微信扫一扫