mcpField
J
JVM Diagnostics MCP

JVM Diagnostics MCP

ローカル
github.com/brunoborges開発ツール278 週間前に更新

JVM Diagnostics MCP について

JVM Diagnostics MCPは、JVMのコマンドライン診断機能をMCP経由で提供するサーバーです。jstat、jps、jcmdなどを利用でき、スレッドダンプやヒープダンプも分析できます。現在はstdioでローカル実行します。

主な機能

  1. 01jstatによるメトリクス監視
  2. 02jpsによるプロセス確認
  3. 03jcmdによる診断コマンド実行
  4. 04スレッドダンプとヒープダンプの分析
  5. 05JavaアプリまたはDockerコンテナで実行

活用シーン

  1. 01JVMパフォーマンス指標の確認
  2. 02JVMプロセスの検索と調査
  3. 03JVM診断コマンドの実行
  4. 04スレッドまたはヒープダンプの分析

MCP 対応

MCPを介してJVM診断用のコマンドラインツールを公開し、対応クライアントから実行できます。現在はstdioトランスポートを使い、ローカルでの実行を想定しています。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"java-project-starter": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"JAVA_HOME",
"ghcr.io/brunoborges/jvm-diagnostics-mcp:latest"
],
"env": {
"JAVA_HOME": "<JAVA_HOME>"
}
}
}
}
起動コマンドdocker run -i --rm -e JAVA_HOME ghcr.io/brunoborges/jvm-diagnostics-mcp:latest
設定が必要な環境変数
JAVA_HOME

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

パッケージ
ocighcr.io/brunoborges/jvm-diagnostics-mcp:latest

ツール

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

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

詳細

JVM Diagnostics MCP

これは、jstat、jcmd、jps などのさまざまな JVM 診断ツール(CLI)をラップし、ツールの使い方を改善するプロンプトを追加して公開するMCP サーバーです。

何ができますか?

さまざまな JVM 診断ツールにアクセスできるため、次のようなタスクを実行できます。

  • jstat を使用して JVM のパフォーマンス指標を監視します。
  • jps を使用して JVM プロセスを調査、管理します。
  • jcmd を使用して診断コマンドを実行します。
  • スレッドダンプ、ヒープダンプ、その他の JVM 関連の診断情報を分析します。

安全に使用できますか?

MCP サーバーは LLM によって操作されるため、生成されたコマンドには注意し、検証することをおすすめします。JVM ツールに関する優れたトレーニングデータを備えた Claude 3.7 や GPT-4o など、信頼できる LLM を使用した場合、これまでのところ非常に良好な結果が得られています。

ライセンスをお読みください。そこには「本ソフトウェアは『現状有姿』で提供され、いかなる種類の保証もありません」と記載されています。この MCP サーバーは、ご自身の責任でご使用ください。

セキュリティは確保されていますか?リモートサーバーで実行すべきですか?

簡潔に言えば、いいえです。

この MCP サーバーはユーザーに代わって JVM 診断コマンドを実行するため、攻撃者に悪用されて他のコマンドを実行される可能性があります。現時点での多くの MCP サーバーと同様に、現在の実装は stdio トランスポートでのみ動作します。これは、ユーザーが自分で操作するのと同じように、ローカルマシン上で JVM ツールを使って実行することを想定しています。

将来的には、この MCP サーバーが http トランスポートとトークンベースの認証をサポートし、異なるユーザーがリモートで利用できるようになる可能性があります。MCP 仕様と SDK がより安定した段階で検討する予定です。

インストール方法

この MCP サーバーは現在 stdio トランスポートでのみ動作するため、JVM 診断ツールを使ってローカルマシン上で実行してください。

このサーバーは Java アプリケーションとして、または Docker コンテナ内で実行できます。 マシンに Java がインストールされている場合は、最初の方法が最も簡単でしょう。Java がインストールされていない場合や、もう少し安全な方法を使いたい場合は、2 つ目の方法を利用できます。

Java を使ってサーバーをインストール、設定する
  • Java 17 以降がインストールされていることを確認してください。ターミナルで java -version を実行すると確認できます。
  • jstat、jcmd、jps などの JVM 診断ツールが環境で利用できることを確認してください。

バイナリはGitHub のリリースページで入手できます。GitHub CLI を使って最新のバイナリをダウンロードする方法は次のとおりです。

  • 最新のリリースをダウンロードします:gh release download --repo brunoborges/jvm-diagnostics-mcp --pattern='jvm-diagnostics-mcp.jar'

Claude Desktop からサーバーを使用するには、claude_desktop_config.json ファイルにサーバーを追加します。jvm-diagnostics-mcp.jar ファイルをダウンロードした場所を指定してください。

{
    "mcpServers": {
        "jvm-diagnostics": {
            "command": "java",
            "args": [
                "-jar",
              "~/Downloads/jvm-diagnostics-mcp.jar"
            ]
        }
    }
}

VS Code Insiders からサーバーを使用する場合は、次の手順で設定します。

  • GitHub Copilot をインストールします
  • コマンドパレットから MCP: Add Server... を実行して、この MCP サーバーをインストールします
  • チャットウィンドウ下部の矢印をクリックし、GitHub Copilot が Agent モードで実行されるように設定します
  • チャットウィンドウの上部に、ツールとして設定された jvm-diagnostics-mcp サーバーが表示されます
Docker を使ってサーバーをインストール、設定する

Claude Desktop からサーバーを使用するには、claude_desktop_config.json ファイルにサーバーを追加します。JAVA_HOME 環境変数には、Java のインストール先を設定してください。

{
  "mcpServers": {
    "jvm-diagnostics": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "JAVA_HOME",
        "ghcr.io/brunoborges/jvm-diagnostics-mcp:latest"
      ],
      "env": {
        "JAVA_HOME": "/path/to/java/home"
      }
    }
  }
}

VS Code Insiders からサーバーを使用する場合は、次の手順で設定します。

  • GitHub Copilot をインストールします
  • コマンドパレットから MCP: Add Server... を実行して、この MCP サーバーをインストールします
  • チャットウィンドウ下部の矢印をクリックし、GitHub Copilot が Agent モードで実行されるように設定します
  • チャットウィンドウの上部に、ツールとして設定された jvm-diagnostics-mcp サーバーが表示されます

コメント

MCP は初めてですか?

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

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