SonarQube MCP Server
Allows interaction with SonarQube API, providing tools for searching issues, retrieving project measures, checking quality gate status, listing projects, and summarizing issues.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SonarQube MCP Servershow critical issues in project my-project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP SonarQube Server
Servidor Model Context Protocol (MCP) para integração com SonarQube, permitindo acesso às funcionalidades de análise de código via MCP.
🚀 Quick Start
Método 1: Usando uvx (Recomendado) ⭐
Pré-requisito: Instale o uv primeiro:
# Windows (PowerShell)
irm https://astral.sh/uv/install.ps1 | iex
# Linux/Mac
curl -LsSf https://astral.sh/uv/install.sh | shConfiguração no Cursor:
{
"mcpServers": {
"sonarqube": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/JoaobatistaJuniorTR/mcp-sonar.git",
"mcp-sonarqube"
],
"env": {
"SONARQUBE_URL": "https://sonar.qa.thomsonreuters.com",
"SONARQUBE_TOKEN": "seu_token_aqui"
}
}
}
}⚠️ IMPORTANTE:
Substitua
seu_token_aquipelo seu token do SonarQubeO
--fromé obrigatório para especificar que o pacote vem de um repositório Git
Método 2: Execução Direta do GitHub (Fallback)
Se uvx não estiver disponível, use:
{
"mcpServers": {
"sonarqube": {
"command": "python",
"args": [
"-c",
"import urllib.request, sys, tempfile, subprocess, os; url='https://raw.githubusercontent.com/JoaobatistaJuniorTR/mcp-sonar/main/sonarqube_mcp_server.py'; f=tempfile.NamedTemporaryFile(mode='w', suffix='.py', delete=False, encoding='utf-8'); f.write(urllib.request.urlopen(url, timeout=30).read().decode('utf-8')); f.close(); subprocess.run([sys.executable, f.name], env=os.environ); os.unlink(f.name)"
],
"env": {
"SONARQUBE_URL": "https://sonar.qa.thomsonreuters.com",
"SONARQUBE_TOKEN": "seu_token_aqui"
}
}
}
}Related MCP server: sonarqube-mcp
📋 Pré-requisitos
Python 3.8 ou superior
Acesso a um servidor SonarQube
Token de autenticação do SonarQube
uvinstalado (para método uvx) ou Python commcperequests
🔧 Instalação
Instalar uv (para usar uvx)
Windows:
irm https://astral.sh/uv/install.ps1 | iexLinux/Mac:
curl -LsSf https://astral.sh/uv/install.sh | shInstalar dependências manualmente (se não usar uvx)
pip install mcp requestsComo obter o token do SonarQube
Acesse o SonarQube
Vá em My Account > Security
Gere um novo token
Copie o token (ele só será exibido uma vez)
🛠️ Ferramentas Disponíveis
1. search_issues
Busca issues do SonarQube em projetos.
Parâmetros:
projectKeys(array, opcional): Lista de chaves de projetosseverities(array, opcional): Filtrar por severidade (BLOCKER, CRITICAL, MAJOR, MINOR, INFO)statuses(array, opcional): Filtrar por status (OPEN, CONFIRMED, REOPENED, RESOLVED, CLOSED)pageSize(integer, opcional): Tamanho da página (padrão: 100)page(integer, opcional): Número da página (padrão: 1)
Exemplo:
search_issues com projectKeys=["com.thomsonreuters:rt-data-scanner"] e severities=["CRITICAL", "MAJOR"]2. get_project_measures
Obtém métricas de um projeto (cobertura, complexidade, linhas de código, etc.).
Parâmetros:
projectKey(string, obrigatório): Chave do projetometricKeys(array, opcional): Lista de métricas a buscar
Exemplo:
get_project_measures com projectKey="com.thomsonreuters:rt-data-scanner" e metricKeys=["coverage", "ncloc", "complexity"]3. get_quality_gate_status
Obtém o status do Quality Gate de um projeto.
Parâmetros:
projectKey(string, obrigatório): Chave do projeto
Exemplo:
get_quality_gate_status com projectKey="com.thomsonreuters:rt-data-scanner"4. list_projects
Lista todos os projetos disponíveis no SonarQube.
Parâmetros:
page(integer, opcional): Número da página
Exemplo:
list_projects5. get_project_issues_summary
Obtém um resumo das issues de um projeto agrupadas por severidade e status.
Parâmetros:
projectKey(string, obrigatório): Chave do projeto
Exemplo:
get_project_issues_summary com projectKey="com.thomsonreuters:rt-data-scanner"6. ping_sonarqube
Verifica se o servidor SonarQube está acessível.
Exemplo:
ping_sonarqube📖 Exemplos de Uso
Buscar todas as issues críticas de um projeto
search_issues com projectKeys=["com.thomsonreuters:rt-data-scanner"] e severities=["CRITICAL"]Obter métricas de cobertura
get_project_measures com projectKey="com.thomsonreuters:rt-data-scanner" e metricKeys=["coverage"]Verificar status do Quality Gate
get_quality_gate_status com projectKey="com.thomsonreuters:rt-data-scanner"🔄 Métodos de Execução
Método 1: uvx (Recomendado) ⭐
O uvx é similar ao npx do Node.js - executa pacotes Python diretamente sem instalação prévia.
Vantagens:
✅ Sem necessidade de clonar o repositório
✅ Sem necessidade de instalar dependências manualmente
✅ Sempre usa a versão mais recente
✅ Isolamento de dependências
Formato do comando:
uvx --from git+https://github.com/JoaobatistaJuniorTR/mcp-sonar.git mcp-sonarqubeMétodo 2: Clonar e Executar Localmente
git clone https://github.com/JoaobatistaJuniorTR/mcp-sonar.git
cd mcp-sonar
pip install -r requirements.txtDepois configure no Cursor:
{
"mcpServers": {
"sonarqube": {
"command": "python",
"args": [
"C:\\caminho\\para\\mcp-sonar\\sonarqube_mcp_server.py"
],
"env": {
"SONARQUBE_URL": "https://sonar.qa.thomsonreuters.com",
"SONARQUBE_TOKEN": "seu_token_aqui"
}
}
}
}🆘 Troubleshooting
Erro: "uvx: command not found"
Instale o uv primeiro (veja seção de instalação acima).
Erro: "Failed to build"
Verifique se o repositório está acessível
Tente limpar o cache:
uv cache cleanVerifique se o
pyproject.tomlestá correto
Erro: "ModuleNotFoundError: No module named 'mcp'"
Se estiver usando o método manual, instale as dependências:
pip install mcp requestsErro: "SONARQUBE_URL e SONARQUBE_TOKEN devem ser configurados"
Verifique se as variáveis estão no
envdo JSONReinicie o Cursor após alterar a configuração
Erro de autenticação
Verifique se o token está correto e não expirou
Certifique-se de que o token tem as permissões necessárias
Erro de conexão
Verifique se a URL do SonarQube está correta
Verifique se há firewall ou proxy bloqueando a conexão
📝 Estrutura do Projeto
mcp-sonar/
├── sonarqube_mcp_server.py # Servidor MCP principal
├── __main__.py # Entry point para execução modular
├── pyproject.toml # Configuração do projeto (para uvx)
├── requirements.txt # Dependências Python
├── README.md # Este arquivo
└── .gitignore # Arquivos ignorados pelo Git🤝 Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.
📄 Licença
Este projeto é para uso interno da organização.
🔗 Links
This server cannot be installed
Maintenance
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/JoaobatistaJuniorTR/mcp-sonar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server