MCP server · Org-owned · Audited from source
sonarqube-mcp-server
by sonarsource/sonarqube-mcp-serverNOASSERTION licenceAudited 22 Oct 2026 · source d68ddf41d681
Is it safe? With care — CAUTION, grade B (86/100). The tool list is built at runtime, so we cannot read it from the source. The audit recorded 13 findings (0 critical, 0 high, 2 medium, 11 low). Maintainer's description: Official SonarQube MCP Server for code quality and security in AI agents
Cite
Cite this page
ModelsAtlas. “sonarqube-mcp-server (SonarSource/sonarqube-mcp-server)”. Retrieved 22 Oct 2026. https://modelsatlas.com/mcp/sonarsource/sonarqube-mcp-server
Trust audit
Audit 0.4.1 · full source read 22 Oct 2026
13 findings, listed below with the file and line each was found on. Grade A needs a sandboxed behavioural run too; this audit read the source only.
What the source does
- FilesystemDeclared1 observation
- NetworkDeclared1 observation
- ShellNone observedNothing seen in the source
- DependenciesPinnedNothing floats
- SecretsFoundSee the findings
“Declared” means the server says it does this and the source agrees. Browser, file and shell access are expected of some kinds of server.
Five audit layers
| Layer | What we check | Result |
|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | WARN 2 findings |
L1 Static source | Secrets, path traversal, supply chain | WARN 8 findings |
L2 Instructions | Prompt injection and authority framing in docs and tool descriptions | PASS 2 findings |
L3 Inventory | Declared tools match the source | PASS 1 finding |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED |
Provenance & runtime
Who published it, and what the audit could and could not run
Provenance
- Repository owner
sonarsourceOrganizationAccount type recorded when we read the repository. - PackageNo packageRuns from a repository checkout or a hosted URL.
- LicenceNOASSERTIONFrom the repository, as read at the audited commit.
- Last pushTodayActivity of the repository when we read it.
- Source commit readd68ddf41d681The audit covers exactly this commit, read on 22 Oct 2026.
Runtime
- Sandbox runNot run yetThis audit read the source only; it did not execute the server.
- Tool inventoryBuilt at runtimeThe source declares no tools; the server lists them when a client connects, so we cannot read them.
Every value here is read from the record's own repository and audit.Suggest a correction
Findings (13)
Sorted by severity
MEDIUMInventory / provenanceinv.binary · gradle/wrapper/gradle-wrapper.jar
gradle-wrapper.jar
- Why
- a compiled or binary member cannot be reviewed from source
- Fix
- ship source, or explain the binary in the README
MEDIUMHard-coded secretssecret.generic · src/main/java/org/sonarsource/sonarqube/mcp/analytics/AnalyticsClient.java:35
Excerpt withheld: it is a secret, and we never print one.
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInventory / provenanceinv.binary · src/test/resources/ssl/test-keystore.p12
test-keystore.p12
- Why
- a compiled or binary member cannot be reviewed from source
- Fix
- ship source, or explain the binary in the README
LOWNetwork egressnet.raw_ip · docs/http-authentication-architecture.md:336
- When bound to `127.0.0.1` or `localhost` (default): localhost browser origins (`http://localhost`, `http://127.0.0.1`, `http://[::1]`, with any port).
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · src/test/java/org/sonarsource/sonarqube/mcp/OrganizationSelectionHttpTest.java:187
var builder = HttpRequest.newBuilder(URI.create("http://127.0.0.1:" + port + "/mcp"))- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · src/test/java/org/sonarsource/sonarqube/mcp/analytics/AnalyticsClientTest.java:234
System.setProperty(AnalyticsClient.PROPERTY_ANALYTICS_ENDPOINT, "http://192.0.2.1:9999/mcp");
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · src/test/java/org/sonarsource/sonarqube/mcp/transport/HttpServerTransportIntegrationTest.java:91
var expectedUrl = "http://127.0.0.1:" + testPort + "/mcp";
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · src/test/java/org/sonarsource/sonarqube/mcp/transport/HttpServerTransportIntegrationTest.java:136
var healthUrl = "http://127.0.0.1:" + testPort + McpSecurityFilter.HEALTH_ENDPOINT;
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWObfuscation / stealthobf.base64_blob · README.md:161
[](https://cursor.com/en-US/install-mcp?name=sonarqube&config=eyJlbnYiOnsiU09OQVJRVUJFX1RPS0VOIjoiWU9VUl9UT0tFTiIsIlNPTk
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWObfuscation / stealthobf.base64_blob · README.md:167
[](https://cursor.com/en-US/install-mcp?name=sonarqube&config=eyJlbnYiOnsiU09OQVJRVUJFX1RPS0VOIjoiWU9VUl9VU0VSX1RPS0VOI
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWPrompt injectionprompt.transfer_instruction · README.md:684
For HTTP/HTTPS token requests, server-level `SONARQUBE_ORG` remains supported for compatibility but is deprecated and logs a startup warning. It fixes the organization for every request and rejects cl
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
LOWPrompt injectionprompt.transfer_instruction · README.md:1691
This server collects anonymous usage data and sends it to SonarSource to help improve the product. No source code or IP address is collected, and SonarSource does not share the data with anyone else.
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
LOWInventory / provenancemcp.no_tools_extracted · server.json
- Why
- the tool list is enumerated at runtime by tools/list, not declared in source
- Fix
- the page says so rather than showing an empty table
Tools it exposes
None declared in source
The tool list is built at runtime, so we cannot read it from the source.
Install
audited commit d68ddf4
Read the findings first. The most severe is Inventory / provenance (medium) at gradle/wrapper/gradle-wrapper.jar.
No connect command is recorded for this server yet. Follow the repository's own instructions, and read the findings above first.
Audit history
- !CAUTION B 86 / 100
First audit ·
d68ddf41d681
README badge
For maintainers · updates on every re-audit
[](https://modelsatlas.com/mcp/sonarsource/sonarqube-mcp-server/)
The badge always shows the latest audit; a maintainer cannot pin an old verdict.
Other ratings
Cited, never blended into our score
No third-party security ratings are recorded for this server yet. When they exist they appear here with their source and date, beside, not inside, our grade.
Questions about sonarqube-mcp-server
What is the sonarqube-mcp-server MCP server?
Is sonarqube-mcp-server safe to connect to an agent?
What credentials does sonarqube-mcp-server need?
How does sonarqube-mcp-server run?
How current is this page?
Sources
- SonarSource/sonarqube-mcp-server on GitHub — the source we read, its licence, stars and activityObserved · 22 Oct 2026
- ModelsAtlas trust audit — CAUTION verdict for commit d68ddf41d681Observed · 22 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What is the sonarqube-mcp-server MCP server?
- Is sonarqube-mcp-server safe to connect to an agent?
- What credentials does sonarqube-mcp-server need?