SonarQube MCP Server - Multi-Client

SonarQube MCP Server - Multi-Client

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.

Category
Visit Server

README

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured