MCP ExplorerExplorer

Sonar Mcp Server

@lreimeron a year ago
1 MIT
FreeCommunity
AI Systems
#mcp-go#mcp-server#sonar#sonarqube
A MCP server implementation for the SonarQube Cloud API in Golang.

Overview

What is Sonar Mcp Server

sonar-mcp-server is an implementation of an MCP server designed for the SonarQube Cloud API, developed in Golang.

Use cases

Use cases include integrating SonarQube with local development tools, enabling real-time feedback on code quality, and facilitating automated testing workflows.

How to use

To use sonar-mcp-server locally, configure it in your application settings with the appropriate command and environment variables, including the Sonar token.

Key features

Key features include support for SonarQube Cloud API, local deployment capabilities, and an HTTP (SSE) mode for real-time data streaming.

Where to use

sonar-mcp-server can be used in software development environments where SonarQube is utilized for continuous integration and code quality analysis.

Content

Sonar MVP Server

An MCP server implementation for the SonarQube Cloud API in Golang.

Build and Release

# to quickly build the latest snapshot
goreleaser build --snapshot --clean
goreleaser release --skip=publish --snapshot --clean

Usage Instructions

If you want to use the tool locally, e.g. with Claude Desktop, use the following
configuration for the MCP server.

{
  "mcpServers": {
    "sonar": {
      "command": "/Users/mario-leander.reimer/Applications/sonar-mcp-server",
      "args": [
        "-t",
        "stdio"
      ],
      "env": {
        "SONAR_TOKEN": "<<INSERT TOKEN HERE>>"
      }
    }
  }
}

Alternatively, you can use the MCP introspector for easy local development:

# as stdio binary
npx @modelcontextprotocol/inspector go run main.go

# as SSE server using 
go run main.go --transport sse
npx @modelcontextprotocol/inspector npx mcp-remote@next http://localhost:8080/sse
npx @modelcontextprotocol/inspector

Deployment

Currently using manual Google Cloud Run deployment. Can either be deployed
directly from source or using the Docker image built on Github.

# create a new secret for the SONAR_TOKEN
gcloud services enable secretmanager.googleapis.com
print $SONAR_TOKEN | gcloud secrets create sonar-token --data-file=-

# next deploy the local build from source to Cloud Run
gcloud services enable run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com

gcloud secrets add-iam-policy-binding sonar-token \
  --member=serviceAccount:[email protected] \
  --role=roles/secretmanager.secretAccessor

gcloud run deploy sonar-mcp-server --source=. \
  --region=europe-north1 \
  --port=8080 --allow-unauthenticated \
  --set-secrets=SONAR_TOKEN=sonar-token:latest \
  --set-env-vars=BASE_URL=https://sonar-mcp-server-343509396461.europe-north1.run.app

gcloud run services delete sonar-mcp-server --async --region=europe-north1

Maintainer

M.-Leander Reimer (@lreimer), [email protected]

License

This software is provided under the MIT open source license, read the LICENSE
file for details.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers