SonarCloud MCP服务器
一个MCP服务器,提供用于获取与拉取请求相关的SonarCloud问题的工具。
示例提示:
从sonarcloud获取此PR的未解决或已接受问题列表,这些问题分配给 \_\_我\_\_,修复它们并将更改推送到此PR。
强调 \_\_我\_\_ 部分,这是sonarcloud API中的一个特殊值,用于引用当前用户(令牌所有者)。你可以把这个放在你的 .claude/tools 文件夹为 sonarcloud-issues.md 有一个快捷方式,请求claude代码从SonarCloud获取并修复问题。
特性
- 从SonarCloud获取特定拉取请求的问题
- 按组织、项目和PR编号筛选
- 支持通过API令牌进行身份验证
- 返回带有严重性、类型和位置信息的格式化问题数据
安装
先决条件:生成SonarCloud API令牌
按照中的说明进行操作 SonarCloud文档 以生成SonarCloud API令牌。
选项1:Docker(推荐)
# Build the Docker image
npm run docker:build
# Or build directly
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令牌(必需)jSONARCLOUD_ORGANISATION:您的SonarCloud组织密钥(可选,可以作为参数传递)SONARCLOUD_PROJECT_KEY:您的SonarCloud项目密钥(可选,可以作为参数传递)
克劳德桌面/克劳德代码集成
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": "",
"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问题。
