mcpField
S
SonarQube

SonarQube

ローカル
github.com/dhanush-dev01開発ツール180 週間前に更新

SonarQube について

SonarQube MCP ServerはAIエージェントをSonarQube APIに接続し、コード品質の監視と分析を支援します。プロジェクトの問題や指標の取得に加え、接続とトークンも確認できます。

主な機能

  1. 01サーバーの状態と接続の確認
  2. 02認証トークンの検証
  3. 03未解決のプロジェクト課題の取得
  4. 04アクセス可能なプロジェクトの一覧表示
  5. 05品質・セキュリティ指標の取得

活用シーン

  1. 01未解決のバグや脆弱性の確認
  2. 02カバレッジと重複コード指標の追跡
  3. 03SonarQubeのアクセスとトークンの確認

MCP 対応

MCPクライアント向けに、SonarQubeの状態確認、認証、プロジェクト課題・一覧・指標の取得ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"sonarqube_MCP": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SONARQUBE_URL",
"-e",
"SONARQUBE_TOKEN",
"-e",
"PROJECT_KEY",
"dhanushhypervisor/sonarqube_mcp_server"
],
"env": {
"SONARQUBE_URL": "<SONARQUBE_URL>",
"SONARQUBE_TOKEN": "<SONARQUBE_TOKEN>",
"PROJECT_KEY": "<PROJECT_KEY>"
}
}
}
}
起動コマンドdocker run -i --rm -e SONARQUBE_URL -e SONARQUBE_TOKEN -e PROJECT_KEY dhanushhypervisor/sonarqube_mcp_server
設定が必要な環境変数
SONARQUBE_URL
SONARQUBE_TOKENシークレット
PROJECT_KEYシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocidhanushhypervisor/sonarqube_mcp_server

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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

使用方法

  1. 環境変数を設定します
  2. 要件をインストールします
  3. Python を使用してサーバーを実行します

サーバーが起動し、SonarQube インスタンスと連携するための MCP 準拠エンドポイントを提供します。

Docker の使用方法

セキュリティに関する注意

セキュリティ上の理由から、SONARQUBE_TOKEN や PROJECT_KEY などの機密性の高い環境変数を Dockerfile に保存しないでください。代わりに、実行時に環境変数または環境ファイルを使用して渡してください。

イメージのビルド

Docker イメージをビルドするには:

docker build -t sonarqube-mcp .
💡 このツールを VS Code と連携して、よりスマートに使う方法
  • VS Code の設定を開きます alt text

  • 検索バーに mcp と入力します alt text

  • 「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 サーバーの URL
  • SONARQUBE_TOKEN:SonarQube 認証トークン
  • PROJECT_KEY:分析するデフォルトのプロジェクトキー

サーバーは Python 3.10 で動作し、依存関係の管理と実行には uv パッケージマネージャーを使用します。

エラー処理

サーバーには、以下に対する包括的なエラー処理が含まれています:

  • 接続の問題
  • 認証の失敗
  • 権限の問題
  • 無効なプロジェクトキー
  • 一般的な API エラー

各エンドポイントは、問題の診断に役立つ詳細なエラーメッセージを返します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。