3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SonarQube MCP Server で利用可能なツール一覧まとめ

3
Last updated at Posted at 2025-12-19

SonarQube MCP Serverは、LLM(大規模言語モデル)がSonarQubeのデータや解析機能にアクセスできるようにするためのModel Context Protocol (MCP) サーバーです。

この記事では、MCPサーバーを通じてAIアシスタントが利用できるツールを、公式ドキュメントに基づきカテゴリ別に網羅してまとめました。

1. コード解析 (Analysis)

コードスニペットやファイルの解析、およびIDE連携の設定を行うツールです。

ツール名 説明 主要な引数
analyze_code_snippet SonarQube解析器を使用して、コードスニペット内の品質やセキュリティの問題を特定します。 codeSnippet (必須), language
analyze_file_list SonarQube for IDEと連携し、指定したファイルのリストを解析します。 file_absolute_paths (必須)
toggle_automatic_analysis SonarQube for IDEの自動解析の有効/無効を切り替えます。 enabled (必須)

2. 依存関係のリスク (Dependency risks)

SCA(ソフトウェア構成分析)に関連する依存関係の問題を検索します。
※SonarQube Server 2025.4 Enterprise版以上かつAdvanced Security有効時のみ利用可能です。

ツール名 説明 主要な引数
search_dependency_risks プロジェクト内の依存関係リスクを検索します。 projectKey, branchKey, pullRequestKey

3. エンタープライズ (Enterprises)

SonarQube Cloud Enterprise版の管理用ツールです。

ツール名 説明 主要な引数
list_enterprises アクセス可能なSonarQube Cloudのエンタープライズを一覧表示します。他のツールで使用するエンタープライズIDの確認に利用します。 enterpriseKey

4. イシュー管理 (Issues)

検出された問題(イシュー)の検索やステータス変更を行います。

ツール名 説明 主要な引数
change_sonar_issue_status イシューのステータスを「承認(accept)」「誤検知(falsepositive)」「再オープン(reopen)」に変更します。 key (必須), status (必須)
search_sonar_issues_in_projects 組織内のプロジェクトからイシューを検索します。 projects, severities, ps

5. プロジェクトとポートフォリオ (Projects & Portfolios)

プロジェクトや組織全体のポートフォリオ情報の取得を行います。

ツール名 説明 主要な引数
search_my_sonarqube_projects アクセス可能なSonarQubeプロジェクトを検索します。 page
list_portfolios エンタープライズ・ポートフォリオを一覧表示します(Server/Cloud両対応)。 enterpriseId, favorite, q

6. クオリティゲート (Quality Gates)

プロジェクトが定義された品質基準を満たしているか確認します。

ツール名 説明 主要な引数
get_project_quality_gate_status 指定したプロジェクトやブランチのクオリティゲートのステータスを取得します。 projectKey, branch, analysisId
list_quality_gates 利用可能なすべてのクオリティゲートを一覧表示します。 なし

7. メトリクスと計測値 (Measures & Metrics)

コードの行数、カバレッジ、複雑度などの統計データを取得します。

ツール名 説明 主要な引数
get_component_measures 特定のコンポーネント(プロジェクト、ディレクトリ、ファイル)の計測値を取得します。 component, metricKeys (ncloc, coverage等)
search_metrics 利用可能なメトリクスの定義を検索します。 p, ps

8. ルールとソースコード (Rules & Sources)

適用されているルールセットの確認や、実際のソースコードの取得を行います。

ツール名 説明 主要な引数
show_rule 特定のSonarQubeルールの詳細情報を表示します。 key (必須)
list_rule_repositories ルールリポジトリを一覧表示します。 language, q
get_raw_source ソースコードをプレーンテキストとして取得します(閲覧権限が必要)。 key (必須), branch
get_scm_info ソースファイルのSCM(Git等)情報を取得します。 key (必須)

9. システム管理 (System)

サーバーの状態確認などを行うためのツールです(主にSonarQube Server用)。

ツール名 説明 主要な引数
get_system_health サーバーの健全性(GREEN, YELLOW, RED)を取得します。 なし
get_system_info システム構成(JVM、DB、設定等)の詳細情報を取得します。 なし
get_system_logs システムログを取得します。 name (access, app, ce等)
get_system_status 稼働状態やバージョンを取得します。 なし
ping_system 疎通確認を行い、"pong"を返します。 なし

10. ウェブフック (Webhooks)

外部連携用のウェブフックの設定を行います。

ツール名 説明 主要な引数
create_webhook 新しいウェブフックを作成します。 name (必須), url (必須), projectKey
list_webhooks 既存のウェブフックを一覧表示します。 projectKey

まとめ

SonarQube MCP Serverを活用することで、AIが直接ソースコードを読み取ったり、品質メトリクスを確認したり、ウェブフックを設定したりすることが可能になります。

特にDependency risksEnterprisesツールは、大規模な組織やセキュリティ重視のプロジェクトにおいて、AIによる自動監査を強力にサポートする機能となります。

詳細な仕様については、公式ドキュメントを併せて参照してください。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?