SonarCloud

Obtén incidencias de SonarCloud relacionadas con solicitudes de extracción.

Documentación

Servidor MCP de SonarCloud

Un servidor MCP que proporciona herramientas para obtener problemas de SonarCloud relacionados con pull requests.

Ejemplo de prompt:

Obtén la lista de problemas OPEN o ACCEPTED de sonarcloud para este PR, que estén asignados a me, corrígelos y sube los cambios a este PR.

Se enfatiza la parte de me, que es un valor especial en la API de sonarcloud para referenciar al usuario actual (propietario del token). Puedes colocarlo en tu carpeta .claude/tools como sonarcloud-issues.md para tener un acceso directo que solicite a claude code obtener y corregir problemas de SonarCloud.

Características

  • Obtiene problemas de SonarCloud para pull requests específicos
  • Filtra por organización, proyecto y número de PR
  • Soporta autenticación mediante token de API
  • Devuelve datos de problemas formateados con información de severidad, tipo y ubicación

Instalación

Requisito previo: Generar un token de API de SonarCloud

Sigue las instrucciones en la documentación de SonarCloud para generar un token de API de SonarCloud.

Opción 1: Docker (Recomendado)

# Build the Docker image
npm run docker:build

# Or build directly
docker build -t sonarcloud-mcp .

Opción 2: Instalación local

npm ci
npm run build

Uso

Uso con Docker

Ejecuta mediante docker:

docker run -i --rm \
  -e SONARCLOUD_TOKEN=your_token_here \
  -e SONARCLOUD_ORGANISATION=your_organisation_here \
  -e SONARCLOUD_PROJECT_KEY=your_project_key_here \
  sonarcloud-mcp

Uso local

Exporta las variables de entorno requeridas y ejecuta el servidor:

export SONARCLOUD_TOKEN=your_token_here
export SONARCLOUD_ORGANISATION=your_organisation_here
export SONARCLOUD_PROJECT_KEY=your_project_key_here
npm start

Variables de entorno

  • SONARCLOUD_TOKEN: Tu token de API de SonarCloud (requerido)j
  • SONARCLOUD_ORGANISATION: Tu clave de organización de SonarCloud (opcional, se puede pasar como parámetro)
  • SONARCLOUD_PROJECT_KEY: Tu clave de proyecto de SonarCloud (opcional, se puede pasar como parámetro)

Integración con Claude Desktop / Claude Code

Configuración con Docker (Recomendado)

Añade a tu claude_desktop_config.json o claude.json:

{
  "mcpServers": {
    "sonarcloud": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SONARCLOUD_TOKEN",
        "-e",
        "SONARCLOUD_ORGANISATION",
        "-e",
        "SONARCLOUD_PROJECT_KEY",
        "sonarcloud-mcp"
      ],
      "env": {
        "SONARCLOUD_TOKEN": "<your token here>",
        "SONARCLOUD_ORGANISATION": "<your organisation here>",
        "SONARCLOUD_PROJECT_KEY": "<your project key here>"
      }
    }
  }
}

Configuración local

Añade a tu claude_desktop_config.json o claude.json:

{
  "mcpServers": {
    "sonarcloud-mcp": {
      "command": "node",
      "args": [
        "/path/to/sonarcloud_mcp/dist/index.js"
      ],
      "env": {
        "SONARCLOUD_TOKEN": "<your token here>",
        "SONARCLOUD_ORGANISATION": "<your organisation here>",
        "SONARCLOUD_PROJECT_KEY": "<your project key here>"
      }
    }
  }
}

Herramientas disponibles

  • fetch_sonarcloud_issues: Obtiene problemas de SonarCloud para un pull request específico.