Skip to main content
Glama
StefPanchana

SonarQube MCP Server - Multi-Client

by StefPanchana

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

Related MCP server: sonarqube-api-mcp

🚀 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.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/StefPanchana/Sonar-Mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server