sonarcloud-mcp

dozzman/sonarcloud-mcp

3.3

If you are the rightful owner of sonarcloud-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

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

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.