jolokia-mcp-server

jolokia-mcp-server

3

Jolokia MCP Server integrates with Jolokia to manage Java applications via JMX API. It provides functionalities like listing and managing MBeans, making it a valuable tool for developers working with Java applications.

Jolokia MCP Server

Test

MCP server for Jolokia, a JMX-HTTP bridge for Java applications. This MCP server enables an LLM to manage a Java application using JMX API via Jolokia.

https://github.com/user-attachments/assets/624ec93b-da69-49b5-be8f-02f2ff14bd2e

Attach Jolokia agent to your Java application

To use this MCP server to operate your Java application with JMX, you need to attach a Jolokia agent to your Java application.

Read the Jolokia manual for how to attach a Jolokia agent to a Java application: https://jolokia.org/reference/html/manual/agents.html

Features

This MCP server connects to a single JVM at startup and provides the following features on the connected JVM:

  • List MBeans from the connected JVM
  • List operations for a MBean
  • List attributes for a MBean
  • Read/write attributes of a MBean
  • Execute operations on a MBean

Tools

This MCP server provides 6 tools.

  • listMBeans
    • List available MBeans from the JVM
    • Output (List<String>): List of all MBean object names in the JVM
  • listMBeanOperations
    • List available operations for a given MBean
    • Inputs:
      • mbean (String): MBean name
    • Output (String): JSON-formatted definitions of all available operations for the given MBean
  • listMBeanAttributes
    • List available attributes for a given MBean
    • Inputs:
      • mbean (String): MBean name
    • Output (String): JSON-formatted definitions of all available attributes for the given MBean
  • readMBeanAttribute
    • Read an attribute from a given MBean
    • Inputs:
      • mbean (String): MBean name
      • attribute (String): Attribute name
    • Output (String): String representation of the given attribute's value or "null"
  • writeMBeanAttribute
    • Set the value to an attribute of a given MBean
    • Inputs:
      • mbean (String): MBean name
      • attribute (String): Attribute name
      • value (Object): Attribute value
    • Output (String): String representation of the given attribute's previous value or "null"
  • executeMBeanOperation
    • Execute an operation on a given MBean
    • Inputs:
      • mbean (String): MBean name
      • operation (String): Operation name
      • args (Object[]): Arguments
    • Output (String): String representation of the return value of the operation or "null"

Install

Download the MCP server runner jar:

To install the Jolokia MCP server to a MCP host, add the following entry to the MCP settings:

{
  "mcpServers": {
    "jolokia": {
      "command": "java",
      "args": [
        "-jar",
        "<path-to-the-runner-jar>/jolokia-mcp-0.3.5-runner.jar"
      ]
    }
  }
}

Or if you prefer using JBang (no need for downloading the jar with this method):

{
  "mcpServers": {
    "jolokia": {
      "command": "jbang",
      "args": [
        "org.jolokia.mcp:jolokia-mcp-server:0.3.5:runner"
      ]
    }
  }
}

Run

Run it with java -jar:

java -jar jolokia-mcp-server-0.3.5-runner.jar [Jolokia URL]

Using JBang, you can directly run it with the Maven GAV (org.jolokia.mcp:jolokia-mcp-server:0.3.5:runner):

jbang org.jolokia.mcp:jolokia-mcp-server:0.3.5:runner

HTTP/SSE Transport

By default, this MCP server runs with stdio transport. To switch it to HTTP/SSE transport, use the --sse option:

java -jar jolokia-mcp-server-0.3.5-runner.jar --sse

The HTTP/SSE transport endpoint by default launches at http://localhost:8080/mcp/sse.

Config Options

Parameter/OptionDefaultDescription
Positional parameterhttp://localhost:8778/jolokiaThe Jolokia endpoint URL the MCP server connects to
--ssefalse (stdio)Enable HTTP/SSE transport
-D*=*System properties

The system properties that are relevant to the MCP server:

System propertyDefaultDescription
quarkus.http.port8080(SSE) The port for the SSE endpoint
quarkus.mcp.server.sse.root-pathmcp(SSE) The root path for the SSE endpoint (http://localhost:8080/mcp/sse)
jolokia.mcp.urlhttp://localhost:8778/jolokiaEquivalent to the positional parameter

Build

mvn clean install