Skip to main content

SonarQube Integration

Bob the Fixer provides deep integration with SonarQube, exposing comprehensive code quality data to AI assistants through 20 specialized MCP tools.

Overview

The integration connects directly to SonarQube's Web API, providing:

  • Issue Tracking: Bugs, vulnerabilities, code smells with full context
  • Security Analysis: Hotspots requiring review, vulnerability details
  • Quality Metrics: Coverage, duplication, technical debt
  • Pattern Analysis: Group and correlate issues for efficient fixing
  • Project Management: Auto-setup, configuration, cleanup

Supported Versions

VersionStatusNotes
SonarQube 10.xFully SupportedRecommended
SonarQube 9.xFully SupportedAll features available
SonarQube 8.xLimited SupportSome APIs may differ
SonarCloudFully SupportedCloud-hosted alternative

MCP Tools Reference

Scanning Tools

sonar_scan_project

Scans a project with SonarQube.

ParameterTypeDescription
projectPathstringFull path to project (required for subsequent scans)
autoSetupbooleantrue for first scan, false thereafter
severityFilterarrayFilter: BLOCKER, CRITICAL, MAJOR, MINOR, INFO
typeFilterarrayFilter: BUG, VULNERABILITY, CODE_SMELL

Usage pattern:

# First scan
sonar_scan_project with autoSetup: true

# Subsequent scans
sonar_scan_project with projectPath: "/full/path" and autoSetup: false

sonar_auto_setup

Automatically configures SonarQube project.

ParameterTypeDescription
forcebooleanForce recreation of existing config
templatestringQuality gate: strict, balanced, permissive

Analysis Tools

sonar_get_issue_details

Gets comprehensive issue information for AI fixing.

ParameterTypeDefaultDescription
issueKeystringrequiredSonarQube issue key
contextLinesnumber10Lines of code context
includeRuleDetailsbooleantrueInclude rule explanation
includeCodeExamplesbooleantrueInclude compliant/non-compliant examples
includeFilePathbooleantrueInclude absolute path for editing
includeFileHeaderbooleantrueInclude file header (imports/signature) before issue context
includeDataFlowboolean | "auto""auto"Include security data flow when available
includeSimilarFixedbooleanfalseInclude similar FIXED issues in this project
includeRelatedTestsbooleanfalseInclude related tests + coverage hints (best-effort)
includeScmHintsbooleanfalseInclude SCM hints when available

For the full list of advanced parameters (caps and limits), see sonar_get_issue_details.

Response includes:

  • Issue severity and type
  • File path and line number
  • Plain-text code snippet with surrounding context
  • Rule description and rationale
  • File header (imports/signature) to improve fix accuracy
  • Data flow (for vulnerabilities, when available)
  • Similar FIXED issues (opt-in)
  • Related tests + coverage hints (opt-in)
  • SCM hints (opt-in)

sonar_analyze_patterns

Groups issues to identify patterns and prioritize fixes.

ParameterTypeDescription
groupBystringpattern, file, severity, fixability
includeImpactbooleanInclude time/effort estimates
includeCorrelationsbooleanFind related issues

sonar_get_security_hotspots

Lists security hotspots requiring review.

ParameterTypeDescription
statusesarrayTO_REVIEW, REVIEWED
resolutionsarrayFIXED, SAFE, ACKNOWLEDGED
severitiesarrayHIGH, MEDIUM, LOW

sonar_get_security_hotspot_details

Gets detailed security hotspot information.

ParameterTypeDescription
hotspotKeystringSecurity hotspot key
includeRuleDetailsbooleanInclude security recommendations
contextLinesnumberLines of code context

Metrics Tools

sonar_get_project_metrics

Retrieves comprehensive project metrics.

ParameterTypeDescription
metricsarraySpecific metrics to retrieve (optional)

Available metrics:

MetricDescription
bugsTotal bug count
vulnerabilitiesSecurity vulnerability count
code_smellsCode smell count
coverageTest coverage percentage
duplicated_lines_densityDuplication percentage
sqale_indexTechnical debt (minutes)
reliability_ratingA-E bug rating
security_ratingA-E vulnerability rating
sqale_ratingA-E maintainability rating
nclocLines of code

sonar_get_quality_gate

Checks quality gate status.

Response format:

QUALITY GATE STATUS

Status: ✅ PASSED / ❌ FAILED / ⚠️ WARNING

