SonarSource/sonarqube-mcp-server

Official SonarQube MCP Server for code quality and security in AI agents

SonarQube MCP Server – AI支援コード解析のクイックスタートガイド

概要 – AIエージェント(Claude、Gemini、Copilot、Cursorなど)がSonarQubeインスタンス(セルフホストまたはSonarCloud)と通信できるようにするModel Context Protocol(MCP)サーバーです。このサーバーはDockerコンテナで実行され、エージェントが呼び出すことのできるシンプルなJSON-RPCスタイルのAPIを公開します:

  • プロジェクト全体の解析を送信
  • 単一のコードスニペットを即座に解析
  • チャットベースのコーディングアシスタントで使用するための指摘事項(バグ、セキュリティホットスポット、コードスメル)を取得。

重要な理由 – 最新のLLM搭載コーディングアシスタントには、信頼性が高く最新の静的解析データが必要です。SonarQubeをMCPエコシステムに接続することで、フルスキャンを自分で実行しなくても、高品質で言語を認識したセキュリティおよび品質シグナルをチャット内で直接取得できます。


始める(最速の方法)

  1. 設定ジェネレータを開く – https://mcp.sonarqube.com/config-generator.html。SonarQubeトークン(およびオプションのorgまたはサーバーURL)を尋ねられ、貼り付け可能なJSONスニペットが出力されます。
  2. Dockerイメージを実行する – ジェネレータはすでにsonarsource/sonarqube-mcpを指しています。コマンド例:
    docker run --init --pull=always -i --rm \
        -e SONARQUBE_TOKEN=$YOUR_TOKEN \
        -e SONARQUBE_ORG=$YOUR_ORG   # SonarCloudのみ
        sonarsource/sonarqube-mcp
    
    環境変数をジェネレータから取得した値に置き換えてください。
  3. スニペットをエージェントのMCP設定に追加する – 各対応エージェント(Claude、Gemini、Copilot、Cursor、VS Codeなど)には、JSONを貼り付けるための小さなUI/ボタンがあります。その後、エージェントはSonarQubeに解析結果を問い合わせることができます。

手動インストール(自分でビルド/実行する場合)

  • Docker Hubからイメージを取得: docker pull sonarsource/sonarqube-mcp。
  • または、このリポジトリからローカルでビルドします(ビルド状態はGitHub Actionsバッジを参照)。
  • 必要な環境変数:
    変数 意味
    STORAGE_PATH サーバーがキャッシュと一時ファイルを保存するコンテナ内の絶対パス。公式イメージはこれを自動設定します。
    SONARQUBE_TOKEN SonarQubeユーザートークン(絶対にコミットしないでください)。
    SONARQUBE_ORG SonarCloudのみ – 組織キー。
    SONARQUBE_URL セルフホストのSonarQubeサーバーのURL(SonarCloudでは省略)。
    SONARQUBE_PROJECT_KEY オプションのデフォルトプロジェクト。常に単一のプロジェクトで作業する場合に便利です。
    SONARQUBE_IDE_PORT MCPサーバーをIDE組み込み解析サーバーと通信させる場合にSonarQube for IDEが使用するポート(Linuxでは--network=hostを追加)。

人気のAIエージェントへの接続方法

このリポジトリには、多くのエージェント向けの既製スニペットが含まれています。パターンは同じで、mcpServers.sonarqubeの下にJSONオブジェクトがあり、実行するコマンド(docker run … sonarsource/sonarqube-mcp)と注入する環境変数をエージェントに伝えます。

エージェント スニペットを貼り付ける場所
Claude claude mcp add sonarqube …(Claude Codeセクションを参照)
Gemini gemini extensions install https://github.com/SonarSource/sonarqube-agent-pluginsを実行してから環境変数を設定
GitHub Copilot CLI copilot mcp add UIまたは~/.copilot/mcp-config.jsonを編集
Cursor READMEに記載されているURLのCursorページでInstallボタンをクリック
VS Code VS Codeセクションのバッジをクリック – 事前入力されたインストールウィザードが開きます
Windsurf, Zed, Kiro, Antigravity 同様のJSONベースの設定ファイル – 対応する折りたたみセクションからブロックをコピーするだけ

すべてのスニペットは同じ構造で、例(SonarCloud用):

{
  "command": "docker",
  "args": ["run","--init","--pull=always","-i","--rm","-e","SONARQUBE_TOKEN","-e","SONARQUBE_ORG","sonarsource/sonarqube-mcp"],
  "env": {"SONARQUBE_TOKEN":"<YOUR_TOKEN>","SONARQUBE_ORG":"<YOUR_ORG>"}
}

プレースホルダーを実際のトークン/orgに置き換えてください。


セキュリティのベストプラクティス(READMEで強調)

  • トークンをコマンドラインに置かない – シェル履歴に残ります。示されているように-e環境変数を使用してください。
  • トークンをコミットしない – 環境変数またはシークレットストア(GitHub Secrets、Copilot MCP secretsなど)に保管してください。
  • イメージを定期的に取得(--pull=always)して、最新のセキュリティ修正を入手してください。

いつ使用しますか?

  • チャットベースのコードレビュー – ClaudeまたはGeminiに「このPRのセキュリティ問題は何ですか?」と尋ねると、エージェントがMCPを介してSonarQubeに問い合わせ、回答に指摘事項を含めます。
  • IDE統合アシスタンス – SonarLint/IDEプラグインはMCPサーバーを呼び出して、その場の提案のためのより豊かなコンテキストを取得できます。
  • CI/CDパイプライン – Copilot対応パイプラインのステップとしてMCPサーバーを追加し、ビルドログにSonarQubeの指摘事項を自動的に表示します。

次はどこへ?

  • SonarQubeの製品ドキュメント全文を読む: https://www.sonarsource.com/products/sonarqube/。
  • MCPプロトコルの仕様を調べる(SonarSourceドキュメントで「Model Context Protocol」を検索)と、リクエスト/レスポンス形式を理解できます。
  • カスタム動作が必要な場合(特定のルールタイプのフィルタリングなど)、リポジトリをフォークしてサーバーコードを変更します – CIバッジが現在のビルド状態を示します。

TL;DR – SonarQube MCP Serverは、LLM搭載のコーディングアシスタントがSonarQubeに最新の品質とセキュリティ解析を問い合わせることができる、薄いDockerベースのブリッジです。設定ジェネレータでセットアップし、コンテナを実行し、JSONスニペットをエージェントに追加するだけで、AI駆動ワークフロー内で信頼性の高い静的解析データを利用できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト