sonarqube-mcp-server は何をしますか?
公式のSonarQube MCPサーバー — AIコーディングエージェントのワークフローにSonarQubeのコード品質・セキュリティ分析を直接統合します。
概要
このMCPサーバーは、AIエージェント(Claude Code、Cursor、Codexなど)がSonarQubeの分析機能にアクセスできるようにします。主な機能は以下の通りです:
- プロジェクトの問題(バグ、脆弱性、コードスメル、セキュリティホットスポット)の一覧取得
- 品質ゲート(Quality Gate)のステータス確認
- プロジェクト分析結果の詳細表示
- 特定の問題の詳細情報の取得
セットアップ
前提条件
- SonarQubeサーバー(オンプレミスまたはSonarCloud)のインスタンス
- SonarQubeのアクセストークン(ユーザートークン)
インストール
npm install -g sonarqube-mcp-server
もしくは、プロジェクトにローカルインストール:
npm install sonarqube-mcp-server
設定
以下の環境変数を設定します:
| 変数名 | 説明 | 必須 |
|---|---|---|
SONAR_TOKEN | SonarQubeのアクセストークン | はい |
SONAR_HOST_URL | SonarQubeサーバーのURL(デフォルト: https://sonarcloud.io) | いいえ |
MCPクライアントでの設定例
Claude Code(claude_desktop_config.json)
{
"mcpServers": {
"sonarqube": {
"command": "npx",
"args": ["-y", "sonarqube-mcp-server"],
"env": {
"SONAR_TOKEN": "<あなたのトークン>",
"SONAR_HOST_URL": "https://sonarcloud.io"
}
}
}
}
利用可能なツール
get_project_issues
プロジェクトの問題を取得します。フィルタリングオプション:
projectKey(必須): SonarQubeのプロジェクトキーtypes(オプション): 問題タイプでフィルタリング(例:BUG,VULNERABILITY,CODE_SMELL)severities(オプション): 重要度でフィルタリング(例:BLOCKER,CRITICAL,MAJOR,MINOR,INFO)statuses(オプション): ステータスでフィルタリング(例:OPEN,CONFIRMED,REOPENED,RESOLVED,CLOSED)pageSize(オプション): 1ページあたりの結果数(デフォルト: 100)pageIndex(オプション): ページ番号(デフォルト: 1)
get_quality_gate_status
プロジェクトの品質ゲートステータスを取得します。
projectKey(必須): SonarQubeのプロジェクトキー
get_project_analysis
プロジェクトの最後の分析結果の概要を取得します。
projectKey(必須): SonarQubeのプロジェクトキー
get_issue_details
特定の問題の詳細情報を取得します。
issueKey(必須): 問題のキー
ライセンス
このプロジェクトはLGPL-3.0ライセンスの下で提供されています。