The interesting detail is the special assignee value SonarCloud resolves to the token owner, so a saved prompt can say "fetch my open issues on this PR, fix them, push" and work for whoever runs it. The README suggests parking exactly that prompt as a shortcut. The scope is narrow on purpose — this is not a SonarCloud browser, it is the piece that closes the loop between a scan result and a commit.
A focused MCP server for one workflow: fetching SonarCloud issues for a pull request so an AI client can act on them. It returns formatted issue data with severity, type and location rather than raw API payloads.
- SonarCloud issues scoped to one pull request, filterable by organization, project and PR number, with severity, type and location on each — `fetch_sonarcloud_issues`
- Status filtering, so a request can be narrowed to OPEN or ACCEPTED issues
- Assignee filtering that understands SonarCloud's special value for the token owner, which is what makes "fix the ones assigned to me" work
A SonarCloud API token as `SONARCLOUD_TOKEN` — required. `SONARCLOUD_ORGANISATION` and `SONARCLOUD_PROJECT_KEY` are optional and can be passed per call instead. Two install paths: build the Docker image with `npm run docker:build` and run it with `docker run -i --rm`, or run `npm ci` then `npm run build` and point the client at `dist/index.js`. The package is `sonarcloud-mcp` (1.0.0 in package.json).
One command plus a key — docker build -t sonarcloud-mcp ., then supply credentials
