
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
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.
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-mcpBefore it works, you'll need: SONARCLOUD_TOKENSONARCLOUD_ORGANISATIONSONARCLOUD_PROJECT_KEY
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 buildUsage
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-mcpLocal 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 startEnvironment Variables
SONARCLOUD_TOKEN: Your SonarCloud API token (required)jSONARCLOUD_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)
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.