SonarCloud MCP Server 是一个 MCP 服务器,它提供了用于获取与拉取请求(PR)相关的 SonarCloud 问题的工具。通过该工具,你可以方便地获取特定 PR 的问题信息,助力代码质量的提升。
使用 SonarCloud MCP Server 前,你需要先了解其基本功能和使用方式。它能帮助你从 SonarCloud 中获取特定拉取请求的问题,并进行筛选和处理。
请按照 SonarCloud 文档 中的说明生成 SonarCloud API 令牌。
# 构建 Docker 镜像
npm run docker:build
# 或者直接构建
docker build -t sonarcloud-mcp .
npm ci
npm run build
通过 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_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": "" ,
"SONARCLOUD_ORGANISATION": "" ,
"SONARCLOUD_PROJECT_KEY": ""
}
}
}
}
在你的 claude_desktop_config.json 或 claude.json 中添加以下内容:
{
"mcpServers": {
"sonarcloud-mcp": {
"command": "node",
"args": [
"/path/to/sonarcloud_mcp/dist/index.js"
],
"env": {
"SONARCLOUD_TOKEN": "" ,
"SONARCLOUD_ORGANISATION": "" ,
"SONARCLOUD_PROJECT_KEY": ""
}
}
}
}
fetch_sonarcloud_issues:为特定的拉取请求获取 SonarCloud 问题。