dozzman/sonarcloud-mcp
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)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.