Connections & Capabilities
Connects To
Capabilities
Quickstart
Install
pip install jvm-mcp-serverConfig
{
"mcpServers": {
"jvm-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/jvm-mcp-server",
"run",
"--env-file",
"/path/to/jvm-mcp-server/.env",
"jvm-mcp-server"
]
}
}
}Exposed MCP Tools (15)
list_java_processesLists all running Java processes on the system.
Read-only operation; no side effects.
get_thread_infoRetrieves information about threads in a specific Java process.
Read-only operation; no side effects.
get_jvm_infoGets basic information about the JVM.
Read-only operation; no side effects.
get_memory_infoRetrieves memory usage information for a Java process.
Read-only operation; no side effects.
get_stack_traceGets the stack trace of a thread in a Java process.
Read-only operation; no side effects.
get_class_infoRetrieves detailed information about a specific Java class.
Read-only operation; no side effects.
get_stack_trace_by_methodGets the method call path for a specific method.
Read-only operation; no side effects.
decompile_classDecompiles the source code of a Java class.
Read-only operation; no side effects.
search_methodSearches for methods within Java classes.
Read-only operation; no side effects.
watch_methodMonitors invocations of a specific method.
Could potentially impact performance due to monitoring overhead.
get_logger_infoGets information about the logger configuration.
Read-only operation; no side effects.
set_logger_levelSets the logging level for a specific logger.
Modifying logger levels can impact application behavior and log volume.
get_dashboardRetrieves a system resource dashboard.
Read-only operation; no side effects.
get_jcmd_outputExecutes a JDK jcmd command.
jcmd commands can potentially modify JVM state or trigger actions with side effects.
get_jstat_outputExecutes a JDK jstat command.
jstat commands are generally read-only and provide JVM statistics.
Safety Assessment
This server provides valuable JVM monitoring capabilities, but the ability to execute commands on the target system introduces risks. It is relatively safe for read-only monitoring, but caution is advised when using tools that modify system settings or execute commands, especially in remote environments. Secure SSH configuration is crucial for remote monitoring.
- Uses only JDK certified tools and commands
- Non-intrusive monitoring without application modification
- Supports remote monitoring via SSH, adding a layer of network security
- Relies on standard JDK tools, reducing the risk of unknown vulnerabilities
- Provides both local and remote JVM monitoring capabilities
- Executes commands on the target system, potentially leading to resource exhaustion or denial-of-service
- Remote monitoring requires SSH access, which can be a security risk if not properly configured
- Some tools allow setting logger levels, which could be abused to flood logs or suppress important messages
- Lack of built-in sandboxing for command execution
- Environment variable based authentication
