SonarQube MCP Server - Multi-Client

StefPanchana/Sonar-Mcp
0 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Multi-client MCP server for integrating SonarQube 10.6+ code quality analysis with Amazon Q Developer, supporting multiple simultaneous users, branch analysis, and issue management.

README.md

SonarQube MCP Server - Multi-Client

MCP Server multicliente para integración completa con SonarQube 10.6+ y Amazon Q Developer

👥 Soporte Multi-Cliente

  • 47+ usuarios simultáneos - Un servidor para toda la empresa
  • Sesión por usuario - Aislamiento completo de contextos
  • Autenticación flexible - Token individual o configuración por defecto
  • Gestión automática - Limpieza de sesiones expiradas
  • Compatibilidad total - Mantiene formato de configuración existente

🚀 Características principales

  • Compatible con SonarQube 10.6+ - Soporte completo para versiones actuales
  • Análisis de ramas avanzado - Soporte nativo para múltiples ramas (master, dev, main)
  • Integración Amazon Q Developer - Optimizado para análisis de calidad de código
  • Análisis automático completo - Una herramienta analiza todo el proyecto
  • Gestión de issues - Cambio de estados y transiciones
  • API REST completa - Acceso a todas las funcionalidades de SonarQube
  • Docker optimizado - Ejecución containerizada para máxima portabilidad

📦 Instalación y Build

Build Docker

npm install
npm run build
docker build -t sonarqube-mcp .

Build Script (alternativo)

./build.sh

⚙️ Configuración Amazon Q Developer

💻 Configuración por Cliente (Recomendado)

Cada usuario mantiene su configuración individual:

{
  "mcpServers": {
    "sonarqube": {
      "command": "docker",
      "args": [
        "run",
        "--rm", 
        "-i",
        "--name", "sonar-mcp-server",
        "-e", "SONARQUBE_TOKEN=squ_1098e9e691dcb10c0bf164a245a0801fe8b166d1",
        "-e", "SONARQUBE_URL=https://sonar.xtrim-app.com",
        "sonarqube-mcp"
      ]
    }
  }
}

🏢 Configuración Empresarial (Servidor Centralizado)

Para deployment en servidor de la empresa:

# Ejecutar servidor centralizado
docker run -d \
  --name sonar-mcp-central \
  -p 3000:3000 \
  -e SONARQUBE_TOKEN=token-por-defecto \
  -e SONARQUBE_URL=https://sonar.empresa.com \
  sonarqube-mcp

Variables de entorno:

  • SONARQUBE_TOKEN - Token por defecto (opcional)
  • SONARQUBE_URL - URL por defecto (opcional)

🛠️ Herramientas disponibles

🔐 Autenticación

  • authenticate_user - Autenticar usuario con credenciales propias
  • userId - Identificador único del usuario
  • token - Token SonarQube (opcional si hay configuración por defecto)
  • baseUrl - URL SonarQube (opcional si hay configuración por defecto)

📊 Análisis de proyectos

  • get_projects - Listar proyectos del usuario autenticado
  • get_project_metrics - Métricas detalladas con soporte de ramas
  • analyze_project_branches - Análisis completo de todas las ramas

Nota: Todas las herramientas requieren userId para identificar la sesión del usuario.

🌿 Gestión de ramas

  • get_project_branches - Listar todas las ramas del proyecto
  • get_branch_metrics - Métricas específicas por rama
  • Soporte de parámetro branch en todas las herramientas principales

🐛 Gestión de issues

  • get_issues - Consultar issues (con filtros y soporte de ramas)
  • change_issue_status - Cambiar estado de issues (resolve, confirm, falsepositive, etc.)

🎯 Quality Gates

  • get_quality_gate - Estado del quality gate (con soporte de ramas)

🔧 Herramientas del sistema

  • search_metrics - Buscar métricas disponibles
  • list_languages - Listar lenguajes soportados por SonarQube
  • get_system_status - Estado y versión del sistema SonarQube

💡 Casos de uso con Amazon Q Developer

🎯 Análisis de calidad integral

Q Developer puede ahora:
✅ Analizar calidad del código generado automáticamente
✅ Comparar calidad entre ramas (master vs dev)
✅ Proporcionar feedback inmediato sobre mejoras
✅ Sugerir correcciones basadas en métricas reales
✅ Integrar análisis de SonarQube en recomendaciones

📈 Flujo de trabajo optimizado

  1. Análisis automático - analyze_project_branches proporciona vista completa
  2. Comparación contextual - Q Developer compara calidad entre ramas
  3. Recomendaciones inteligentes - Sugerencias basadas en métricas reales
  4. Corrección guiada - Identificación y resolución de issues prioritarios

🔍 Ejemplos de uso

1. Autenticación de usuario

{
  "tool": "authenticate_user",
  "arguments": {
    "userId": "juan.perez",
    "token": "squ_abc123...",
    "baseUrl": "https://sonar.empresa.com"
  }
}

2. Análisis completo de proyecto

{
  "tool": "analyze_project_branches",
  "arguments": {
    "userId": "juan.perez",
    "projectKey": "mi-proyecto-key"
  }
}

3. Métricas de rama específica

{
  "tool": "get_project_metrics",
  "arguments": {
    "userId": "juan.perez",
    "projectKey": "mi-proyecto-key",
    "branch": "master",
    "metrics": ["ncloc", "bugs", "vulnerabilities", "coverage"]
  }
}

Cambiar estado de issue

{
  "tool": "change_issue_status",
  "arguments": {
    "issueKey": "AXouyxqJdGmZprio4Axh",
    "transition": "resolve"
  }
}

🏗️ Arquitectura Multi-Cliente

47 Usuarios Amazon Q → MCP Server Centralizado → Gestor de Sesiones → SonarQube API 10.6+
                                    │
                            Pool de Conexiones
                                    │
                        Usuario A → Sesión A → Token A
                        Usuario B → Sesión B → Token B
                        Usuario C → Sesión C → Token C

Componentes:

  • Gestor de Sesiones - Manejo de 47+ usuarios simultáneos
  • Pool de Conexiones - Optimización de recursos
  • Limpieza Automática - Sesiones expiradas (30 min)
  • Fallback a Default - Configuración por defecto disponible
  • TypeScript/Node.js - Servidor MCP optimizado
  • Docker - Containerización para portabilidad
  • Axios - Cliente HTTP para API de SonarQube
  • MCP SDK - Protocolo de comunicación estándar

📋 Compatibilidad

  • SonarQube: 10.6+ (on-premise y cloud)
  • Amazon Q Developer: Todas las versiones con soporte MCP
  • Usuarios simultáneos: 47+ (probado hasta 100)
  • Node.js: 18+
  • Docker: Cualquier versión compatible
  • Memoria requerida: 2-4 GB para 47 usuarios
  • CPU requerida: 2-4 cores

🤝 Contribución

Este MCP server está optimizado para uso empresarial con SonarQube on-premise y Amazon Q Developer, proporcionando análisis de calidad de código integral y automatizado.

Related MCP servers

Browse all →