Skip to main content
Glama

MCP-сервер JProfiler

JProfiler — это Java-профилировщик с интеграцией AI-агента через Model Context Protocol. Профилируйте «горячие точки» CPU, выделение памяти, JDBC-запросы, HTTP-вызовы и многое другое прямо из вашего AI-помощника по программированию.

Установка

Claude Code

claude mcp add jprofiler -- npx -y @ej-technologies/jprofiler-mcp

Cursor

Доступен в cursor.directory.

Установить MCP-сервер

Codex

codex mcp add jprofiler -- npx -y @ej-technologies/jprofiler-mcp

Gemini CLI

gemini mcp add jprofiler npx -y @ej-technologies/jprofiler-mcp@latest

Другие MCP-клиенты

Используйте следующую команду npx в качестве команды MCP-сервера в конфигурации вашего клиента:

npx -y @ej-technologies/jprofiler-mcp@latest

Для клиентов, использующих JSON-файл конфигурации (Claude Desktop, Windsurf, VS Code и т. д.):

{
  "mcpServers": {
    "jprofiler": {
      "command": "npx",
      "args": ["-y", "@ej-technologies/jprofiler-mcp"]
    }
  }
}

Дополнительные аргументы

  • --filter <patterns> — список шаблонов имен инструментов через запятую для включения

  • --subsystems <list> — список подсистем через запятую для включения

  • --max-depth <n> — максимальная глубина развертывания дерева вызовов

Related MCP server: Github MCP Server Java

Лицензия

Для JProfiler требуется лицензия. При первом использовании вы можете начать бесплатную 10-дневную пробную версию или ввести существующий лицензионный ключ. Приобрести можно на сайте https://www.ej-technologies.com/store/jprofiler.

Условия лицензии: https://www.ej-technologies.com/jprofiler/license

Available Tools

