Labsco
MCP SERVER

Profile a running JVM or a snapshot from your coding assistant — CPU hotspots, JDBC and HTTP calls, and heap analysis.

Runtime Debugging & Crash AnalysisVerified
Summary
A commercial profiler's data, shaped so an assistant can follow the trail instead of reading a GUI.

The expansion pattern is what makes it work in a conversation: hotspots come back with ids, and expanding one returns its back trace or children, so the model can walk down a call tree the way a person would click through it. Attaching to a JVM inside a Docker container is supported directly, which is where most of the awkwardness usually is.

What it is

JProfiler's own MCP server. It starts a profiling session, attaches to a live JVM or loads an existing snapshot, and hands the recorded data back as structured hotspots and heap summaries an assistant can drill into — CPU, JDBC, JPA, HTTP server and client, and MongoDB.

What you get
  • prepare_profiling — the JVM parameter to add to a Java process so it records stack traces for the CPU, JDBC, JPA, HTTP server, HTTP client and MongoDB subsystems
  • attach — attach to a running JVM by PID, or one inside a Docker container, and record until you stop it
  • load_snapshot — open an existing .jps, .hprof or .jfr file for analysis
  • check_status — the session's progress, which subsystems were recorded, and the way to stop recording; data is ready when it reports so
  • get_performance_hotspots and expand_performance_hotspot — the top hotspots with timing and expansion ids, then the back trace of one or the children of a call tree node
  • create_heap_dump and get_heap_data — dump a local or containerised JVM's heap to HPROF and load it, then read biggest objects, retained class lists and class histograms
  • list_jvms — the local or containerised JVMs with their command lines and PIDs, which is where attach and create_heap_dump start
Requirements

A JProfiler license — on first use you can start a free 10-day evaluation or enter an existing key. Clients run npx -y @ej-technologies/jprofiler-mcp over stdio. Optional startup arguments narrow what is exposed: --filter takes tool name patterns, --subsystems limits which subsystems are enabled, and --max-depth caps call tree expansion.

Setup effort

One command — npx -y @ej-technologies/jprofiler-mcp