SonarQube について
SonarQube MCP ServerはAIエージェントをSonarQube APIに接続し、コード品質の監視と分析を支援します。プロジェクトの問題や指標の取得に加え、接続とトークンも確認できます。
主な機能
- 01サーバーの状態と接続の確認
- 02認証トークンの検証
- 03未解決のプロジェクト課題の取得
- 04アクセス可能なプロジェクトの一覧表示
- 05品質・セキュリティ指標の取得
活用シーン
- 01未解決のバグや脆弱性の確認
- 02カバレッジと重複コード指標の追跡
- 03SonarQubeのアクセスとトークンの確認
MCP 対応
MCPクライアント向けに、SonarQubeの状態確認、認証、プロジェクト課題・一覧・指標の取得ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e SONARQUBE_URL -e SONARQUBE_TOKEN -e PROJECT_KEY dhanushhypervisor/sonarqube_mcp_serverSONARQUBE_URLSONARQUBE_TOKENシークレットPROJECT_KEYシークレットローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
SonarQube MCP サーバー
これは、SonarQube API と連携するためのブリッジを提供する FastMCP サーバーです。SonarQube を使用してコード品質を監視・分析するためのさまざまなツールを提供します。
機能
1. ヘルスチェック
- エンドポイント:
sonar_health_check - SonarQube サーバーの状態を確認します
- 現在のヘルスステータスと接続情報を返します
2. トークンの検証
- エンドポイント:
get_token_info - SonarQube 認証トークンを検証します
- 認証ステータスと関連するユーザー情報を返します
3. プロジェクトの課題
- エンドポイント:
get_project_issues - 特定のプロジェクトの未解決課題を取得します
- 以下の詳細情報を返します:
- バグ
- コードスメル
- 脆弱性
- 課題の重大度とステータス
- ファイルの場所と行番号
4. プロジェクト一覧
- エンドポイント:
list_projects - アクセス可能なすべての SonarQube プロジェクトを一覧表示します
- プロジェクトキー、名前、公開設定を提示します
5. プロジェクトメトリクス
- エンドポイント:
get_project_metrics - 以下を含む、プロジェクトの主要な品質メトリクスを取得します:
- バグ数
- 脆弱性数
- コードスメル数
- コードカバレッジ
- 重複行密度
- 信頼性評価
- セキュリティ評価
- 保守性評価(SQALE)
設定
サーバーでは以下の環境変数を使用します:
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.txt ファイルを確認してください。主な要件は以下のとおりです:
- FastMCP
- Requests
使用方法
- 環境変数を設定します
- 要件をインストールします
- Python を使用してサーバーを実行します
サーバーが起動し、SonarQube インスタンスと連携するための MCP 準拠エンドポイントを提供します。
Docker の使用方法
セキュリティに関する注意
セキュリティ上の理由から、SONARQUBE_TOKEN や PROJECT_KEY などの機密性の高い環境変数を Dockerfile に保存しないでください。代わりに、実行時に環境変数または環境ファイルを使用して渡してください。
イメージのビルド
Docker イメージをビルドするには:
docker build -t sonarqube-mcp .
💡 このツールを VS Code と連携して、よりスマートに使う方法
-
VS Code の設定を開きます

-
検索バーに mcp と入力します

-
「Edit in settings.json」をクリックします
-
mcp セクションに、以下の設定を追加します:
MCP サーバー設定への追加
"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>",
}
}
環境変数
コンテナの実行時に、以下の必須環境変数を設定します:
SONARQUBE_URL:SonarQube サーバーの URLSONARQUBE_TOKEN:SonarQube 認証トークンPROJECT_KEY:分析するデフォルトのプロジェクトキー
サーバーは Python 3.10 で動作し、依存関係の管理と実行には uv パッケージマネージャーを使用します。
エラー処理
サーバーには、以下に対する包括的なエラー処理が含まれています:
- 接続の問題
- 認証の失敗
- 権限の問題
- 無効なプロジェクトキー
- 一般的な API エラー
各エンドポイントは、問題の診断に役立つ詳細なエラーメッセージを返します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。