返回市场
<中文翻译>
声呐云-MCP

<中文翻译> 声呐云-MCP

作者:dozzman4 星标更新:2025-07-03

项目介绍

SonarCloud MCP 服务器

这是一个提供工具用于获取与拉取请求相关的 SonarCloud 问题的 MCP 服务器。

示例提示:

获取此 PR 中分配给 __me__ 的 OPEN 或 ACCEPTED 类型的问题列表,修复这些问题并将更改推送到此 PR。

强调 __me__ 部分,这是 SonarCloud API 中的一个特殊值,用来引用当前用户(令牌拥有者)。你可以将这个文件放在你的 .claude/tools 文件夹中作为 sonarcloud-issues.md,以创建一个快捷方式,请求 Claude 代码来获取并修复 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.jsonclaude.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.jsonclaude.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 问题。