Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

JProfiler

NPM · @EJ-TECHNOLOGIES/JPROFILER-MCP · SCANNED AUG 6

Java profiling with AI agent integration. Profile CPU, memory, JDBC, HTTP and more.

+42 this week 67 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security86
  • No malware found by supply-chain analysis.Pass
  • Known CVEs were checked across the 94 of 98 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Dependency health was assessed across the 94 of 98 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency32
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • License check failed: the license (SEE LICENSE IN https://www.ej-technologies.com/jprofiler/license) isn't a recognized OSI-approved license. See how to fix → Fail
  • Actively maintained (last published 20 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability70
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1339 tokens (~148/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management37
  • Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @ej-technologies/jprofiler-mcp

# add to Claude Code
claude mcp add ej-technologies-jprofiler-mcp -- npx -y @ej-technologies/jprofiler-mcp
# add to Codex CLI
codex mcp add ej-technologies-jprofiler-mcp -- npx -y @ej-technologies/jprofiler-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ej-technologies-jprofiler-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@ej-technologies/jprofiler-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ej-technologies-jprofiler-mcp --command npx --arg -y --arg @ej-technologies/jprofiler-mcp
# ~/.hermes/config.yaml
mcp_servers:
  ej-technologies-jprofiler-mcp:
    command: "npx"
    args: ["-y", "@ej-technologies/jprofiler-mcp"]
// mcp.json
{
  "mcpServers": {
    "ej-technologies-jprofiler-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@ej-technologies/jprofiler-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 6 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes. Other categories moved too: Supply Chain Security fell 1.

  • 4 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes. Other categories moved too: Supply Chain Security rose 1.

  • 2 Aug 26 +46
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • License: unverified → fail functional
    • Stability: unverified → 0.23 functional
    • MCP protocol: unverified → pass functional
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Schema quality: unverified → excellent functional
    • Licence: SEE LICENSE IN https://www.ej-technologies.com/jprofiler/license functional
  • 1 Aug 26 −7
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 +1
    • Malware scan: pass → unverified security
    • Security disclosure: unverified → fail functional
    • Dependency health: partial → unverified functional
    • Tool coverage: unverified → 100 functional
  • 29 Jul 26 −19
    • Tool coverage: 100 → unverified functional
    • Security disclosure: fail → unverified functional
    • Dependency health: unverified → partial functional
  • 28 Jul 26 +20
    • Tool coverage: unverified → 100 functional
    • First check of Tool coverage: 100 functional
    • First check of Schema quality: unverified functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: fail functional
  • 27 Jul 26 24

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 6 Aug 2026 · Analysed npm/@ej-technologies/[email protected]

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm
Dependencies 94 packages
Packages resolved 94
Deprecated 94
Stale 29
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools · 9 exposed · ~1,138 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
attach ~152

Attach to a running JVM by PID or to a JVM inside a Docker container. Records performance data for the following subsystems: cpu, jdbc, jpa, http_server, http_client, mongo_db until check_status is called with 'stopRecording: true'. You can use list_jvms to discover JVMs.

NameTypeReqDescription
containerNameOrIdstringThe name or ID of a Docker container. When specified, profiling attaches to a JVM inside this container.
pidintegerThe PID of a local JVM process, or the container PID (NSpid) of a JVM inside the specified container. If a container is specified and this is omitted, the topmost JVM in the container is used.

No output schema declared.

No examples provided.

check_status ~70

Check the status of a profiling session and discover which subsystems were recorded. Can be used to stop recording. When the data is ready provides information about the recorded subsystems (e.g. cpu, jdbc, http_client).

NameTypeReqDescription
stopRecordingbooleanOptionally request the recording to be stopped now.

No output schema declared.

No examples provided.

create_heap_dump ~157

Dump the heap of a locally running JVM or of a JVM inside a Docker container to an HPROF file and load it for analysis. You must call check_status to check the loading progress and - after this returns 'data_ready' - retrieve data with get_heap_data. You can use list_jvms to discover JVMs.

NameTypeReqDescription
containerNameOrIdstringThe name or ID of a Docker container. When specified, profiling attaches to a JVM inside this container.
pidintegerThe PID of a local JVM process, or the container PID (NSpid) of a JVM inside the specified container. If a container is specified and this is omitted, the topmost JVM in the container is used.

No output schema declared.

No examples provided.

expand_performance_hotspot ~63

Expand a performance hotspot or call tree. Returns a JSON object containing the back trace of a hot spot or the children of the call tree node with the provided id.

NameTypeReqDescription
idintegeryesThe id of the hotspot or call tree node to be expanded

No output schema declared.

No examples provided.

get_heap_data ~127

Retrieve aggregated data of a heap dump. Can show biggest objects, retained class lists, and class histograms.

NameTypeReqDescription
biggestObjectIdintegerIf view is retained_classes, supply the ID of the biggest object from the biggest_objects view.
packageFilterstringOptional comma-separated package filter to focus on classes of interest.
viewstringThe view type: either biggest_objects (the default) to get a list of biggest objects, retained_classes to show a retained class list for a single biggest object, or classes for a class histogram for…

No output schema declared.

No examples provided.

get_performance_hotspots ~177

Retrieve a sorted list of top performance hotspots. Returns a JSON object containing an array of hotspots with timing data and expansion ids. Use expand_performance_hotspot to drill down.

NameTypeReqDescription
packageFilterstringOptional comma-separated package filter to focus on classes of interest.
subsystemstringyesThe subsystem (as provided by check_status, for example cpu or jdbc) to analyze.
viewstringThe view type: either 'hotspots' (the default) to focus on the methods/statements that most time is spent in or 'call_tree' to get a structural view of the time spent.
wallTimebooleanOptional, used for the cpu subsystem only: If true, time spent in all thread states will be used, otherwise only the runnable state is used. Defaults to false.

No output schema declared.

No examples provided.

list_jvms ~62

List locally running JVMs or JVMs running in a Docker container with their command line and PID. Use the information to call attach or create_heap_dump.

NameTypeReqDescription
containerNameOrIdstringOptionally specify the name or ID of a Docker container.

No output schema declared.

No examples provided.

load_snapshot ~127

Load an existing .jps, .hprof, or .jfr file for analysis. You must call check_status to check the loading progress and - after this returns 'data_ready' - retrieve data with the get_* tools. To compare two performance snapshots, load both in a single call: set filePath to the run to analyze and baselineFilePath to the baseline; The get_performance_hotspots tool then report the differences.

NameTypeReqDescription
baselineFilePathstringAn optional baseline snapshot for performance comparisons
filePathstringyesThe absolute path to the snapshot file

No output schema declared.

No examples provided.

prepare_profiling ~203

Prepare a profiling session by retrieving a JVM parameter to be added to a Java process call to record performance data with stack traces for the following subsystems: cpu, jdbc, jpa, http_server, http_client, mongo_db. The result is a JSON object containing a 'jvmParameter' to be added (quoted) to the Java process at startup. Add it verbatim and do not create or modify any files; the configuration is already set up for you. Run the Java process; the recording is saved automatically when the JVM terminates (or after the optional maximum duration). Then call check_status to access the data - do not load the saved snapshot file yourself.

NameTypeReqDescription
delayintegerAn optional recording delay in seconds measured from the jvm start.
maximumDurationintegerAn optional maximum recording duration in seconds. If not specified, data will be saved at JVM termination or when check_status is called with 'stopRecording: true'.

No output schema declared.

No examples provided.