CONDITIONS:
✓ new_bugs: 0 (threshold: 1)
✗ new_coverage: 45.2% (threshold: 80%)

sonar_get_technical_debt

Comprehensive technical debt analysis.

ParameterTypeDefaultDescription
includeBudgetAnalysisbooleantrueInclude time budget planning

Response includes:

  • Total debt in time units
  • Debt breakdown by type (bugs, vulnerabilities, code smells)
  • Budget analysis and planning recommendations
  • ROI calculations for fixing
  • Prioritized action plan

sonar_get_coverage_gaps

Finds uncovered code for test generation.

ParameterTypeDescription
componentKeystringFile key (e.g., project:src/file.ts)
minGapSizenumberMinimum consecutive uncovered lines
includePartialBranchbooleanInclude partial branch coverage

Duplication Tools

sonar_get_duplication_summary

Ranked list of files with code duplication.

ParameterTypeDescription
sortBystringdensity, lines, blocks
maxResultsnumberLimit results (default: 10)
pageSizenumberFiles to analyze (default: 100)

sonar_get_duplication_details

Detailed duplication analysis for a specific file.

ParameterTypeDescription
fileKeystringFile key from SonarQube
includeRecommendationsbooleanInclude refactoring suggestions

Reporting Tools

sonar_generate_report

Generates comprehensive quality report.

ParameterTypeDescription
formatstringsummary, detailed, json

Management Tools

sonar_project_discovery

Analyzes project to recommend configuration.

ParameterTypeDescription
pathstringDirectory to analyze
deepbooleanDeep analysis including dependencies

sonar_config_manager

Manages Bob the Fixer configuration.

ParameterTypeDescription
actionstringview, validate, reset, update
showTokenbooleanShow token in output

Links to an existing SonarQube project.

ParameterTypeDescription
sonarUrlstringSonarQube server URL
projectKeystringExisting project key
tokenstringAuthentication token

sonar_generate_config

Generates sonar-project.properties file.

ParameterTypeDescription
projectPathstringProject directory
configobjectConfiguration options

Configuration options include:

  • sources, tests, exclusions
  • modules for multi-module projects
  • Language-specific settings

sonar_cleanup

Cleans up unused projects and tokens.

ParameterTypeDescription
olderThanDaysnumberAge threshold (default: 30)
dryRunbooleanPreview without executing

sonar_diagnose_permissions

Diagnoses token and connectivity issues.

ParameterTypeDescription
verbosebooleanShow detailed diagnostics

sonar_delete_project

Deletes a SonarQube project permanently.

ParameterTypeDescription
projectKeystringProject to delete
confirmbooleanMust be true to execute

API Integration Details

Authentication

Bob the Fixer uses token-based authentication:

Authorization: Basic base64(token:)

Tokens require these permissions:

  • Browse: View project data
  • Execute Analysis: Run scans
  • Administer: Create/delete projects (for auto-setup)

Rate Limiting

Bob the Fixer implements rate limiting:

  • 60 requests/minute per client
  • Prevents overwhelming SonarQube server
  • Automatic retry with backoff

Error Handling

Common error scenarios:

ErrorCauseSolution
401Invalid tokenCheck SONAR_TOKEN
403Insufficient permissionsVerify token permissions
404Project not foundRun with autoSetup: true
500Server errorCheck SonarQube logs

Best Practices

Scanning Strategy

  1. First scan: Always use autoSetup: true
  2. Subsequent scans: Use autoSetup: false with projectPath
  3. CI/CD: Integrate scans into your pipeline

Issue Prioritization

Fix issues in this order:

  1. Security vulnerabilities - Immediate risk
  2. Blocker bugs - Critical failures
  3. Critical bugs - High-impact issues
  4. Major code smells - Maintainability
  5. Minor issues - When time permits

Technical Debt Management

# Weekly debt review
Show me the technical debt summary with budget analysis

# Monthly cleanup
Clean up issues older than 30 days

Troubleshooting

Connection Issues

Diagnose my SonarQube connection

Uses sonar_diagnose_permissions to check:

  • Network connectivity
  • Token validity
  • Permission levels
  • Server health

Scan Failures

Common causes:

  1. Missing sources: Check sonar.sources configuration
  2. Invalid project key: Use sonar_project_discovery
  3. Token expired: Regenerate and update

Next Steps