sonarcloud-mcp

SonarCloud MCP Serverは、プルリクエストに関連するSonarCloudの問題を取得するためのツールを提供します。特定のユーザーに割り当てられたオープンまたは受け入れられた問題をフィルタリングし、修正後に変更をプッシュすることができます。APIトークンによる認証をサポートし、問題データを整形して返します。

GitHubスター

4

ユーザー評価

未評価

お気に入り

0

閲覧数

19

フォーク

1

イシュー

1

README
SonarCloud MCP Server

An MCP server that provides tools for fetching SonarCloud issues related to pull requests.

Example prompt:

Fetch the list of OPEN or ACCEPTED issues from sonarcloud for this PR, which are assigned to __me__, fix them and push the changes to this PR.

Emphasis on the __me__ part, which is a special value in the sonarcloud API to reference the current user (token owner). You can stick this in your .claude/tools folder as sonarcloud-issues.md to have a shortcut which requests claude code to fetch and fix issues from SonarCloud.

Features
  • Fetch issues from SonarCloud for specific pull requests
  • Filter by organization, project, and PR number
  • Supports authentication via API token
  • Returns formatted issue data with severity, type, and location information
Installation
Prerequisite: Generate a SonarCloud API token

Follow the instructions in the SonarCloud documentation to generate a SonarCloud API token.

Option 1: Docker (Recommended)
# Build the Docker image
npm run docker:build

# Or build directly
docker build -t sonarcloud-mcp .
Option 2: Local Installation
npm ci
npm run build
Usage
Docker Usage

Run via 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
Local Usage

Export the required environment variables and run the server:

export SONARCLOUD_TOKEN=your_token_here
export SONARCLOUD_ORGANISATION=your_organisation_here
export SONARCLOUD_PROJECT_KEY=your_project_key_here
npm start
Environment Variables
  • SONARCLOUD_TOKEN: Your SonarCloud API token (required)j
  • SONARCLOUD_ORGANISATION: Your SonarCloud organization key (optional, can be passed as a parameter)
  • SONARCLOUD_PROJECT_KEY: Your SonarCloud project key (optional, can be passed as a parameter)
Claude Desktop / Claude Code Integration
Docker Configuration (Recommended)

Add to your claude_desktop_config.json or 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>"
      }
    }
  }
}
Local Configuration

Add to your claude_desktop_config.json or 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>"
      }
    }
  }
}
Available Tools
  • fetch_sonarcloud_issues: Fetches SonarCloud issues for a specific pull request.