Jolokia MCP Server

by tadayosi

16 stars
302 downloads
Not rated
GitHub

About

Let LLMs manage your Java application via JMX/Jolokia 🌶️

Details

Author
tadayosi
GitHub stars
16
Downloads
302
Categories
Other, AI

- List all MBeans registered in the connected JVM
- List operations and attributes for a given MBean
- Read and write MBean attributes
- Execute MBean operations with arguments
- Two deployment options: Standalone and JVM Agent

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Jolokia MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

You can use either the Standalone or JVM Agent distribution. For the Standalone server, download the runner jar and register it in your MCP host settings using java -jar or JBang. For the JVM Agent, download the javaagent jar and start your Java application with the -javaagent flag, which opens an MCP HTTP server at http://localhost:8779/mcp by default. When running the Standalone server, you can optionally pass a Jolokia URL (default http://localhost:8778/jolokia) as a positional parameter, and use the --sse flag to switch from stdio to HTTP transport.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

McpServers

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

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>

Distributions

Since version 0.4, the Jolokia MCP Server offers two distinct distributions to suit different deployment needs:

- Standalone MCP Server
- JVM Agent MCP Server

Standalone MCP Server

The Standalone MCP Server acts as a conventional MCP server; it is registered to the MCP host with either stdio or HTTP, and the MCP server itself communicates with your Java application, which must have a Jolokia agent attached, via JMX over HTTP.

To use the Standalone MCP Server, you'll first need to attach a Jolokia agent to your Java application. For detailed instructions on how to do this, please refer to the Jolokia manual:
<https://jolokia.org/reference/html/manual/agents.html>

JVM Agent MCP Server

In contrast, the JVM Agent MCP Server provides a streamlined, "drop-in" replacement for the standard Jolokia JVM Agent.

With this distribution, you simply attach the MCP Server's JVM Agent to your application instead of the standard Jolokia JVM Agent. The JVM Agent MCP Server then directly opens an HTTP port for the MCP protocol, effectively transforming your Java application itself into an MCP Server.

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

Standalone

Download the MCP server runner jar:

- jolokia-mcp-server-0.5.1-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.5.1-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.5.1:runner"
      ]
    }
  }
}

JVM Agent

Download the MCP server javaagent jar:

- jolokia-mcp-agent-jvm-0.5.1-javaagent.jar

Then run your Java application with -javaagent option:

java -javaagent:jolokia-mcp-agent-jvm-0.5.1-javaagent.jar -jar your-app.jar

This would open the MCP HTTP transport at <http://localhost:8779/mcp>.

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

{
  "mcpServers": {
    "jolokia": {
      "httpUrl": "http://localhost:8779/mcp"
    }
  }
}

Run

Run it with java -jar:

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

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

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

HTTP Transport

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

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

The HTTP transport endpoint by default launches at <http://localhost:8080/mcp>.

Config Options

| Parameter/Option | Default | Description |
| ---------------- | ------- | ----------- |
| Positional parameter | http://localhost:8778/jolokia | The Jolokia endpoint URL the MCP server connects to |
| --sse | false (stdio) | Enable HTTP transport |
| -D= | | System properties |

The system properties that are relevant to the MCP server:

| System property | Default | Description |
| --------------- | ------- | ----------- |
| quarkus.http.port | 8080 | (SSE) The port for the SSE endpoint |
| quarkus.mcp.server.sse.root-path | mcp | (SSE) The root path for the SSE endpoint (http://localhost:8080/mcp/sse) |
| jolokia.mcp.url | http://localhost:8778/jolokia | Equivalent to the positional parameter |
| jolokia.mcp.preferred-http-method | Not set | Preferred HTTP method for Jolokia requests (GET or POST) |

Build

mvn clean install
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.