sonarcloud-mcp
The SonarCloud MCP Server provides tools for fetching SonarCloud issues related to pull requests. It allows filtering for open or accepted issues assigned to a specific user, enabling them to fix and push changes easily. It supports authentication via API token and returns formatted issue data.
GitHub Stars
4
User Rating
Not Rated
Favorites
0
Views
27
Forks
1
Issues
1
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)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)
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.