mcp-jvm-diagnostics
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| analyze_thread_dumpA | Parse a JVM thread dump (jstack output) and analyze thread states, detect deadlocks, identify lock contention hotspots, and find thread starvation patterns. Handles both platform threads and virtual threads (Java 21+). Note: deadlock detection covers synchronized monitor locks only — java.util.concurrent.locks.ReentrantLock and other j.u.c lock types do not expose their waiters in thread dump lock info and will not be detected. |
| generate_reportB | Generate an exportable diagnostic report (HTML + PDF) from JVM diagnostic data. Requires a valid Pro license key. |
| analyze_gc_logA | Parse a JVM GC log and analyze garbage collection patterns, pause times, allocation rates, and memory pressure. Supports G1, ZGC, Parallel, Serial, and Shenandoah GC formats. |
| analyze_heap_histoA | Parse jmap -histo output and detect memory leak candidates, object creation hotspots, classloader leaks, and heap composition issues. |
| compare_heap_histosA | Compare two jmap -histo snapshots taken at different times to detect memory growth patterns, leak candidates, and new allocations. Captures what is growing between snapshots. |
| analyze_jfrA | Parse JDK Flight Recorder summary output and analyze event distribution, detect performance hotspots, GC pressure, lock contention, I/O patterns, and excessive allocations. Input must be the text printed to stdout by |
| diagnose_jvmA | Unified JVM diagnosis combining thread dump and GC log analysis with cross-correlation. Detects deadlocks, lock contention, GC pressure, and GC-induced cascading thread blocks. When both inputs are provided from the same time window, cross-correlates high GC overhead with contention and flags long GC pauses causing thread starvation. Either input can be omitted for single-source analysis. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool targets a distinct JVM diagnostic source or operation (JFR, thread dumps, GC logs, heap histograms, comparison, reporting, unified diagnosis), with no functional overlap.
All tools follow a consistent verb_noun pattern in snake_case (e.g., analyze_jfr, generate_report, diagnose_jvm), making the toolset predictable and easy to navigate.
With 7 tools, the server covers the major diagnostic areas (JFR, thread dumps, GC logs, heap histograms, plus comparison and unified analysis) without being bloated or sparse.
The tool surface covers the core diagnostic workflows, but lacks explicit CPU profiling or memory leak tools beyond heap histograms; still, the set is largely complete for general JVM diagnostics.