Sambungkan Claude Code kamu langsung ke SonarQube milik tim. Analisis kualitas kode, cari bug & code smell, dan perbaiki issue tanpa keluar dari editor โ tanpa install apa pun selain satu perintah connect.
Satu server MCP sudah jalan di VPS tim. Kamu cukup nyambung ke URL-nya.
SonarQube menganalisis kode di server. SonarQube MCP adalah jembatan yang membuat Claude Code bisa "ngobrol" dengan hasil analisis itu. Karena server MCP-nya sudah kami host di VPS (mode HTTP), kamu tidak perlu Docker, Java, atau apa pun di laptop โ cukup Claude Code + satu perintah.
Cuma dua.
Cek dengan:
Login ke SonarQube โ klik avatar โ My Account โ Security โ Generate Tokens โ type User Token. Simpan token squ_... baik-baik.
Awas ketukar: token sqp_/sqa_ dari wizard CI cuma bisa submit scan โ buat MCP/Claude Code wajib User Token squ_..., kalau tidak agent-mu bakal "tidak punya izin".
Ganti TOKEN_KAMU dengan token SonarQube kamu, lalu jalankan di terminal.
Verifikasi berhasil:
Buka Claude Code di repo, lalu tinggal ketik salah satu ini (Bahasa Indonesia pun paham).
"Cek quality gate project e-office-bwi di SonarQube, ringkas status & metrik utamanya."
"Ambil 10 issue paling parah dari SonarQube untuk e-office-bwi, jelaskan, lalu perbaiki yang aman satu per satu."
"Tampilkan semua security hotspot & vulnerability dari SonarQube, urutkan dari paling kritis, dan usulkan perbaikannya."
"Aku mau merge branch ini. Cek issue baru di SonarQube untuk branch/PR ini dan pastikan quality gate lolos."
"Cari duplikasi kode & code smell terbanyak dari SonarQube, mulai dari file dengan skor terburuk."
"Analisis potongan kode ini pakai aturan SonarQube sebelum aku commit." (tempel kodenya)
SonarQube kasih temuan; subagent Claude yang mengeksekusi perbaikannya. Pasangan yang bagus:
code-reviewer | Setelah SonarQube nunjuk issue, minta review menyeluruh + rekomendasi perbaikan berkualitas. |
security-reviewer | Pasangkan dengan security hotspot SonarQube untuk audit OWASP mendalam. |
refactor-cleaner | Untuk code smell & duplikasi โ bersihkan dead code dengan aman. |
build-error-resolver | Kalau perbaikan bikin build error, agent ini yang membereskan. |
Sekali setup per repo, habis itu analisa jalan otomatis tiap push / merge request.
sonar-project.properties di root repo:
.gitlab-ci.yml (sama seperti yang sudah dipakai repo e-office-bwi):
Belum punya akses maintainer GitLab, atau mau kirim hasil scan cepat sebelum push? Jalankan scanner langsung dari root repo.
sonar-project.properties di root repo (lihat langkah 05). Pakai token pribadimu โ jangan tulis token di file mana pun; folder .scannerwork/ yang muncul setelah scan masuk .gitignore.rm -rf ~/.sonar/cache. Warning "Missing blame information" artinya ada file yang belum di-commit โ commit dulu, scan lagi.Quality gate tim mensyaratkan coverage kode baru โฅ 80%. Laporan coverage harus digenerate sebelum scan โ kalau tidak, Sonar menganggap coverage 0%.
1. Generate laporan (contoh stack Laravel + React seperti e-office-bwi):
2. Daftarkan path laporan di sonar-project.properties:
3. Scan seperti biasa (langkah 05 atau 06). Angka coverage muncul di dashboard project.
.gitignore โ generate segar tiap mau scan. Kalau lewat GitLab CI, tambahkan stage test yang menghasilkan laporan ini sebelum job sonarqube-check. File konfigurasi statis bisa dikecualikan via sonar.coverage.exclusions (mis. config/**).| 401 / Unauthorized | Token salah/expired. Generate ulang di SonarQube โ My Account โ Security. |
| "Insufficient privileges" | Token yang dipakai jenis analysis (sqp_/sqa_), bukan User Token squ_. Generate User Token lalu pasang ulang MCP. |
| Gate "new code" kosong | Normal di scan pertama โ baseline Previous version butuh pembanding. Mulai scan kedua metriknya aktif. |
| Not connected | Cek claude mcp list. Hapus & pasang ulang: claude mcp remove sonarqube lalu ulangi langkah 02. |
| Project tak ketemu | Pastikan key persis e-office-bwi. File sonar-project.properties di repo sudah menuliskannya. |
| Coverage 0% | Laporan coverage belum digenerate sebelum scan, atau path di sonar-project.properties tidak cocok โ lihat langkah 07. |
| Fallback URL | Kalau domain bermasalah, pakai langsung: http://203.55.176.248:8080/mcp |