概要
AIにSonarQubeを読み取らせましょう。プロジェクト、クオリティゲートのステータス、カバレッジなどのメジャーとその履歴、重大度とソフトウェア品質別の未解決の課題、解析とブランチを扱えます。SonarQube ServerでもSonarQube Cloudでも利用でき、ユーザートークンによる読み取り専用です。
ガイド付きセットアップ
SonarQube を Cursor に 2 分で接続
AnythingMCP Cloud の無料トライアルを始め、ガイド付きセットアップで SonarQube を接続して、MCP URL を Cursor に追加します。コードもサーバーの運用も不要です。
クレジットカード不要 · 7日間の試用 · セルフホストの選択肢あり
こう聞いてみよう
SonarQube のサンプルプロンプト
プロンプトをクリックでコピー。Claude / ChatGPT / Cursor / Gemini / Copilot / OpenClaw に貼り付けて、このコネクターで実行できます。
Claude は AI のため誤ることがあります。回答をご確認ください。
💡 インストール不要です。cloud.anythingmcp.com をそのままご利用ください。 サインインして Connectors → SonarQube をクリックし、認証情報を貼り付けて MCP APIキーを発行すれば完了です。Docker も
git cloneもローカルサーバーも不要です。
SonarQube + Cursor
AIにSonarQubeを読み取らせましょう。プロジェクト、クオリティゲートのステータス、カバレッジなどのメジャーとその履歴、重大度とソフトウェア品質別の未解決の課題、解析とブランチを扱えます。SonarQube ServerでもSonarQube Cloudでも利用でき、ユーザートークンによる読み取り専用です。
前提条件
コネクターに組み込まれているセットアップ手順の全文をご覧ください(アプリ内ストアでコネクターを選択すると表示されます)。このコネクターに必要な環境変数は次のとおりです。
SONARQUBE_URL, SONARQUBE_TOKEN
ステップ1 — 認証情報を取得する
セットアップには約3分かかります。SonarQube Server(無料のCommunity Buildで動作します)または解析済みプロジェクトが1つ以上あるSonarQube Cloudアカウントと、ユーザートークンが必要です。
SONARQUBE_URLを設定します。/apiや末尾のスラッシュは付けません。EUリージョンのSonarQube Cloudならhttps://sonarcloud.io、USリージョンのSonarQube Cloudならhttps://sonarqube.us、SonarQube Serverならブラウザで開くときのアドレスを、コンテキストパスがあればそれも含めて指定します(例:https://sonar.example.comやhttps://example.com/sonarqube)。- ユーザートークンを作成し、Bearerという語を付けずに
SONARQUBE_TOKENに貼り付けます。Serverの場合: アバター → My Account → Security で、タイプ User のトークンを生成します。Cloudの場合: アバター → My Account → Access tokens → Personal Tokens でトークンを生成します。プロジェクト用およびグローバルの解析トークンはスキャンの実行用であり、Web APIでは使えません。 - SonarQube Cloudでは、
SONARQUBE_ORGANIZATIONに組織キーを設定します。組織キーはURLsonarcloud.io/organizations/<key>に表示されます。Cloudではプロジェクトの一覧取得と課題の検索にこの値が必要です。Serverでは空のままにします。 - コネクターをインストールして
sonarqube_list_projectsを実行します。トークンで閲覧できるプロジェクトと、他のツールが受け取るプロジェクトキーが一覧表示されます。
読み取れる内容: プロジェクトがクオリティゲートに合格したかどうか(OKまたはERROR、不合格の各条件を含む)、coverage、duplicated_lines_density、ncloc、software_quality_* の課題数などの現在のメジャー、そのメジャーが解析ごとにどう変化したか、ソフトウェア品質(SECURITY、RELIABILITY、MAINTAINABILITY)・重大度・ステータスで絞り込んだ課題、イベント付きのプロジェクトの解析、最後の解析とゲートのステータス付きのブランチです。7つのツールはすべて読み取り専用で、AIが参照できるプロジェクトはトークンによって決まります。
プロジェクトとブランチ: ツールが受け取るのは表示名ではなくプロジェクトキーです(例: payments-api、Cloudでは my-org_payments-api)。branch や pullRequest を指定しない場合はメインブランチを読み取ります。Community Buildで解析されるのはメインブランチのみです。
プライベートネットワーク: セルフホストのAnythingMCPで、内部ホストやプライベートIP上のSonarQube Serverを使う場合は、そのホストを SSRF_ALLOWED_HOSTS に追加する必要があります。追加しないと、送信ガードが呼び出しを拒否します。AnythingMCP Cloudが接続できるのは、SonarQube Cloud、またはパブリックインターネットから到達可能なSonarQube Serverのみです。
制限: 一覧系のツールは1ページあたり最大500件を返します(sonarqube_get_measures_history は1,000件)。課題の検索は合計で最大10,000件までしか返さないため、ページを進めるのではなくフィルターを絞り込んでください。SonarQube Cloudは、トークンから送信されるリクエストが多すぎると429を返します。数分待ってから再試行してください。SonarQube Serverにはデフォルトでレート制限がありません。
よくあるエラー: 401は、トークンが間違っている、期限切れ、失効している、またはユーザートークンではなく解析トークンであることを意味します。403は、トークンのユーザーにプロジェクトの Browse 権限がないことを意味します。404は、プロジェクトキー、ブランチ、プルリクエストが存在しないか、SONARQUBE_URL が間違っていることを意味します。400は、不足している、または無効なパラメーターを示します。たとえばCloudで組織が指定されていない場合です。
このコネクターはSonarQube上の何も変更しません(課題の遷移、担当者の割り当て、コメントの追加、クオリティゲート・クオリティプロファイル・プロジェクト・トークンの変更はできません)。また、セキュリティホットスポット、ポートフォリオとアプリケーション、Web API v2、管理およびシステムのエンドポイント、新規コードのみを対象とした課題フィルターには対応していません。
ステップ2 — アダプターをインストールする
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
ステップ3 — Cursorにコネクターを追加する
サーバーURL: AnythingMCP で MCP Servers を開き、このコネクタがあるサーバーを選んで URL(
https://cloud.anythingmcp.com/mcp/…)をコピーします。このガイドでYOUR_SERVER_IDと表示されている箇所に使ってください。
Cursor は ~/.cursor/mcp.json から MCP サーバーを読み込みます。次のエントリを追加してください:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- AnythingMCP の MCP Servers → 対象のサーバー → API keys で MCP API キーを作成し、
YOUR_MCP_API_KEYと置き換えます。 - ファイルを保存し、Cursor を再起動します。
- Cursor → Settings → MCP を開き、
anythingmcpが一覧にあり接続済みであることを確認します。 - チャットを始めましょう — エージェントが
SonarQubeのツールを呼び出せるようになりました。
利用可能なツール
| ツール | 機能 |
|---|---|
sonarqube_list_projects | トークンで閲覧できるSonarQubeプロジェクトを、キーと名前とともに一覧表示します |
sonarqube_get_quality_gate_status | プロジェクトがクオリティゲートに合格したかどうかを読み取ります。全体のステータス(OKまたはERROR)と、各条件のメトリクス、しきい値、実測値を取得します… |
sonarqube_get_measures | プロジェクトの1つ以上のメトリクス(coverage、duplicated_lines_density、nclocなど)の現在の値を読み取ります… |
sonarqube_get_measures_history | プロジェクトのメトリクスが時間とともにどう変化したかを読み取ります。解析ごとに1つの値と、その日付を取得します |
sonarqube_search_issues | 1つ以上のプロジェクトの課題を検索します。ルール、メッセージ、ファイルと行、影響(ソフトウェア品質と重大度)、ステータス、担当者、作成日時を取得します… |
sonarqube_list_project_analyses | プロジェクトの解析を新しい順に、日付、バージョン、クオリティゲートの変更や新バージョンなどのイベントとともに一覧表示します |
sonarqube_list_branches | プロジェクトのブランチを、種類、メインブランチかどうか、最後の解析の日付、クオリティゲートのステータスとともに一覧表示します |
FAQ
Cursor の無料プランでカスタム MCP サーバーは使えますか? はい — MCP は Hobby、Pro、Business の各プランで利用できます。
次のステップ
このガイドは役に立ちましたか?