Sign inSign up

dhanushhypervisor/sonarqube_mcp_server

By dhanushhypervisor

•Updated over 1 year ago

Effortlessly resolve your SonarQube violations with the power of GitHub Copilot.

Image
API management
Machine learning & AI
Developer tools
1

1.4K

dhanushhypervisor/sonarqube_mcp_server repository overview

⁠SonarQube MCP Server

This is a FastMCP server that provides a bridge to interact with SonarQube APIs. The server offers various tools to monitor and analyze code quality using SonarQube.

⁠Features

⁠1. Health Check
  • Endpoint: sonar_health_check
  • Checks the status of your SonarQube server
  • Returns the current health status and connection information
⁠2. Token Validation
  • Endpoint: get_token_info
  • Validates the SonarQube authentication token
  • Returns authentication status and associated user information
⁠3. Project Issues
  • Endpoint: get_project_issues
  • Fetches unresolved issues for a specific project
  • Returns detailed information about:
    • Bugs
    • Code smells
    • Vulnerabilities
    • Issue severity and status
    • File location and line numbers
⁠4. Project Listing
  • Endpoint: list_projects
  • Lists all accessible SonarQube projects
  • Provides project keys, names, and visibility settings
⁠5. Project Metrics
  • Endpoint: get_project_metrics
  • Retrieves key quality metrics for a project including:
    • Bug count
    • Vulnerability count
    • Code smell count
    • Code coverage
    • Duplicated lines density
    • Reliability rating
    • Security rating
    • Maintainability rating (SQALE)

⁠Configuration

The server uses the following environment variables:

SONARQUBE_URL=http://localhost:9000  # Default SonarQube server URL
SONARQUBE_TOKEN=                     # Your SonarQube authentication token
PROJECT_KEY=default_project          # Default project key for operations

⁠Requirements

Check the requirements.txt file for all dependencies. The main requirements include:

  • FastMCP
  • Requests

⁠Usage

  1. Set up your environment variables
  2. Install the requirements
  3. Run the server using Python

The server will start and provide MCP-compliant endpoints for interacting with your SonarQube instance.

⁠Docker Usage

⁠Security Notice

For security reasons, sensitive environment variables like SONARQUBE_TOKEN and PROJECT_KEY should not be stored in the Dockerfile. Instead, they should be passed at runtime using environment variables or environment files.

⁠GitHub

Github Link for this project:

https://github.com/dhanush-dev01/sonarqube_MCP.git
⁠Adding it in MCP server

use it in you MCP cli by adding

      "sonarqubemcp": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "--init",
          "-e",
          "SONARQUBE_URL",
          "-e",
          "SONARQUBE_TOKEN",
          "-e",
          "PROJECT_KEY",
          "dhanushhypervisor/sonarqube_mcp_server"
        ],
        "env": {
          "SONARQUBE_URL": "<server_url>",
          "SONARQUBE_TOKEN" : "<server_token>",
          "PROJECT_KEY": "<project_name>",
        }
      }
⁠Environment Variables

When running the container, configure these required environment variables:

  • SONARQUBE_URL: URL of your SonarQube server
  • SONARQUBE_TOKEN: Your SonarQube authentication token
  • PROJECT_KEY: The default project key to analyze

The server runs on Python 3.10 and uses the uv package manager for dependency management and execution.

⁠Error Handling

The server includes comprehensive error handling for:

  • Connection issues
  • Authentication failures
  • Permission problems
  • Invalid project keys
  • General API errors

Each endpoint returns detailed error messages to help diagnose issues.

Tag summary

Content type

Image

Digest

sha256:febb3a678…

Size

147.1 MB

Last updated

over 1 year ago

docker pull dhanushhypervisor/sonarqube_mcp_server