3 tools
create_heap_dumpA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pidNoThe 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.
containerNameOrIdNoThe name or ID of a Docker container. When specified, profiling attaches to a JVM inside this container.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses that the tool performs both dumping and loading, and references a multi-step process. However, it does not mention potential side effects (e.g., disk usage, file creation) or prerequisites (e.g., permissions).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences, no fluff, front-loaded with the main action, and logically structured around the workflow. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains the tool's role in a larger workflow and references sibling tools. It could be more complete by describing return values or error conditions, but the provided context is sufficient for an agent to understand its usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already well-documented. The description adds context by mentioning list_jvms for discovery and the default behavior when containerNameOrId is specified but pid is omitted, but this information is already in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'dumps the heap' to an HPROF file and loads it for analysis. It specifies the resource (JVM heap) and action (dump and load), and distinguishes from siblings by outlining the specific workflow involving check_status and get_heap_data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear workflow: call create_heap_dump, then check_status, then get_heap_data. It also suggests using list_jvms to discover JVMs. However, it does not explicitly state when not to use this tool or mention alternatives beyond the given workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_jvmsA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
containerNameOrIdNoOptionally specify the name or ID of a Docker container.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains what is returned and where it looks, but does not disclose side effects, permissions, or whether the operation is safe to repeat. It vaguely describes query behavior without explicit reassurance of non-destructiveness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. The first sentence states the core purpose; the second gives usage guidance. It is efficiently front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description covers return contents (command line and PID). It could be improved by specifying the output format (e.g., array of objects). Still, it's complete enough for a simple list tool that feeds into other tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the one optional parameter. The description adds value by explaining the parameter's role in filtering to Docker containers, and implicitly that absence means local JVMs. This goes beyond the schema's terse description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists locally running JVMs or those in Docker containers, providing command line and PID. It uses specific verbs and resources, and distinguishes from sibling tools like attach and create_heap_dump which are actions to take after listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use the information to call attach or create_heap_dump,' providing clear context for when to use this tool. However, it does not mention when not to use it or other alternatives, which would be helpful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_profilingA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
delayNoAn optional recording delay in seconds measured from the jvm start.
maximumDurationNoAn 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'.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It explains that the tool returns a 'jvmParameter' and mentions automatic recording saving. Does not mention destructive actions or auth, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Multiple sentences but each adds essential information. Front-loaded with purpose. Could be slightly tighter but still efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description clearly states the return value (JSON with 'jvmParameter'). Covers prerequisite actions and subsequent steps. Complete for a tool with 2 optional parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds value by explaining the optional delay and maximumDuration parameters with clear behavior (delay from JVM start, max duration vs termination/stopRecording).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it prepares a profiling session by retrieving a JVM parameter for specific subsystems (cpu, jdbc, etc.). Distinguishes from sibling tools like create_heap_dump and list_jvms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides step-by-step instructions: retrieve parameter, add to Java process, run, then call check_status. Explicitly tells what not to do (do not create/modify files, do not load snapshot file).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv16.2.0
    • Removedattach
    • Removedcheck_status
    • Removedexpand_performance_hotspot
    • Removedget_heap_data
    • Removedget_performance_hotspots
    • Removedload_snapshot
  2. 9 tool updatesv16.1.9
    • Changedattach2 fields changed
      • removedInput schema / $defs
        Removed value: -{}
      • removedInput schema / definitions
        Removed value: -{}
    • Changedcheck_status2 fields changed
      • removedInput schema / $defs
        Removed value: -{}
      • removedInput schema / definitions
        Removed value: -{}
    • Changedcreate_heap_dump2 fields changed
      • removedInput schema / $defs
        Removed value: -{}
      • removedInput schema / definitions
        Removed value: -{}
    • Changedexpand_performance_hotspot2 fields changed
      • removedInput schema / $defs
        Removed value: -{}
      • removedInput schema / definitions
        Removed value: -{}
    • Changedget_heap_data2 fields changed
      • removedInput schema / $defs
        Removed value: -{}
      • removedInput schema / definitions
        Removed value: -{}
    • Changedget_performance_hotspots2 fields changed
      • removedInput schema / $defs
        Removed value: -{}
      • removedInput schema / definitions
        Removed value: -{}
    • Changedlist_jvms2 fields changed
      • removedInput schema / $defs
        Removed value: -{}
      • removedInput schema / definitions
        Removed value: -{}
    • Changedload_snapshot2 fields changed
      • removedInput schema / $defs
        Removed value: -{}
      • removedInput schema / definitions
        Removed value: -{}
    • Changedprepare_profiling2 fields changed
      • removedInput schema / $defs
        Removed value: -{}
      • removedInput schema / definitions
        Removed value: -{}
  3. 9 tool updatesv0.1.0
    • First observedattach
    • First observedcheck_status
    • First observedcreate_heap_dump
    • First observedexpand_performance_hotspot
    • First observedget_heap_data
    • First observedget_performance_hotspots
    • First observedlist_jvms
    • First observedload_snapshot
    • First observedprepare_profiling

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a distinct task: discovering JVMs, creating heap dumps, and preparing profiling sessions. No overlap in purpose.

Naming Consistency5/5

All three tools follow a consistent verb_noun pattern: list_jvms, create_heap_dump, prepare_profiling.

Tool Count4/5

Three tools is minimalist but covers the core tasks of discovery, heap dumping, and profiling. Could benefit from an attach tool, but still reasonable.

Completeness2/5

Critical missing tools: check_status and get_heap_data are referenced in descriptions but not provided, creating dead ends in the workflow.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Сonnects to live JVMs via JDWP protocol, enabling LLM agents to autonomously debug Java applications — attach to a running process, pause threads, set breakpoints (including conditional), inspect stacks with auto-resolved object fields, evaluate methods, set variable values, and diagnose issues like deadlocks and hung queries.
    28
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for profiling Java applications via JDK utilities (jcmd, jfr, jps). Enables AI assistants to diagnose performance, analyze threads, and inspect JFR recordings without manual CLI usage.
    26
    64
    10
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ej-technologies/jprofiler-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server