SonarCloud问题获取服务

一个用于从SonarCloud获取与拉取请求相关问题的MCP服务器,支持按组织、项目和PR编号筛选问题,并提供格式化的问题数据。

  • by dozzman
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 dozzman/sonarcloud-mcp

使用说明

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令牌(必需)j
  • SONARCLOUD_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": "<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问题。