这是一个提供工具用于获取与拉取请求相关的 SonarCloud 问题的 MCP 服务器。
示例提示:
获取此 PR 中分配给 __me__ 的 OPEN 或 ACCEPTED 类型的问题列表,修复这些问题并将更改推送到此 PR。
强调 __me__ 部分,这是 SonarCloud API 中的一个特殊值,用来引用当前用户(令牌拥有者)。你可以将这个文件放在你的
.claude/tools文件夹中作为sonarcloud-issues.md,以创建一个快捷方式,请求 Claude 代码来获取并修复 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": "<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 问题。