コンテンツにスキップ

MCPサーバー

jvmguardにはMCPサーバーが含まれており、監視データと診断アクションを、Claude Code、Codex、Antigravity、OpenCode、CursorなどのMCP互換のAIコーディングアシスタントに公開します。アシスタントはModel Context Protocolで接続し、監視対象のフリートの一覧取得、テレメトリとトランザクションデータの読み取り、診断キャプチャのトリガーを行うツールを呼び出します。

MCPサーバーは、Webサーバーと同じポートの/mcpパスで提供され、同じプロトコル(HTTPまたはHTTPS)を使用します。トランスポートにはstreamable HTTPを使用します。

MCPサーバーはconfig/application.yamlmcpEnabledプロパティで制御され、デフォルト設定では有効になっています。falseに設定するとエンドポイントを無効にできます。サーバープロパティの完全な一覧については、サーバー設定を参照してください。

MCPサーバーへのアクセスはBearerトークンで保護されています。トークンはjvmguard UIで生成するAPIキーで、RESTエクスポートAPIが使用するものと同じキーです。アシスタントはこれをHTTP Authorizationヘッダーで送信します。

Authorization: Bearer <API_KEY>

APIキーは「外部アクセス」ページで作成します。このページには、jvmguard UI上部のユーザードロップダウンから「アカウント設定」を開いて移動します。生成されたキーは一度だけ表示されます。保存すると、新しいキーが有効になり、以前のキーは無効になります。

キーを所有するユーザーのアクセスレベルが、アシスタントにできることを決定します。データの読み取りは、APIキーを持つすべてのユーザーが利用できます。ヒープダンプや記録など、VMに作用する診断ツールにはプロファイラーのアクセス権が必要です。

キーはBearerトークンとして送信されるため、HTTPSを使用している場合にのみ転送中に暗号化されます。ネットワーク経由で接続するアシスタントにはHTTPSを使用してください。

アクセスレベルに加えて、アシスタントに許可する操作は2か所でさらに制限できます。サーバー全体の設定は一般設定の「ネットワーク」タブにあり、MCP読み取り専用モードとIP許可リストがあります。個々のキャプチャと変更操作に対するVMグループごとの切り替えと制限は、記録設定のエージェントガードレールで利用できるため、「プロファイラー」は自分のグループに対してこれらを管理できます。ガードレール違反が呼び出しをブロックすると、アシスタントは理由を説明するメッセージを受け取り、それに応じて調整できます。

jvmguard UIの「外部アクセス」ページには、統合ヘルパーがあります。アシスタントを選択すると、コマンドまたは設定スニペットが表示され、キーが表示されている間はキーが埋め込まれた状態になります。

手動でセットアップする場合は、streamable HTTPトランスポート、エンドポイントURL、認可ヘッダーを指定してリモートMCPサーバーを登録します。例えば、Claude CodeのコマンドラインでWebサーバーポートが8020の場合は次のようになります。

claude mcp add --transport http jvmguard http://localhost:8020/mcp\
--header "Authorization: Bearer <API_KEY>"

設定ファイルを読み込むアシスタントの場合は、エンドポイントURLと、同じBearerトークンを持つAuthorizationヘッダーを使用します。

アシスタントは接続時に利用可能なツールを検出します。監視対象のグループとVMの一覧取得、コールツリー、ホットスポット、期限超過トランザクションなどのテレメトリとトランザクションデータの読み取り、MBeanとログファイルの検査、トリガー受信トレイの読み取りができます。

また、ヒープダンプ、スレッドダンプ、JFRまたはJProfilerの記録など、VM上で診断をキャプチャすることもできます。MBeanの読み取りに加えて、書き込み可能なMBean属性の設定やMBeanオペレーションの呼び出しもできます。

さらに、VMグループの記録設定をJSON文字列として読み取り、編集後に書き戻すこともできます。読み取り結果には、フィールド、列挙型、ポリモーフィック型を説明する生成されたスキーマと、完全に記述された設定例が含まれます。これらの変更を行うツールにはプロファイラーのアクセス権が必要で、キャプチャツールはさらに結果をスナップショットファイルのリストに保存します。

キャプチャしたアーティファクトの分析

Section titled “キャプチャしたアーティファクトの分析”

アシスタントはキャプチャしたアーティファクトをダウンロードし、分析のために別のツールに渡すことができます。メモリスナップショット、JProfilerスナップショット、JFR記録などのバイナリアーティファクトはダウンロードリンクとして返され、アシスタントはそれをローカルファイルに取得します。

ファイルがローカルに取得できたら、アシスタントはその形式を理解するツールで分析します。JProfiler CPUスナップショットはJProfiler MCPサーバーを通じて開くことができ、アシスタントはそのコールツリー、ホットスポット、ヒープ、プローブを調査できます。JFR記録は、JProfilerまたはJDKのJFRツールで読み取れます。