Spring Boot Runtime Diagnostics について
Spring Boot Runtime Diagnosticsは、稼働中のSpring Bootアプリケーションから、許可されたActuatorとOpenAPIのデータを調べる読み取り専用MCPサーバーです。開発者やコーディングエージェントがBean、ルート、ヘルス、マイグレーション、設定元、起動状況を調査でき、不足する証拠は部分的または不明として示します。
主な機能
- 01Beanの依存関係と条件レポート
- 02登録ルートとコントローラーマッピング
- 03ヘルスとレディネスの状態
- 04FlywayとLiquibaseのマイグレーション記録
- 05起動ステップと設定元
活用シーン
- 01Spring Beanが作成されない理由の調査
- 02業務エンドポイントを呼ばずにルートを確認
- 03異常コンポーネントや失敗したマイグレーションの確認
- 04起動遅延とプロパティの出所の調査
MCP 対応
許可されたActuatorエンドポイントと`/actuator/openapi`を読み取り、MCPクライアントに診断ツールを提供します。読み取り専用で、ループバックアドレスへの接続に限定されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| cursor | string | いいえ | |
| maxDepth | integer | いいえ | |
| targetId | string | いいえ | |
| maxResults | integer | いいえ | |
| minDurationMs | number | いいえ | |
| beanNamePattern | string | いいえ | 範囲制限付きの大文字小文字を区別する glob です。ワイルドカードは * と ? のみで、その他の許可文字はすべてリテラルとして扱います。正規表現は使用できません。 |
| stepNamePattern | string | いいえ | 範囲制限付きの大文字小文字を区別する glob です。ワイルドカードは * と ? のみで、その他の許可文字はすべてリテラルとして扱います。正規表現は使用できません。 |
詳細
Spring Boot Runtime Diagnostics MCP
実際に実行中の Spring Boot アプリケーションの情報を、コーディングアシスタントから利用できるようにします。この MCP サーバーは、許可された Actuator と OpenAPI のデータを読み取り、Bean、ルート、ヘルス、データベースのマイグレーション、起動時の問題の調査を支援します。
何を確認できますか?
| 質問 | 提供される情報 |
|---|---|
| Bean が作成されなかったのはなぜですか? | Bean、依存関係、条件レポート。証拠が十分な場合は、阻害要因の連鎖も表示します |
| このルートは登録されていますか? | 実際のパス、HTTP メソッド、Controller、MVC/WebFlux のマッピング |
| 何が異常ですか? | 表示可能なコンポーネントと、ライブネス/レディネスの状態 |
| マイグレーションは失敗しましたか? | 報告された Flyway/Liquibase の記録、状態、チェックサム |
| 起動が遅かった原因は何ですか? | 時間のかかったステップと、その親の連鎖 |
| 設定値の取得元はどこですか? | 登録されたプロパティの取得元。設定の診断にはオプトインが必要です |
| この API は OpenAPI に含まれていますか? | ドキュメント内の操作、スキーマ、参照 |
| プロセスは期待どおりですか? | 指定した Bean、ルート、マイグレーションのバージョン、プロファイルの期待値との比較 |
たとえば、「GET /orders/{id} が登録されているか確認し、どの Controller が処理するか教えてください」と質問できます。サーバーはマッピングのメタデータを読み取り、ビジネスエンドポイントは呼び出しません。
はじめに
Python 3.11 以降、uv、および認証済みのローカル Spring Boot アプリケーションが必要です。対象アプリケーションのセットアップガイドを参照して管理エンドポイントと権限を確認し、0.2.12 Alpha をチェックして起動してください。
uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.12 --version
uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.12 --base-url http://127.0.0.1:18081
2 つ目のコマンドを MCP クライアントの STDIO サーバーコマンドとして使用します。ターミナルでは、クライアントからのリクエストを待ち受けます。英語版の最初のクエリガイドに従ってください。ほかのクライアントについては、追加のクライアント設定テンプレートを参照してください。
アプリケーションを準備せずに、公開パッケージを使って合成ルートのデモを試し、最初のクエリに関するフィードバックを共有してください。このリプレイでは Spring プロセスは不要で、実行中のアプリケーションやクライアントとの互換性を確認するものではありません。
制限事項
サーバーはループバックアドレスにのみ接続し、固定エンドポイントを使用します。また、名前付き環境変数からのオプションの Bearer 認証をサポートします。OpenAPI には /actuator/openapi を使用します。設定の診断はデフォルトで無効になっており、CLI フラグ(--config-prefix、--config-property、--config-profiles)による明示的なオプトインが必要です。有効にした場合も、--config-allow-values とツールの includeValues=true の両方が設定されていない限り、値は非表示のままです。出力はサニタイズされ、各ツールの応答は 16 KiB に制限されます。証拠が不足している場合は、partial/unknown として報告されます。
ツールは対象への書き込み、アプリケーションの再起動、ヒープダンプや生ログの読み取りを行いません。Boot/Java/クライアントの全組み合わせ、Windows/macOS、本番クラスターとの互換性は、まだ検証されていません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。