Live survey304 models · 14 providers · 22,792 auditsAudited grill-with-docs · SAFE →What changedHow we verifyllms.txt

MCP server · Org-owned · Audited from source

sonarqube-mcp-server

by sonarsource/sonarqube-mcp-serverNOASSERTION licenceAudited 22 Oct 2026 · source d68ddf41d681

stdio★ 669
!CAUTIONGrade B · 86/100 · 22 Oct 2026 · d68ddf4
669GitHub stars

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

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
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

Trust score86/100!CAUTION B
0 critical0 high2 medium11 low0 info

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

LayerWhat we checkResult
L0 ProvenanceRepo owner, licence, archive status, activityWARN 2 findings
L1 Static sourceSecrets, path traversal, supply chainWARN 8 findings
L2 InstructionsPrompt injection and authority framing in docs and tool descriptionsPASS 2 findings
L3 InventoryDeclared tools match the sourcePASS 1 finding
L4 SandboxRun in isolation and watch behaviourSKIPPED

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
F-13 Inventory / provenanceCWE-1104Layer L0
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
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

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
F-13 Inventory / provenanceCWE-1104Layer L0
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
F-04 Network egressCWE-200 · CWE-319Layer L1
- 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
F-04 Network egressCWE-200 · CWE-319Layer L1
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
F-04 Network egressCWE-200 · CWE-319Layer L1
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
F-04 Network egressCWE-200 · CWE-319Layer L1
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
F-04 Network egressCWE-200 · CWE-319Layer L1
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
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
[![Install for SonarQube Cloud](https://cursor.com/deeplink/mcp-install-dark.svg)](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
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
[![Install for SonarQube Server](https://cursor.com/deeplink/mcp-install-dark.svg)](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
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
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
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
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
F-13 Inventory / provenanceCWE-1104Layer L3
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

  1. !CAUTION B 86 / 100

    First audit · d68ddf41d681

README badge

For maintainers · updates on every re-audit

ModelsAtlas: CAUTION BMODELSATLASCAUTION · B
[![ModelsAtlas: CAUTION B](https://modelsatlas.com/mcp/sonarsource/sonarqube-mcp-server/badge.svg)](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?
Official SonarQube MCP Server for code quality and security in AI agents
Is sonarqube-mcp-server safe to connect to an agent?
With care. The audit graded it B (86/100) and found 13 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does sonarqube-mcp-server need?
It reads SONARQUBE_ORG, SONARQUBE_TOKEN and SONARQUBE_URL from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does sonarqube-mcp-server run?
It speaks stdio, so it runs as a local process your client starts.
How current is this page?
The grade is for one exact copy of the source (d68ddf41d681), read on 2026-10-22. The repository is watched and re-audited when it changes.

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.